/* ==============================
   Edaran Jayamas — Custom Styles
   ============================== */

/* --- Global Reset & Base --- */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

html {
	overflow-x: hidden;
}

/* Remove default page title that WP adds */
.page .wp-block-post-title,
.page .entry-title {
	display: none;
}

/* --- Header Sticky --- */
.ej-header {
	position: sticky;
	top: 0;
	z-index: 999;
}

/* --- Header layout --- */
.ej-header .wp-block-site-logo,
.ej-header .ej-cart-icon {
	flex-shrink: 0;
}

/* --- Search block in header --- */
.ej-header .wp-block-search,
.ej-header .ej-search-bar {
	flex: 1;
	min-width: 0;
}

.ej-header .wp-block-search__inside-wrapper {
	background: #f1f5f9 !important;
	border-radius: 0.5rem !important;
	border: none !important;
	padding: 0.25rem !important;
	height: 48px;
}

.ej-header .wp-block-search__input {
	border: none;
	background: transparent;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	color: #1e293b;
	height: 100%;
}

.ej-header .wp-block-search__input::placeholder {
	color: #94a3b8;
}

.ej-header .wp-block-search__input:focus {
	outline: none;
	box-shadow: none;
}

.ej-header .wp-block-search__button {
	background: #FD7609;
	color: #ffffff;
	border: none;
	border-radius: 0.375rem;
	padding: 0.5rem 1.5rem;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.ej-header .wp-block-search__button:hover {
	background: #e56a08;
}

/* --- Nav bar --- */
.ej-nav-bar {
	border-bottom: 1px solid #e2e8f0 !important;
}

/* Navigation block reset */
.ej-nav-bar .wp-block-navigation {
	gap: 0;
}

/* Top-level nav items */
.ej-nav-bar .wp-block-navigation-item > .wp-block-navigation-item__content {
	color: #334155 !important;
	text-decoration: none !important;
	padding: 0.75rem 1.5rem !important;
	display: block;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
	font-size: 0.875rem;
	font-weight: 700;
}

.ej-nav-bar .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.ej-nav-bar .wp-block-navigation-item:hover > .wp-block-navigation-item__content {
	color: #FD7609 !important;
	border-bottom-color: #FD7609;
}

/* Categories submenu chevron */
.ej-nav-bar .wp-block-navigation-submenu > .wp-block-navigation__submenu-icon {
	width: 12px;
	height: 12px;
	margin-left: -0.5rem;
	margin-right: 0.5rem;
}

/* Dropdown menu */
.ej-nav-bar .wp-block-navigation__submenu-container {
	background: #ffffff !important;
	border: 1px solid #e7e0da !important;
	border-radius: 0.75rem !important;
	box-shadow: 0 10px 40px -10px rgba(0,0,0,0.12) !important;
	min-width: 220px !important;
	padding: 0.5rem 0 !important;
	z-index: 100;
	left: 0 !important;
}

/* Dropdown items */
.ej-nav-bar .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.625rem 1.25rem !important;
	font-weight: 500 !important;
	border-bottom: none !important;
	color: #334155 !important;
	text-decoration: none !important;
}

.ej-nav-bar .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: #fff7ed !important;
	color: #FD7609 !important;
	border-bottom: none !important;
}

/* --- How It Works step circles --- */
.ej-step-circle {
	width: 6rem;
	height: 6rem;
	border-radius: 9999px;
	border: 4px solid white;
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ej-step-circle .material-symbols-outlined {
	font-size: 2.5rem;
	line-height: 1;
	font-variation-settings: 'FILL' 1;
}

.ej-step-badge {
	position: absolute;
	top: -0.25rem;
	right: -0.25rem;
	width: 2rem;
	height: 2rem;
	border-radius: 9999px;
	background: #0C3B2B;
	color: white;
	font-size: 0.8125rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid white;
}

/* --- Button hover effects --- */
.wp-block-button__link {
	transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	opacity: 0.95;
}

/* --- Equal-height icon cards --- */
.ej-equal-cards {
	align-items: stretch !important;
}

.ej-equal-cards > .wp-block-column {
	display: flex !important;
	flex-direction: column;
}

.ej-equal-cards .ej-icon-card {
	flex: 1;
}

/* --- Card hover effects --- */
.wp-block-group[style*="border-radius"] {
	transition: box-shadow 0.2s ease;
}

/* --- Footer nav links --- */
footer .wp-block-navigation a,
footer .wp-block-navigation-link__content {
	color: #ffffffb3 !important;
	text-decoration: none;
	font-size: 0.875rem;
}

footer .wp-block-navigation a:hover,
footer .wp-block-navigation-link__content:hover {
	color: #FD7609 !important;
}

/* Footer contact info links — no hover color change */
footer p a {
	color: #ffffffb3 !important;
	text-decoration: none !important;
}

footer p a:hover,
footer p a:active,
footer p a:focus {
	color: #ffffffb3 !important;
	text-decoration: none !important;
}

/* Footer contact info spacing */
footer p.has-text-color a[href^="tel"],
footer p.has-text-color a[href^="mailto"],
footer p.has-text-color a[href*="wa.me"] {
	line-height: 2.5;
}

footer p.has-text-color:has(a[href^="tel"]) {
	line-height: 2.5 !important;
}

/* Remove submenu toggles in footer */
footer .wp-block-navigation__submenu-icon {
	display: none;
}

/* --- Equal-height cards inside columns --- */
/* Only stretch when the column has exactly one bordered card child */
.wp-block-columns > .wp-block-column > .wp-block-group.has-border-color:only-child {
	height: 100%;
}

/* --- Fix full-width alignment --- */
.alignfull {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* Ensure constrained content doesn't overflow */
.wp-block-group.alignfull > .wp-block-group__inner-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/* --- Image responsive --- */
.wp-block-image img {
	max-width: 100%;
	height: auto;
}

/* --- Columns gap consistency --- */
@media (max-width: 781px) {
	.wp-block-columns {
		flex-direction: column;
	}

	.wp-block-column {
		flex-basis: 100% !important;
	}

	/* Stats bar: stack vertically on mobile */
	.wp-block-group:has(.ej-stat-counter) {
		flex-direction: column !important;
		gap: 0 !important;
	}

	/* Scale down hero/section headings that use fixed sizes */
	h1.wp-block-heading[style*="3.5rem"],
	h2.wp-block-heading[style*="3.5rem"] {
		font-size: 2.25rem !important;
	}

	h1.wp-block-heading[style*="3rem"],
	h2.wp-block-heading[style*="3rem"] {
		font-size: 2rem !important;
	}

	h2.wp-block-heading[style*="2.25rem"] {
		font-size: 1.75rem !important;
	}

	h2.wp-block-heading[style*="2rem"] {
		font-size: 1.5rem !important;
	}

	/* Reduce section padding on tablet */
	.wp-block-group.alignfull[style*="padding-top:5rem"] {
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
	}

	.wp-block-group.alignfull[style*="padding-top:4rem"] {
		padding-top: 2.5rem !important;
		padding-bottom: 2.5rem !important;
	}

	/* Reduce inner box padding (e.g. For Schools problem section, Kapten Pintar card) */
	.wp-block-group[style*="padding-left:3rem"] {
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
	}

	/* Columns with internal padding: match other pages' 1rem side padding on mobile */
	.wp-block-column[style*="padding-left:3rem"] {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		padding-top: 2rem !important;
		padding-bottom: 1.5rem !important;
	}
}

/* --- Mobile: header, utility bar, nav, and typography --- */
@media (max-width: 600px) {
	/* Hide utility bar on mobile to save vertical space */
	.ej-header .ej-utility-bar {
		display: none;
	}

	/* Header orange bar: stack into rows */
	.ej-header .wp-block-group.alignfull[style*="background-color:#FD7609"] {
		padding-top: 0.75rem !important;
		padding-bottom: 0.75rem !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	/* The flex row inside orange header: allow wrap so search drops to row 2 */
	.ej-header .wp-block-group.alignfull[style*="background-color:#FD7609"] > .wp-block-group {
		flex-wrap: wrap !important;
		gap: 0.5rem !important;
	}

	/* Logo group: take available space, push cart to far right */
	.ej-header .wp-block-group.alignfull[style*="background-color:#FD7609"] > .wp-block-group > .wp-block-group:first-child {
		flex: 1;
		min-width: 0;
	}

	/* Hide logo text on mobile — keep only logo image */
	.ej-header p[style*="1.75rem"] {
		display: none !important;
	}

	/* Logo group: shrink to icon only */
	.ej-header .wp-block-group.alignfull[style*="background-color:#FD7609"] > .wp-block-group > .wp-block-group:first-child {
		flex: 0 0 auto !important;
	}

	.ej-header .wp-block-site-logo img {
		width: 40px !important;
		height: auto !important;
	}

	/* Search bar: fill remaining space on same row */
	.ej-header .ej-search-bar,
	.ej-header .wp-block-search {
		flex: 1 1 0% !important;
		min-width: 0 !important;
		max-width: none !important;
		order: 0 !important;
	}

	.ej-header .wp-block-search__inside-wrapper {
		height: 40px !important;
	}

	/* Mini cart: keep compact next to search */
	.ej-header .wc-block-mini-cart {
		flex-shrink: 0;
	}

	/* Navigation bar: padding + right-align hamburger */
	.ej-nav-bar {
		padding: 0.5rem 1rem !important;
	}

	.ej-nav-bar .wp-block-navigation {
		justify-content: flex-end !important;
	}

	.ej-nav-bar .wp-block-navigation__responsive-container-open {
		margin-left: auto;
	}

	/* 3-line hamburger: override default 2-line SVG */
	.ej-nav-bar .wp-block-navigation__responsive-container-open svg {
		display: none;
	}

	.ej-nav-bar .wp-block-navigation__responsive-container-open {
		width: 26px;
		height: 20px;
		position: relative;
		background: transparent;
		border: none;
		cursor: pointer;
	}

	.ej-nav-bar .wp-block-navigation__responsive-container-open::before,
	.ej-nav-bar .wp-block-navigation__responsive-container-open::after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: 2.5px;
		background: #334155;
		border-radius: 2px;
	}

	.ej-nav-bar .wp-block-navigation__responsive-container-open::before {
		top: 0;
		box-shadow: 0 8.5px 0 #334155;
	}

	.ej-nav-bar .wp-block-navigation__responsive-container-open::after {
		bottom: 0;
	}

	/* Mobile overlay menu styling */
	.ej-nav-bar .wp-block-navigation__responsive-container.is-menu-open {
		background: #ffffff;
		padding: 1rem;
	}

	.ej-nav-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		color: #334155 !important;
		padding: 0.75rem 1rem !important;
		border-bottom: 1px solid #f1f5f9;
		font-size: 1rem;
	}

	.ej-nav-bar .wp-block-navigation__responsive-container-open {
		color: #334155;
	}

	/* Hero heading: prevent overflow */
	h1.wp-block-heading {
		word-break: break-word;
		overflow-wrap: break-word;
	}

	/* Hero buttons stack on small screens */
	.wp-block-buttons {
		flex-wrap: wrap !important;
	}

	.wp-block-button {
		width: 100%;
	}

	.wp-block-button__link {
		width: 100%;
		text-align: center;
	}

	/* Further reduce section padding */
	.wp-block-group.alignfull[style*="padding-left:1.5rem"] {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	/* Stat counter label smaller on mobile */
	.ej-stat-counter__label {
		font-size: 0.875rem;
	}

	/* Hero mascot image: remove rotation on mobile */
	.wp-block-column [style*="rotate(3deg)"] {
		transform: none !important;
		border-radius: 2rem !important;
	}

	/* Footer: tighter padding */
	footer .wp-block-group.alignfull {
		padding-top: 2.5rem !important;
		padding-bottom: 1.5rem !important;
	}

	/* Contact page: operating hours rows don't squish */
	.wp-block-group[style*="space-between"] p {
		white-space: nowrap;
	}

	/* WhatsApp floating button: slightly smaller on mobile */
	a[href*="wa.me"][style*="position: fixed"] {
		width: 52px !important;
		height: 52px !important;
		bottom: 1rem !important;
		right: 1rem !important;
	}

	a[href*="wa.me"][style*="position: fixed"] svg {
		width: 28px;
		height: 28px;
	}
}

/* ==============================
   WooCommerce Styles
   ============================== */

/* --- Product Cards --- */
.ej-product-card {
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	overflow: hidden;
}

.ej-product-card:hover {
	box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}

.ej-product-card .wc-block-components-product-image img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}

/* --- Product Grid: Add to Cart button --- */
.ej-product-grid .wp-block-button__link,
.ej-product-grid .wc-block-components-product-button__button {
	width: 100%;
	text-align: center;
	background-color: #FD7609;
	color: #ffffff;
	border: none;
	border-radius: 0.5rem;
	font-size: 0.8125rem;
	font-weight: 700;
	padding: 0.625rem 1rem;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.ej-product-grid .wp-block-button__link:hover,
.ej-product-grid .wc-block-components-product-button__button:hover {
	background-color: #e56a08;
}

/* --- Shop Sidebar --- */
.ej-shop-sidebar .wc-block-product-categories-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ej-shop-sidebar .wc-block-product-categories-list-item {
	margin-bottom: 0;
}

.ej-shop-sidebar .wc-block-product-categories-list-item a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.5rem 0;
	color: #334155;
	text-decoration: none;
	font-size: 0.875rem;
	border-bottom: 1px solid #f8fafc;
	transition: color 0.15s ease;
}

.ej-shop-sidebar .wc-block-product-categories-list-item a:hover {
	color: #FD7609;
}

.ej-shop-sidebar .wc-block-product-categories-list-item__count {
	color: #94a3b8;
	font-size: 0.75rem;
}

/* --- Price Filter --- */
.wc-block-price-filter .wc-block-components-price-slider__range-input-wrapper {
	accent-color: #FD7609;
}

.wc-block-price-filter .wc-block-components-price-slider__controls .wc-block-components-price-slider__amount {
	color: #0C3B2B;
	font-weight: 600;
}

/* --- Active Filters chips --- */
.wc-block-active-filters .wc-block-active-filters__list-item {
	background: #fff7ed;
	border: 1px solid #FD760933;
	border-radius: 2rem;
	padding: 0.25rem 0.75rem;
	font-size: 0.8125rem;
	color: #0C3B2B;
}

/* --- Catalog Sorting dropdown --- */
.wc-block-catalog-sorting select,
.woocommerce-ordering select {
	border: 1px solid #e2e8f0;
	border-radius: 0.5rem;
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	color: #334155;
	background: #ffffff;
}

/* --- Single Product: Gallery --- */
.ej-product-gallery .woocommerce-product-gallery {
	margin: 0;
}

.ej-product-gallery .woocommerce-product-gallery__image img,
.ej-product-gallery .wc-block-woocommerce-product-image-gallery img {
	border-radius: 0.5rem;
}

/* --- Single Product: Add to Cart --- */
.single-product .single_add_to_cart_button,
.wc-block-add-to-cart-form .wc-block-components-product-add-to-cart-button {
	background-color: #FD7609 !important;
	color: #ffffff !important;
	border: none;
	border-radius: 0.75rem;
	font-weight: 700;
	font-size: 1rem;
	padding: 0.875rem 2rem;
	transition: background-color 0.15s ease, transform 0.15s ease;
	cursor: pointer;
}

.single-product .single_add_to_cart_button:hover,
.wc-block-add-to-cart-form .wc-block-components-product-add-to-cart-button:hover {
	background-color: #e56a08 !important;
	transform: translateY(-1px);
}

/* --- Single Product: Quantity input --- */
.single-product .quantity input.qty,
.wc-block-add-to-cart-form .wc-block-components-quantity-selector input {
	border: 1px solid #e2e8f0;
	border-radius: 0.5rem;
	padding: 0.5rem;
	text-align: center;
	font-weight: 600;
	width: 4rem;
}

/* --- Product Tabs --- */
.ej-product-tabs .wc-tabs,
.ej-product-tabs .woocommerce-tabs ul.tabs {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem 0;
	display: flex;
	gap: 0;
	border-bottom: 2px solid #f1f5f9;
}

.ej-product-tabs .wc-tabs li,
.ej-product-tabs .woocommerce-tabs ul.tabs li {
	margin: 0;
}

.ej-product-tabs .wc-tabs li a,
.ej-product-tabs .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.75rem 1.5rem;
	color: #64748b;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9375rem;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.ej-product-tabs .wc-tabs li.active a,
.ej-product-tabs .woocommerce-tabs ul.tabs li.active a {
	color: #FD7609;
	border-bottom-color: #FD7609;
}

.ej-product-tabs .wc-tabs li a:hover,
.ej-product-tabs .woocommerce-tabs ul.tabs li a:hover {
	color: #FD7609;
}

/* --- Cart & Checkout: WooCommerce Blocks --- */
.wc-block-cart .wc-block-components-totals-wrapper,
.wc-block-checkout .wc-block-components-totals-wrapper {
	border-color: #f1f5f9;
}

.wc-block-cart .wc-block-cart__submit-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	background-color: #FD7609 !important;
	color: #ffffff !important;
	border: none;
	border-radius: 0.75rem;
	font-weight: 700;
	padding: 0.875rem 2rem;
	transition: background-color 0.15s ease;
}

.wc-block-cart .wc-block-cart__submit-button:hover,
.wc-block-checkout .wc-block-components-checkout-place-order-button:hover {
	background-color: #e56a08 !important;
}

/* Cart items card style */
.wc-block-cart .wc-block-cart-items {
	background: #ffffff;
	border-radius: 0.75rem;
	border: 1px solid #f1f5f9;
	padding: 1.5rem;
}

/* Checkout form fields */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input {
	border: 1px solid #e2e8f0;
	border-radius: 0.5rem;
	font-size: 0.9375rem;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-text-input textarea:focus {
	border-color: #FD7609;
	box-shadow: 0 0 0 1px #FD7609;
}

/* --- Breadcrumbs --- */
.woocommerce-breadcrumb,
.wc-block-breadcrumbs {
	font-size: 0.8125rem;
	color: #64748b;
}

.woocommerce-breadcrumb a,
.wc-block-breadcrumbs a {
	color: #64748b;
	text-decoration: none;
}

.woocommerce-breadcrumb a:hover,
.wc-block-breadcrumbs a:hover {
	color: #FD7609;
}

/* --- WC Blocks inline "View cart" link after add-to-cart --- */
.wc-block-components-product-button .added_to_cart {
	display: block;
	margin-top: 0.5rem;
	color: #0C3B2B;
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
}

.wc-block-components-product-button .added_to_cart:hover {
	color: #FD7609;
}

/* --- Sale Badge --- */
.wc-block-components-product-sale-badge,
.onsale {
	background-color: #FD7609 !important;
	color: #ffffff !important;
	border-radius: 0.375rem;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.25rem 0.5rem;
}

/* --- Star Rating --- */
.wc-block-components-product-rating .wc-block-components-product-rating__stars,
.star-rating {
	color: #FD7609;
}

/* --- Mini Cart in header --- */
.wc-block-mini-cart__button {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

.wc-block-mini-cart__badge {
	background-color: #ffffff !important;
	color: #FD7609 !important;
	font-weight: 800 !important;
	font-size: 0.6875rem !important;
}

/* Mini cart drawer */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-components-button {
	background-color: #FD7609;
	border-radius: 0.75rem;
	font-weight: 700;
}

/* --- Pagination --- */
.wc-block-pagination .wc-block-pagination-page,
.woocommerce-pagination .page-numbers {
	border: 1px solid #e2e8f0;
	border-radius: 0.5rem;
	padding: 0.5rem 0.75rem;
	color: #334155;
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 600;
	transition: all 0.15s ease;
}

.wc-block-pagination .wc-block-pagination-page--active,
.wc-block-pagination .wc-block-pagination-page:hover,
.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination .page-numbers:hover {
	background-color: #FD7609;
	border-color: #FD7609;
	color: #ffffff;
}

/* --- WooCommerce notices/messages --- */
.woocommerce-message,
.wc-block-components-notice-banner.is-success {
	border-left: 4px solid #0C3B2B !important;
	background: #f0fdf4;
	padding: 1rem 1.25rem;
	border-radius: 0.5rem;
	font-size: 0.9375rem;
	color: #0f172a;
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.woocommerce-message a.button,
.woocommerce-message .restore-item {
	background: #0C3B2B;
	color: #ffffff;
	border: none;
	border-radius: 0.5rem;
	padding: 0.5rem 1rem;
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	margin-left: 1rem;
}

.woocommerce-message a.button:hover {
	background: #0a3023;
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	border-left: 4px solid #dc2626 !important;
	background: #fef2f2;
	padding: 1rem 1.25rem;
	border-radius: 0.5rem;
	font-size: 0.9375rem;
	margin-bottom: 1.5rem;
}

.woocommerce-info,
.wc-block-components-notice-banner.is-info {
	border-left: 4px solid #FD7609 !important;
	background: #fff7ed;
	padding: 1rem 1.25rem;
	border-radius: 0.5rem;
	font-size: 0.9375rem;
	margin-bottom: 1.5rem;
}

/* --- My Account --- */
.ej-my-account-wrap .woocommerce-MyAccount-navigation {
	float: none;
	width: 100%;
	margin-bottom: 1.5rem;
}

.ej-my-account-wrap .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	border-bottom: 2px solid #f1f5f9;
	padding-bottom: 0.25rem;
}

.ej-my-account-wrap .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.625rem 1.25rem;
	color: #475569;
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 600;
	border-radius: 0.5rem 0.5rem 0 0;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.ej-my-account-wrap .woocommerce-MyAccount-navigation ul li a:hover {
	color: #FD7609;
	background: #fff7ed;
}

.ej-my-account-wrap .woocommerce-MyAccount-navigation ul li.is-active a {
	color: #FD7609;
	border-bottom: 2px solid #FD7609;
	margin-bottom: -2px;
}

.ej-my-account-wrap .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
}

/* Login / Register forms */
.ej-my-account-wrap .woocommerce-form-login,
.ej-my-account-wrap .woocommerce-form-register {
	background: #ffffff;
	border: 1px solid #f1f5f9;
	border-radius: 0.75rem;
	padding: 1.5rem;
}

.ej-my-account-wrap .woocommerce-form-login label,
.ej-my-account-wrap .woocommerce-form-register label {
	color: #0f172a;
	font-weight: 600;
	font-size: 0.875rem;
	margin-bottom: 0.25rem;
	display: block;
}

.ej-my-account-wrap .woocommerce-form-login label .required,
.ej-my-account-wrap .woocommerce-form-register label .required {
	color: #dc2626;
}

/* Remove br between label and input, tighten spacing */
.ej-my-account-wrap .woocommerce-form-login br,
.ej-my-account-wrap .woocommerce-form-register br {
	display: none;
}

.ej-my-account-wrap .woocommerce-form-login p,
.ej-my-account-wrap .woocommerce-form-register p {
	margin-top: 0 !important;
	margin-bottom: 0.75rem !important;
}

.ej-my-account-wrap .woocommerce-form-login .form-row,
.ej-my-account-wrap .woocommerce-form-register .form-row {
	padding: 0 !important;
	margin: 0 0 0.75rem 0 !important;
}

/* Lost password link */
.ej-my-account-wrap .woocommerce-LostPassword a {
	color: #475569;
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
}

.ej-my-account-wrap .woocommerce-LostPassword a:hover {
	color: #FD7609;
}

.ej-my-account-wrap .woocommerce-form-login input[type="text"],
.ej-my-account-wrap .woocommerce-form-login input[type="password"],
.ej-my-account-wrap .woocommerce-form-login input[type="email"],
.ej-my-account-wrap .woocommerce-form-register input[type="text"],
.ej-my-account-wrap .woocommerce-form-register input[type="password"],
.ej-my-account-wrap .woocommerce-form-register input[type="email"] {
	width: 100%;
	border: 1px solid #e2e8f0;
	border-radius: 0.5rem;
	padding: 0.75rem 1rem;
	font-size: 0.9375rem;
	margin-top: 0.25rem;
	transition: border-color 0.15s ease;
}

.ej-my-account-wrap .woocommerce-form-login input:focus,
.ej-my-account-wrap .woocommerce-form-register input:focus {
	border-color: #FD7609;
	outline: none;
	box-shadow: 0 0 0 1px #FD7609;
}

.ej-my-account-wrap .woocommerce-form-login button,
.ej-my-account-wrap .woocommerce-form-register button,
.ej-my-account-wrap .woocommerce-Button {
	background-color: #FD7609 !important;
	color: #ffffff !important;
	border: none;
	border-radius: 0.75rem;
	font-weight: 700;
	font-size: 0.875rem;
	padding: 0.75rem 2rem;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.ej-my-account-wrap .woocommerce-form-login button:hover,
.ej-my-account-wrap .woocommerce-form-register button:hover,
.ej-my-account-wrap .woocommerce-Button:hover {
	background-color: #e56a08 !important;
}

/* Order history table */
.ej-my-account-wrap .woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
}

.ej-my-account-wrap .woocommerce-orders-table th {
	background: #f8fafc;
	color: #0C3B2B;
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.75rem 1rem;
	border-bottom: 2px solid #f1f5f9;
}

.ej-my-account-wrap .woocommerce-orders-table td {
	padding: 0.875rem 1rem;
	font-size: 0.875rem;
	border-bottom: 1px solid #f1f5f9;
	color: #334155;
}

.ej-my-account-wrap .woocommerce-orders-table .woocommerce-button {
	font-size: 0.8125rem;
	padding: 0.375rem 0.75rem;
	border-radius: 0.375rem;
}

/* --- Mobile: WooCommerce adjustments --- */
@media (max-width: 781px) {
	/* Sidebar stacks below on tablet */
	.ej-shop-sidebar {
		flex-basis: 100% !important;
		order: 2;
	}

	/* Product grid: 2 columns on tablet */
	.ej-product-grid .wc-block-product-template {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	/* Single product: image full width */
	.single-product .wp-block-columns {
		flex-direction: column;
	}
}

@media (max-width: 600px) {
	/* Product grid: 2 columns on mobile */
	.ej-product-grid .wc-block-product-template {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.75rem !important;
	}

	.ej-product-card .wc-block-components-product-image img {
		height: 150px;
	}

	/* Cart items tighter padding */
	.wc-block-cart .wc-block-cart-items {
		padding: 1rem;
	}

	/* Checkout: reduce padding */
	.wc-block-checkout {
		padding-left: 0;
		padding-right: 0;
	}
}

/* --- WhatsApp button pulse animation --- */
@keyframes ej-pulse {
	0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.4); }
	70% { box-shadow: 0 0 0 15px rgba(37, 211, 102, 0); }
	100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

a[href*="wa.me"][style*="position: fixed"] {
	animation: ej-pulse 2s infinite;
}
