/* ============================================
   Ouhifashion - WooCommerce Styles
   ============================================ */

/* --- Product Grid / Shop Page --- */
.woocommerce .cart-collaterals .shipping_calculator .col2-set .col-1,.woocommerce .cart-collaterals .shipping_calculator .col2-set .col-2,.woocommerce-page .cart-collaterals .shipping_calculator .col2-set .col-1,.woocommerce-page .cart-collaterals .shipping_calculator .col2-set .col-2 {
     width:100%!important; 
}

.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals {
    float: left;
     width:100%!important; 
}
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	padding: 0;
	margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	padding: 0;
	float: none;
	background: var(--color-white);
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: var(--transition);
	position: relative;
}

.woocommerce ul.products li.product:hover {
	box-shadow: var(--shadow-lg);
	transform: translateY(-4px);
}

/* Product Image */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .woocommerce-product-gallery img {
	margin: 0;
	border-radius: 0;
	width: 100%;
	height: 320px;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.woocommerce ul.products li.product:hover a img {
	transform: scale(1.05);
}

.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
	height: 320px;
	object-fit: cover;
}

/* Product Image Container */
.woocommerce ul.products li.product a:first-child {
	display: block;
	overflow: hidden;
	position: relative;
}

/* Product Info */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
	padding: 16px 16px 4px;
	font-size: var(--font-size-base);
	font-weight: 600;
	color: var(--color-dark);
	text-align: center;
}

/* Product Price */
.woocommerce ul.products li.product .price {
	display: block;
	padding: 4px 16px 8px;
	font-size: var(--font-size-lg);
	font-weight: 700;
	color: var(--color-accent);
	text-align: center;
}

.woocommerce ul.products li.product .price del {
	color: var(--color-text-light);
	font-size: var(--font-size-sm);
	font-weight: 400;
	margin-left: 8px;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
	color: var(--color-accent);
}

/* Sale Badge */
.woocommerce span.onsale {
	position: absolute;
	top: 12px;
	right: 12px;
	left: auto;
	background: var(--color-accent);
	color: var(--color-white);
	font-size: var(--font-size-xs);
	font-weight: 700;
	padding: 6px 14px;
	border-radius: var(--radius-full);
	min-width: auto;
	min-height: auto;
	line-height: 1.4;
	z-index: 5;
}

/* Add to Cart Button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_variable,
.woocommerce ul.products li.product a.product_type_simple {
	display: block;
	margin: 8px 16px 16px;
	padding: 10px 20px;
	background: var(--color-accent);
	color: var(--color-white);
	border: none;
	border-radius: var(--radius-full);
	font-size: var(--font-size-sm);
	font-weight: 700;
	text-align: center;
	transition: var(--transition);
	cursor: pointer;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.product_type_variable:hover {
	background: var(--color-dark);
	color: var(--color-white);
}

/* Added to cart */
.woocommerce ul.products li.product .added_to_cart {
	display: block;
	text-align: center;
	padding: 8px 16px 16px;
	font-size: var(--font-size-xs);
	color: var(--color-accent);
	font-weight: 600;
}

/* Star Rating */
.woocommerce .star-rating {
	color: #F5A623;
	font-size: var(--font-size-sm);
	margin: 0 auto 4px;
}

.woocommerce ul.products li.product .star-rating {
	margin: 4px auto;
}

/* --- Result Count & Ordering --- */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-bottom: 24px;
}

.woocommerce .woocommerce-result-count {
	font-size: var(--font-size-sm);
	color: var(--color-text-light);
}

.woocommerce .woocommerce-ordering select {
	padding: 10px 16px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-family: var(--font-family);
	font-size: var(--font-size-sm);
	color: var(--color-text);
	background: var(--color-white);
	cursor: pointer;
}

.woocommerce .woocommerce-ordering select:focus {
	outline: none;
	border-color: var(--color-accent);
}

/* --- Shop Page Header --- */
.woocommerce-products-header {
	text-align: center;
	padding: 48px 0 24px;
}

.woocommerce-products-header__title {
	font-size: var(--font-size-3xl);
	color: var(--color-dark);
}

/* --- Single Product --- */
.single-product .product {
	padding: 40px 0 60px;
}

.single-product div.product {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}

/* Product Gallery */
.woocommerce div.product div.images {
	width: 100% !important;
	float: none;
}

/* Force gallery visible (WooCommerce hides it until JS inits) */
.woocommerce div.product div.images .woocommerce-product-gallery {
	opacity: 1 !important;
}

.woocommerce div.product .woocommerce-product-gallery {
	opacity: 1 !important;
	width: 100%;
	position: relative;
	overflow: hidden;
}

/* Main gallery image - fill container */
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
	width: 100%;
}

.woocommerce div.product .woocommerce-product-gallery__image {
	width: 100%;
}

.woocommerce div.product .woocommerce-product-gallery__image a {
	display: block;
	width: 100%;
}

.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery__image a img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-lg);
	object-fit: cover;
}

/* FlexSlider viewport */
.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
	width: 100%;
	border-radius: var(--radius-lg);
	overflow: hidden;
	margin-bottom: 12px;
}

.woocommerce div.product .woocommerce-product-gallery .flex-viewport img {
	width: 100%;
	height: auto;
	border-radius: 0;
}

/* Gallery lightbox trigger */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 5;
	width: 40px;
	height: 40px;
	background: var(--color-white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--shadow-sm);
	transition: var(--transition);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover {
	background: var(--color-accent);
	color: var(--color-white);
}

/* Gallery Thumbnails */
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs,
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce div.product .flex-control-thumbs li {
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-radius: var(--radius-sm);
	border: 2px solid transparent;
	transition: var(--transition);
	cursor: pointer;
}

.woocommerce div.product .flex-control-thumbs li:has(img.flex-active) {
	border-color: var(--color-accent);
}

.woocommerce div.product .flex-control-thumbs li img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
	border-radius: 0;
	opacity: 0.6;
	transition: var(--transition);
	cursor: pointer;
}

.woocommerce div.product .flex-control-thumbs li img.flex-active,
.woocommerce div.product .flex-control-thumbs li img:hover {
	opacity: 1;
}

/* FlexSlider nav arrows */
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav a {
	opacity: 0;
	transition: var(--transition);
}

.woocommerce div.product .woocommerce-product-gallery:hover .flex-direction-nav a {
	opacity: 0.8;
}

/* Fallback: when gallery has no slider (single image) */
.woocommerce div.product div.images img {
	border-radius: var(--radius-lg);
	width: 100%;
	height: auto;
}

/* Product Summary */
.woocommerce div.product div.summary {
	width: 100% !important;
	float: none;
	padding-top: 12px;
}

.woocommerce div.product .product_title {
	font-size: var(--font-size-2xl);
	color: var(--color-dark);
	margin-bottom: 12px;
}

.woocommerce div.product p.price {
	font-size: var(--font-size-xl);
	color: var(--color-accent);
	font-weight: 700;
	margin-bottom: 20px;
	padding: 16px;
	background: var(--color-primary-light);
	border-radius: var(--radius-sm);
}

.woocommerce div.product p.price del {
	color: var(--color-text-light);
	font-size: var(--font-size-base);
	margin-left: 12px;
}

.woocommerce div.product p.price ins {
	text-decoration: none;
}

/* Short Description */
.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: var(--font-size-base);
	color: var(--color-text);
	line-height: 1.8;
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--color-border);
}

/* Variations */
.woocommerce div.product form.cart .variations {
	margin-bottom: 24px;
	border: none;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	border: none;
	padding: 8px 0;
}

.woocommerce div.product form.cart .variations label {
	font-weight: 600;
	color: var(--color-dark);
	font-size: var(--font-size-sm);
}

.woocommerce div.product form.cart .variations select {
	padding: 10px 16px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-family: var(--font-family);
	font-size: var(--font-size-sm);
	min-width: 200px;
	color: var(--color-text);
	background: var(--color-white);
}

.woocommerce div.product form.cart .variations select:focus {
	outline: none;
	border-color: var(--color-accent);
}

/* Quantity */
.woocommerce .quantity {
	display: inline-flex;
	align-items: center;
}

.woocommerce .quantity .qty {
	width: 70px;
	padding: 10px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	text-align: center;
	font-family: var(--font-family);
	font-size: var(--font-size-base);
	color: var(--color-dark);
}

.woocommerce .quantity .qty:focus {
	outline: none;
	border-color: var(--color-accent);
}

/* Add to Cart - Single */
.woocommerce div.product form.cart {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.woocommerce div.product form.cart .button,
.single_add_to_cart_button {
	background: var(--color-accent) !important;
	color: var(--color-white) !important;
	border: none;
	border-radius: var(--radius-full) !important;
	padding: 14px 40px !important;
	font-size: var(--font-size-base) !important;
	font-weight: 700 !important;
	font-family: var(--font-family);
	cursor: pointer;
	transition: var(--transition);
	flex: 1;
	min-width: 200px;
	text-align: center;
}

.woocommerce div.product form.cart .button:hover,
.single_add_to_cart_button:hover {
	background: var(--color-dark) !important;
}

/* Morocco Badge on Product Page */
.product-morocco-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-full);
	font-size: var(--font-size-sm);
	color: var(--color-dark);
	margin-bottom: 16px;
}

.morocco-flag-icon {
	font-size: 18px;
	line-height: 1;
}

.morocco-text {
	font-weight: 500;
}

/* WhatsApp Product Button */
.product-whatsapp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 32px;
	background: #25D366;
	color: var(--color-white);
	border-radius: var(--radius-full);
	font-weight: 700;
	font-size: var(--font-size-base);
	transition: var(--transition);
	width: 100%;
	text-align: center;
	margin-bottom: 20px;
}

.product-whatsapp-btn:hover {
	background: #1da851;
	color: var(--color-white);
}

.product-whatsapp-btn svg {
	flex-shrink: 0;
}

/* Stock Status */
.woocommerce div.product .stock {
	font-size: var(--font-size-sm);
	font-weight: 600;
	margin-bottom: 16px;
	padding: 8px 16px;
	border-radius: var(--radius-sm);
}

.woocommerce div.product .stock.in-stock {
	color: #0a8a2e;
	background: #e6f9ed;
}

.woocommerce div.product .stock.out-of-stock {
	color: #c00;
	background: #ffe6e6;
}

/* Product Meta */
.woocommerce div.product .product_meta {
	font-size: var(--font-size-sm);
	color: var(--color-text-light);
	padding-top: 20px;
	border-top: 1px solid var(--color-border);
}

.woocommerce div.product .product_meta > span {
	display: block;
	margin-bottom: 8px;
}

.woocommerce div.product .product_meta a {
	color: var(--color-accent);
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: 20px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 4px;
	padding: 0;
	margin: 0 0 32px;
	border-bottom: 2px solid var(--color-border);
	list-style: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 12px 24px;
	font-weight: 600;
	color: var(--color-text-light);
	background: none;
	font-size: var(--font-size-base);
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	display: block;
	transition: var(--transition);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--color-accent);
	border-bottom-color: var(--color-accent);
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding: 0;
	margin: 0;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-size: var(--font-size-xl);
	margin-bottom: 16px;
}

/* Related Products */
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products {
	grid-column: 1 / -1;
	padding-top: 48px;
}

.woocommerce div.product .related.products h2,
.woocommerce div.product .upsells.products h2 {
	font-size: var(--font-size-2xl);
	text-align: center;
	margin-bottom: 32px;
}

/* --- Cart Page - 2 Column Layout --- */
.woocommerce-cart .woocommerce {
	padding: 40px 0 80px;
	max-width: var(--container-width);
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

/* Cart 2-Column Layout */
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: 32px;
	align-items: start;
}

.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.woocommerce-cart .woocommerce-cart-form {
	grid-column: 1;
	background: #fff;
	border-radius: var(--radius-lg);
	padding: 24px;
	box-shadow: var(--shadow-sm);
}

.woocommerce-cart .cart-collaterals {
	grid-column: 2;
	position: sticky;
	top: 100px;
	margin: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	background: #fff;
	border-radius: var(--radius-lg);
	padding: 28px;
	box-shadow: var(--shadow-sm);
	width: 100%;
	max-width: 100%;
}

.woocommerce-cart .cross-sells {
	grid-column: 1 / -1;
}

/* Cart form wrapper fix */
.woocommerce-cart form.woocommerce-cart-form {
	width: 100%;
}

/* Cart table fixes */
.woocommerce-cart .woocommerce-cart-form table.shop_table {
	margin-bottom: 0;
}

.woocommerce table.shop_table {
	border: none;
	border-collapse: collapse;
	width: 100%;
}

.woocommerce table.shop_table th {
	background: var(--color-primary-light);
	color: var(--color-dark);
	font-weight: 700;
	padding: 16px;
	font-size: var(--font-size-sm);
	border: none;
}

.woocommerce table.shop_table td {
	padding: 20px 16px;
	border-bottom: 1px solid var(--color-border);
	vertical-align: middle;
	font-size: var(--font-size-sm);
}

.woocommerce table.shop_table .product-thumbnail img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: var(--radius-sm);
}

.woocommerce table.shop_table .product-name a {
	color: var(--color-dark);
	font-weight: 600;
}

.woocommerce table.shop_table .product-name a:hover {
	color: var(--color-accent);
}

.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal {
	font-weight: 700;
	color: var(--color-accent);
}

.woocommerce a.remove {
	color: var(--color-text-light) !important;
	font-size: 24px;
	transition: var(--transition);
}

.woocommerce a.remove:hover {
	color: #c00 !important;
	background: none;
}

/* Coupon */
.woocommerce .coupon {
	display: flex;
	gap: 8px;
	align-items: center;
}

.woocommerce .coupon .input-text {
	padding: 10px 16px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-family: var(--font-family);
	font-size: var(--font-size-sm);
}

.woocommerce .coupon .button {
	background: var(--color-dark);
	color: var(--color-white);
	border: none;
	padding: 10px 20px;
	border-radius: var(--radius-sm);
	font-weight: 600;
	font-size: var(--font-size-sm);
	cursor: pointer;
	transition: var(--transition);
	font-family: var(--font-family);
}

.woocommerce .coupon .button:hover {
	background: var(--color-accent);
}

/* Update Cart Button */
.woocommerce button[name="update_cart"] {
	background: var(--color-primary);
	color: var(--color-dark);
	border: none;
	padding: 10px 24px;
	border-radius: var(--radius-sm);
	font-weight: 600;
	font-family: var(--font-family);
	cursor: pointer;
	transition: var(--transition);
}

.woocommerce button[name="update_cart"]:hover {
	background: var(--color-accent);
	color: var(--color-white);
}

/* Cart Totals */
.woocommerce .cart-collaterals {
	margin-top: 0;
}

.woocommerce .cart_totals {
	background: var(--color-bg-alt);
	padding: 32px;
	border-radius: var(--radius-md);
	max-width: 100%;
	margin-right: 0;
}

.woocommerce .cart_totals h2 {
	font-size: var(--font-size-xl);
	margin-bottom: 20px;
}

.woocommerce .cart_totals table {
	border: none;
	width: 100%;
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
	border: none;
	padding: 14px 0;
	border-bottom: 1px solid var(--color-border);
}

.woocommerce .cart_totals table tr:last-child th,
.woocommerce .cart_totals table tr:last-child td {
	border-bottom: none;
	padding-top: 18px;
	font-size: var(--font-size-lg);
}

.woocommerce .cart_totals table th {
	background: none;
	font-weight: 600;
	color: var(--color-dark);
	text-align: right;
}

.woocommerce .cart_totals table td {
	text-align: left;
}

.woocommerce .cart_totals .order-total .woocommerce-Price-amount {
	font-size: var(--font-size-xl);
	color: var(--color-accent);
	font-weight: 700;
}

/* Proceed to Checkout */
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	background: var(--color-accent);
	color: var(--color-white);
	padding: 16px 32px;
	border-radius: var(--radius-full);
	font-size: var(--font-size-lg);
	font-weight: 700;
	text-align: center;
	transition: var(--transition);
	margin-top: 16px;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--color-dark);
}

/* --- Checkout Page --- */
.woocommerce-checkout .woocommerce {
	padding: 40px 0 80px;
	max-width: var(--container-width);
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

.woocommerce form.checkout {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 32px;
	align-items: start;
}

/* Checkout left column */
.woocommerce form.checkout .col2-set {
	grid-column: 1;
	grid-row: 1 / 3;
}

.woocommerce form.checkout .woocommerce-additional-fields {
	grid-column: 1;
}

/* Checkout right column */
.woocommerce form.checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	align-self: start;
	margin-bottom: 0;
}

.woocommerce form.checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	position: sticky;
	top: 100px;
}

/* Checkout notices & coupon span full width */
.woocommerce form.checkout > .woocommerce-notices-wrapper,
.woocommerce-checkout > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon {
	grid-column: 1 / -1;
}

/* Professional Checkout Form Styling */
.woocommerce form.checkout .col2-set {
	background: var(--color-white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
	padding: 0;
	overflow: hidden;
}

.woocommerce form.checkout .col2-set .col-1,
.woocommerce form.checkout .col2-set .col-2 {
	padding: 32px;
	width: 100%;
	float: none;
}

.woocommerce form.checkout .col2-set .col-1 {
	border-bottom: 1px solid var(--color-border);
}

.woocommerce form.checkout h3 {
	font-size: var(--font-size-xl);
	color: var(--color-dark);
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--color-primary);
	display: flex;
	align-items: center;
	gap: 12px;
}

.woocommerce form.checkout h3::before {
	content: '';
	width: 4px;
	height: 24px;
	background: var(--color-accent);
	border-radius: 2px;
}

/* Form Fields */
.woocommerce form .form-row {
	margin-bottom: 20px;
	position: relative;
}

.woocommerce form .form-row label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: var(--color-dark);
	font-size: var(--font-size-sm);
}

.woocommerce form .form-row .required {
	color: var(--color-accent);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	width: 100%;
	padding: 14px 18px;
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	font-family: var(--font-family);
	font-size: var(--font-size-base);
	color: var(--color-text);
	transition: var(--transition);
	background: var(--color-bg-alt);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none;
	border-color: var(--color-accent);
	box-shadow: 0 0 0 4px rgba(254, 52, 128, 0.1);
	background: var(--color-white);
}

.woocommerce form .form-row input.input-text::placeholder {
	color: var(--color-text-light);
}

/* Form Row Width Classes */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: 48%;
}

.woocommerce form .form-row-first {
	float: right;
}

.woocommerce form .form-row-last {
	float: left;
}

.woocommerce form .form-row-wide {
	clear: both;
}

/* Select2 Dropdown Styling */
.woocommerce form .select2-container--default .select2-selection--single {
	height: 52px;
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-bg-alt);
}

.woocommerce form .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 48px;
	padding-right: 18px;
	color: var(--color-text);
}

.woocommerce form .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 48px;
	left: 12px;
	right: auto;
}

.woocommerce form .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--color-accent);
	box-shadow: 0 0 0 4px rgba(254, 52, 128, 0.1);
}

/* Checkout Notes */
.woocommerce form .form-row textarea {
	min-height: 100px;
	resize: vertical;
}

/* Order Review - Professional Design */
.woocommerce #order_review_heading {
	font-size: var(--font-size-xl);
	color: var(--color-dark);
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.woocommerce #order_review_heading::before {
	content: '';
	width: 4px;
	height: 24px;
	background: var(--color-accent);
	border-radius: 2px;
}

.woocommerce #order_review {
	background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-white) 100%);
	padding: 32px;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	border: 1px solid var(--color-border);
	position: sticky;
	top: 100px;
}

.woocommerce #order_review table.shop_table {
	background: var(--color-white);
	border-radius: var(--radius-md);
	overflow: hidden;
	margin-bottom: 24px;
}

.woocommerce #order_review table.shop_table th,
.woocommerce #order_review table.shop_table td {
	padding: 14px 16px;
}

.woocommerce #order_review table.shop_table .cart_item td {
	background: var(--color-white);
}

.woocommerce #order_review table.shop_table .order-total th,
.woocommerce #order_review table.shop_table .order-total td {
	font-size: var(--font-size-lg);
	color: var(--color-dark);
	background: var(--color-primary-light);
}

.woocommerce #order_review table.shop_table .order-total .woocommerce-Price-amount {
	color: var(--color-accent);
	font-size: var(--font-size-xl);
}

/* Place Order */
.woocommerce #place_order {
	background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-dark) 100%);
	color: var(--color-white);
	border: none;
	padding: 18px 40px;
	border-radius: var(--radius-full);
	font-size: var(--font-size-lg);
	font-weight: 700;
	width: 100%;
	cursor: pointer;
	transition: var(--transition);
	font-family: var(--font-family);
	margin-top: 20px;
	box-shadow: 0 4px 15px rgba(254, 52, 128, 0.3);
}

.woocommerce #place_order:hover {
	background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-accent) 100%);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(254, 52, 128, 0.4);
}

/* Payment Methods */
.woocommerce .woocommerce-checkout-payment {
	margin-top: 24px;
}

.woocommerce .woocommerce-checkout-payment ul.payment_methods {
	padding: 0;
	margin-bottom: 20px;
}

.woocommerce .woocommerce-checkout-payment ul.payment_methods li {
	padding: 18px 20px;
	background: var(--color-white);
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	margin-bottom: 12px;
	transition: var(--transition);
}

.woocommerce .woocommerce-checkout-payment ul.payment_methods li:hover {
	border-color: var(--color-primary);
}

.woocommerce .woocommerce-checkout-payment ul.payment_methods li.wc_payment_method input[type="radio"]:checked + label {
	color: var(--color-accent);
}

.woocommerce .woocommerce-checkout-payment ul.payment_methods li label {
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 10px;
}

.woocommerce .woocommerce-checkout-payment ul.payment_methods li label img {
	max-height: 24px;
}

.woocommerce .woocommerce-checkout-payment .payment_box {
	background: var(--color-bg-alt);
	padding: 16px;
	border-radius: var(--radius-sm);
	margin-top: 12px;
	font-size: var(--font-size-sm);
	color: var(--color-text-light);
}

/* Checkout Privacy Policy */
.woocommerce .woocommerce-terms-and-conditions-wrapper {
	margin-top: 16px;
	padding: 16px;
	background: var(--color-white);
	border-radius: var(--radius-sm);
}

.woocommerce .woocommerce-privacy-policy-text {
	font-size: var(--font-size-xs);
	color: var(--color-text-light);
}

/* --- My Account --- */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--color-bg-alt);
	border-radius: var(--radius-md);
	padding: 8px;
	margin-bottom: 32px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 10px 20px;
	color: var(--color-dark);
	font-weight: 500;
	border-radius: var(--radius-sm);
	transition: var(--transition);
	font-size: var(--font-size-sm);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--color-accent);
	color: var(--color-white);
}

/* Login/Register Forms */
.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 32px;
}

.woocommerce form.login .button,
.woocommerce form.register .button {
	background: var(--color-accent);
	color: var(--color-white);
	border: none;
	padding: 12px 32px;
	border-radius: var(--radius-full);
	font-weight: 700;
	cursor: pointer;
	transition: var(--transition);
	font-family: var(--font-family);
}

.woocommerce form.login .button:hover,
.woocommerce form.register .button:hover {
	background: var(--color-dark);
}

/* --- Notices / Messages --- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
	border-top-color: var(--color-accent);
	background: var(--color-primary-light);
	color: var(--color-dark);
	border-radius: var(--radius-sm);
	padding: 16px 20px;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before {
	color: var(--color-accent);
}

.woocommerce .woocommerce-error {
	border-top-color: #c00;
	border-radius: var(--radius-sm);
}

.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button {
	background: var(--color-accent);
	color: var(--color-white);
	border: none;
	border-radius: var(--radius-full);
	padding: 8px 20px;
	font-weight: 600;
	font-size: var(--font-size-sm);
}

/* --- Breadcrumb --- */
.woocommerce .woocommerce-breadcrumb {
	font-size: var(--font-size-sm);
	color: var(--color-text-light);
	padding: 16px 0;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--color-accent);
}

/* --- Empty Cart --- */
.woocommerce .cart-empty {
	text-align: center;
	padding: 60px 0;
	font-size: var(--font-size-lg);
	color: var(--color-text-light);
}

.woocommerce .return-to-shop a {
	display: inline-block;
	background: var(--color-accent);
	color: var(--color-white);
	padding: 14px 32px;
	border-radius: var(--radius-full);
	font-weight: 700;
	transition: var(--transition);
}

.woocommerce .return-to-shop a:hover {
	background: var(--color-dark);
	color: var(--color-white);
}

/* --- Mini Cart Widget --- */
.widget_shopping_cart .cart_list li {
	padding: 12px 0;
	border-bottom: 1px solid var(--color-border-light);
}

.widget_shopping_cart .cart_list li a {
	font-weight: 600;
	color: var(--color-dark);
}

.widget_shopping_cart .total {
	font-weight: 700;
	padding: 12px 0;
	font-size: var(--font-size-base);
}

.widget_shopping_cart .buttons a {
	display: block;
	text-align: center;
	padding: 10px;
	border-radius: var(--radius-full);
	margin-bottom: 8px;
	font-weight: 600;
	font-size: var(--font-size-sm);
}

/* --- WooCommerce Pagination --- */
.woocommerce nav.woocommerce-pagination {
	text-align: center;
	margin: 40px 0;
	padding: 20px 0;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: none;
	margin: 0;
	padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: none;
	margin: 0;
	padding: 0;
	float: none;
	display: inline-flex;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border-radius: var(--radius-full);
	font-size: var(--font-size-sm);
	font-weight: 600;
	color: var(--color-dark);
	background: var(--color-white);
	border: 1px solid var(--color-border);
	transition: var(--transition);
	text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-dark);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--color-white);
}

.woocommerce nav.woocommerce-pagination ul li .prev,
.woocommerce nav.woocommerce-pagination ul li .next {
	background: var(--color-bg-alt);
}

.woocommerce nav.woocommerce-pagination ul li .prev:hover,
.woocommerce nav.woocommerce-pagination ul li .next:hover {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--color-white);
}

/* --- Product Loading Overlay --- */
.woocommerce .blockUI.blockOverlay {
	background: rgba(255, 255, 255, 0.7) !important;
}

.woocommerce .loader::before {
	border-top-color: var(--color-accent) !important;
}

/* --- AJAX Add to Cart Button Loading --- */
.woocommerce ul.products li.product .button.loading,
.woocommerce ul.products li.product a.add_to_cart_button.loading {
	opacity: 0.7;
	pointer-events: none;
	position: relative;
}

.woocommerce ul.products li.product .button.loading::after {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	border: 2px solid var(--color-white);
	border-top-color: transparent;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
	right: 50%;
	top: 50%;
	margin-right: -8px;
	margin-top: -8px;
}

.woocommerce ul.products li.product .button.added::before {
	content: '✓';
	margin-left: 6px;
}

/* --- Add to Cart Animation --- */
.woocommerce ul.products li.product .button.added-animation {
	animation: addedPulse 0.5s ease;
}

@keyframes addedPulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.05); background: var(--color-dark); }
	100% { transform: scale(1); }
}

/* --- Cart Page Enhanced Styling --- */
.woocommerce-cart .woocommerce {
	padding: 40px 20px 120px;
}

/* Cart Table Enhanced */
.woocommerce table.shop_table.cart {
	background: var(--color-white);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
}

.woocommerce table.shop_table .product-thumbnail {
	width: 100px;
}

.woocommerce table.shop_table .product-thumbnail img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: var(--radius-md);
	border: 2px solid var(--color-border);
}

/* Cart Actions Row */
.woocommerce table.shop_table td.actions {
	background: var(--color-bg-alt);
	padding: 20px;
}

/* Cart Totals Enhanced */
.woocommerce .cart_totals {
	background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-white) 100%);
	padding: 28px;
	border-radius: var(--radius-lg);
	max-width: 100%;
	margin-right: 0;
	box-shadow: var(--shadow-md);
	border: 1px solid var(--color-border);
	width: 100%;
}

.woocommerce .cart_totals h2 {
	font-size: var(--font-size-xl);
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--color-primary);
	display: flex;
	align-items: center;
	gap: 12px;
}

.woocommerce .cart_totals h2::before {
	content: '';
	width: 4px;
	height: 24px;
	background: var(--color-accent);
	border-radius: 2px;
}

/* Proceed to Checkout Enhanced */
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-dark) 100%);
	color: var(--color-white);
	padding: 18px 32px;
	border-radius: var(--radius-full);
	font-size: var(--font-size-lg);
	font-weight: 700;
	text-align: center;
	transition: var(--transition);
	margin-top: 20px;
	box-shadow: 0 4px 15px rgba(254, 52, 128, 0.3);
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-accent) 100%);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(254, 52, 128, 0.4);
}

/* --- Tablet Cart & Checkout --- */
@media (max-width: 1024px) {
	.woocommerce-cart .woocommerce {
		grid-template-columns: 1fr 340px;
		gap: 24px;
	}
}

/* --- Mobile Cart & Checkout --- */
@media (max-width: 768px) {
	/* Cart Page Mobile - Single Column */
	.woocommerce-cart .woocommerce {
		grid-template-columns: 1fr !important;
		padding-bottom: 180px;
		gap: 20px;
	}

	.woocommerce-cart .woocommerce-cart-form {
		grid-column: 1;
		grid-row: auto;
		padding: 16px;
		border-radius: var(--radius-md);
	}

	/* Mobile Sticky Checkout Footer */
	.woocommerce-cart .cart-collaterals {
		grid-column: 1;
		grid-row: auto;
		position: fixed;
		bottom: 70px;
		left: 0;
		right: 0;
		top: auto;
		background: var(--color-white);
		padding: 16px;
		box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
		z-index: 99;
		margin: 0;
		border-top: 1px solid var(--color-border);
		border-radius: 0;
	}

	.woocommerce-cart .cart-collaterals .cart_totals {
		background: transparent;
		padding: 0;
		box-shadow: none;
		border: none;
		border-radius: 0;
		width: 100%;
	}

	.woocommerce-cart .cart_totals h2 {
		display: none;
	}

	.woocommerce-cart .cart_totals > table {
		display: none;
	}

	.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
		margin: 0;
	}

	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		margin: 0;
		padding: 16px 24px;
		font-size: var(--font-size-base);
	}

	/* Cart Table Mobile */
	.woocommerce table.shop_table.cart {
		border-radius: var(--radius-md);
	}

	.woocommerce table.shop_table .product-thumbnail {
		width: 70px;
		padding: 12px 8px;
	}

	.woocommerce table.shop_table .product-thumbnail img {
		width: 55px;
		height: 55px;
	}

	/* Checkout Page Mobile - Single Column */
	.woocommerce form.checkout {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.woocommerce form.checkout .col2-set,
	.woocommerce form.checkout #order_review_heading,
	.woocommerce form.checkout #order_review {
		grid-column: 1;
		grid-row: auto;
	}

	.woocommerce form.checkout .col2-set .col-1,
	.woocommerce form.checkout .col2-set .col-2 {
		padding: 20px;
	}

	.woocommerce #order_review {
		padding: 20px;
		position: relative;
		top: 0;
	}

	.woocommerce-checkout .woocommerce {
		padding-left: 16px;
		padding-right: 16px;
	}

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

	/* Pagination Mobile Fix */
	.woocommerce nav.woocommerce-pagination {
		margin: 30px 0;
		padding: 15px 0;
	}

	.woocommerce nav.woocommerce-pagination ul {
		flex-wrap: wrap;
		gap: 6px;
	}

	.woocommerce nav.woocommerce-pagination ul li a,
	.woocommerce nav.woocommerce-pagination ul li span {
		min-width: 38px;
		height: 38px;
		padding: 0 10px;
		font-size: var(--font-size-xs);
	}
}

/* --- Pagination Enhanced Reset --- */
.woocommerce nav.woocommerce-pagination {
	clear: both;
	text-align: center;
	margin: 50px 0 30px;
	padding: 20px 0;
	width: 100%;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: none !important;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	float: none;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	display: inline-flex !important;
	overflow: visible !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border-radius: 50px !important;
	font-size: var(--font-size-sm);
	font-weight: 600;
	color: var(--color-dark);
	background: var(--color-white);
	border: 2px solid var(--color-border) !important;
	transition: var(--transition);
	text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--color-primary);
	border-color: var(--color-primary) !important;
	color: var(--color-dark);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--color-accent) !important;
	border-color: var(--color-accent) !important;
	color: var(--color-white) !important;
}

.woocommerce nav.woocommerce-pagination ul li .prev,
.woocommerce nav.woocommerce-pagination ul li .next {
	background: var(--color-bg-alt);
	padding: 0 18px;
}

.woocommerce nav.woocommerce-pagination ul li .prev:hover,
.woocommerce nav.woocommerce-pagination ul li .next:hover {
	background: var(--color-accent);
	border-color: var(--color-accent) !important;
	color: var(--color-white);
}

/* --- Mobile Cart Summary (for sticky checkout) --- */
.mobile-cart-summary {
	display: none;
}

@media (max-width: 768px) {
	.mobile-cart-summary {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 12px 0;
		margin-bottom: 12px;
		border-bottom: 1px solid var(--color-border);
	}

	.mobile-cart-summary-row {
		display: flex;
		flex-direction: column;
		gap: 2px;
	}

	.mobile-cart-summary .summary-label {
		font-size: var(--font-size-sm);
		color: var(--color-text-light);
	}

	.mobile-cart-summary .summary-value {
		font-size: var(--font-size-xl);
		font-weight: 700;
		color: var(--color-accent);
	}

	.mobile-cart-items-count {
		font-size: var(--font-size-sm);
		color: var(--color-text-light);
		background: var(--color-bg-alt);
		padding: 6px 12px;
		border-radius: var(--radius-full);
	}

	.mobile-cart-items-count strong {
		color: var(--color-dark);
	}

	/* Hide full table on mobile cart sticky */
	.woocommerce .cart_totals > h2,
	.woocommerce .cart_totals > table {
		display: none;
	}
}

/* --- Checkout Page Enhancements --- */
/* Checkout Security Badge */
.woocommerce-checkout .woocommerce::before {
	content: '';
	display: block;
	background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-white) 100%);
	padding: 16px 24px;
	border-radius: var(--radius-md);
	margin-bottom: 32px;
	text-align: center;
	font-size: var(--font-size-sm);
	color: var(--color-dark);
	border: 1px solid var(--color-border);
}

/* Checkout Steps Indicator */
.woocommerce form.checkout > h3:first-of-type {
	counter-reset: checkout-steps;
}

/* Input Field Enhancements */
.woocommerce form .form-row.woocommerce-validated input.input-text {
	border-color: #28a745;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2328a745' stroke-width='2'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 12px center;
	padding-left: 40px;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text {
	border-color: #dc3545;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23dc3545' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='15' y1='9' x2='9' y2='15'%3E%3C/line%3E%3Cline x1='9' y1='9' x2='15' y2='15'%3E%3C/line%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 12px center;
	padding-left: 40px;
}

/* Checkout Form Sections Visual Separation */
.woocommerce form.checkout .woocommerce-billing-fields,
.woocommerce form.checkout .woocommerce-shipping-fields {
	padding-bottom: 8px;
}

/* Order Notes Enhanced */
.woocommerce form.checkout .woocommerce-additional-fields {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px dashed var(--color-border);
}

.woocommerce form.checkout #order_comments_field textarea {
	min-height: 80px;
}

/* Shipping Method Selection */
.woocommerce form.checkout .woocommerce-shipping-totals td {
	padding: 16px;
	background: var(--color-primary-light);
	border-radius: var(--radius-sm);
}

.woocommerce form.checkout #shipping_method li {
	padding: 12px 16px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	margin-bottom: 8px;
	transition: var(--transition);
}

.woocommerce form.checkout #shipping_method li:hover {
	border-color: var(--color-primary);
}

.woocommerce form.checkout #shipping_method li label {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	cursor: pointer;
}

/* Checkout Order Summary Table Enhanced */
.woocommerce-checkout #order_review table.shop_table {
	margin-bottom: 0;
}

.woocommerce-checkout #order_review table.shop_table thead th {
	background: var(--color-dark);
	color: var(--color-white);
	padding: 14px 16px;
}

.woocommerce-checkout #order_review table.shop_table .cart_item {
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-checkout #order_review table.shop_table .product-name {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Secure Checkout Badge in Order Review */
.woocommerce #order_review::after {
	content: '';
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 20px;
	padding: 12px;
	background: var(--color-bg-alt);
	border-radius: var(--radius-sm);
	font-size: var(--font-size-xs);
	color: var(--color-text-light);
	text-align: center;
}

/* Create Account Checkbox */
.woocommerce form.checkout .create-account {
	background: var(--color-primary-light);
	padding: 20px;
	border-radius: var(--radius-md);
	margin-top: 16px;
}

.woocommerce form.checkout .create-account label {
	font-weight: 600;
	color: var(--color-dark);
}

/* --- Simplified Checkout Form (Morocco) --- */
.woocommerce form.checkout .woocommerce-billing-fields h3 {
	font-size: var(--font-size-xl);
	margin-bottom: 24px;
}

/* Hide shipping to different address checkbox */
.woocommerce form.checkout #ship-to-different-address {
	display: none;
}

/* Simplified form layout */
.woocommerce form.checkout .woocommerce-billing-fields__field-wrapper {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Full name field icon */
#billing_first_name_field::before {
	content: '';
	position: absolute;
	right: 14px;
	top: 42px;
	width: 20px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: 1;
}

#billing_first_name_field {
	position: relative;
}

#billing_first_name_field input {
	padding-right: 45px;
}

/* City dropdown icon */
#billing_city_field::before {
	content: '';
	position: absolute;
	right: 14px;
	top: 42px;
	width: 20px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: 1;
}

#billing_city_field {
	position: relative;
}

#billing_city_field select,
#billing_city_field .select2-container {
	padding-right: 45px;
}

/* Phone field icon */
#billing_phone_field::before {
	content: '';
	position: absolute;
	right: 14px;
	top: 42px;
	width: 20px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: 1;
}

#billing_phone_field {
	position: relative;
}

#billing_phone_field input {
	padding-right: 45px;
}

/* Email field icon */
#billing_email_field::before {
	content: '';
	position: absolute;
	right: 14px;
	top: 42px;
	width: 20px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'%3E%3C/path%3E%3Cpolyline points='22,6 12,13 2,6'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: 1;
}

#billing_email_field {
	position: relative;
}

#billing_email_field input {
	padding-right: 45px;
}

/* Optional badge for email */
#billing_email_field label .optional {
	font-size: var(--font-size-xs);
	color: var(--color-text-light);
	font-weight: 400;
	margin-right: 8px;
}

/* Free Shipping highlight */
.woocommerce-shipping-methods li:only-child label {
	color: var(--color-dark);
	font-weight: 700;
}

.woocommerce-shipping-methods li:only-child {
	background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%) !important;
	border-color: #4caf50 !important;
}

.woocommerce-shipping-methods li:only-child::before {
	content: '🎉';
	position: absolute;
	right: -8px;
	top: -8px;
	font-size: 20px;
}

.woocommerce-shipping-methods li {
	position: relative;
}

/* City dropdown enhanced styling */
#billing_city_field .select2-container--default .select2-selection--single {
	height: 54px;
	padding-right: 45px;
}

#billing_city_field .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 50px;
	padding-right: 0;
}

/* Order notes enhanced */
#order_comments_field {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 2px dashed var(--color-border);
}

#order_comments_field label {
	display: flex;
	align-items: center;
	gap: 8px;
}

#order_comments_field label::before {
	content: '';
	width: 20px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
}
