.woocommerce.columns-4, ul.products.columns-4{
  columns:auto !important;
}
.ast-woo-shop-product-description, .ast-woo-product-category{
  display:none !important;
}

.menu-toggle, .ast-mobile-menu-trigger-minimal{
  color:#5e2f72 !important;
  -webkit-text-fill-color:#5e2f72 !important;
}
.menu-toggle svg, .ast-mobile-menu-trigger-minimal svg, .menu-toggle .ast-mobile-svg, .mobile-menu-toggle-icon svg{
  fill:#5e2f72 !important;
  color:#5e2f72 !important;
}

.ast-builder-menu-mobile .main-navigation .menu-item .menu-link,
#ast-hf-mobile-menu .menu-item .menu-link,
.ast-mobile-popup-content .ast-builder-menu-mobile .main-navigation .menu-item .menu-link{
  border-color:#cccccc !important;
}

.wp-block-spectra-accordion-child-header{column-gap:12px !important; gap:12px !important;}
.order-total .amount, .order-total th{color:#5e2f72 !important; font-weight:700 !important; font-size:19px !important;}
.woocommerce-info::before{display:none !important;}
body.columns-3 {
  column-count: auto !important;
  column-width: auto !important;
}

.main-header-bar .sub-menu a.menu-link,
.ast-theme-transparent-header .main-header-bar .sub-menu a.menu-link {
  color: #333333 !important;
  padding: 10px 20px !important;
  display: block !important;
}
.main-header-bar .sub-menu a.menu-link:hover {
  color: #e75480 !important;
}
.main-header-bar .sub-menu {
  background-color: #ffffff !important;
  padding: 8px 0 !important;
}
.main-header-bar .sub-menu li.menu-item {
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
.main-header-bar .sub-menu li.menu-item:last-child {
  border-bottom: none !important;
}

#menu-item-4378 > a.menu-link::before { content: "🖌️"; margin-right: 10px; }
#menu-item-4380 > a.menu-link::before { content: "🎁"; margin-right: 10px; }
#menu-item-4382 > a.menu-link::before { content: "💄"; margin-right: 10px; }
#menu-item-4384 > a.menu-link::before { content: "💅"; margin-right: 10px; }
#menu-item-4386 > a.menu-link::before { content: "🧴"; margin-right: 10px; }
#menu-item-4379 > a.menu-link::before { content: "🛁"; margin-right: 10px; }
#menu-item-4383 > a.menu-link::before { content: "🪒"; margin-right: 10px; }
#menu-item-4387 > a.menu-link::before { content: "✨"; margin-right: 10px; }
#menu-item-4381 > a.menu-link::before { content: "💇"; margin-right: 10px; }
#menu-item-4385 > a.menu-link::before { content: "🌸"; margin-right: 10px; }


.ui-slider .ui-slider-range,
.price_slider .ui-slider-range {
	background: #773F90 !important;
}
.ui-slider .ui-slider-handle,
.price_slider .ui-slider-handle {
	background: #773F90 !important;
	border-color: #773F90 !important;
}
.price_slider_amount .button {
	background: #773F90 !important;
	color: #ffffff !important;
}

.astra-icon.ast-icon-shopping-bag::after {
	background-color: #773F90 !important;
	color: #ffffff !important;
}

.astra-icon.ast-icon-shopping-bag,
.ast-woo-header-cart-total {
	color: #773F90 !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-Button,
a.button,
button.button,
input.button,
button[type="submit"],
input[type="submit"],
.wp-block-button__link,
.elementor-button {
	background-color: #773F90 !important;
	border-color: #773F90 !important;
	color: #ffffff !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-Button:hover,
a.button:hover,
button.button:hover,
input.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.elementor-button:hover {
	background-color: #773F90 !important;
	border-color: #773F90 !important;
	color: #FA2D64 !important;
}

.wc-block-product-filters__open-overlay,
.wc-block-product-filters__close-overlay,
.wc-block-components-button,
.wp-element-button {
	background-color: #773F90 !important;
	border-color: #773F90 !important;
	color: #ffffff !important;
}

.wc-block-product-filters__open-overlay:hover,
.wc-block-product-filters__close-overlay:hover,
.wc-block-components-button:hover,
.wp-element-button:hover,
.price_slider_amount .button:hover {
	color: #FA2D64 !important;
}

.wp-block-spectra-button.spectra-text-color-hover,
a.wp-block-button__link.spectra-text-color-hover {
	--spectra-text-color-hover: #FA2D64 !important;
	--spectra-background-color-hover: #773F90 !important;
	--spectra-border-hover-color: #773F90 !important;
}

.wp-block-spectra-button.spectra-text-color,
a.wp-block-button__link.spectra-text-color {
	--spectra-text-color: #ffffff !important;
}
.spectra-button__link {
	color: #ffffff !important;
}

body.ast-theme-transparent-header .astra-icon.ast-icon-shopping-bag,
body.ast-theme-transparent-header .ast-woo-header-cart-total {
	color: #ffffff !important;
}
body.ast-theme-transparent-header .astra-icon.ast-icon-shopping-bag::after {
	background-color: #ffffff !important;
	color: #773F90 !important;
}


.wp-block-spectra-icon.has-background svg.spectra-icon,
.wp-block-spectra-icon.has-background svg.spectra-icon path {
  fill: #773F90 !important;
  color: #773F90 !important;
}


.wp-block-spectra-icon:not(.has-background) svg.spectra-icon,
.wp-block-spectra-icon:not(.has-background) svg.spectra-icon path {
  fill: #773F90 !important;
  color: #773F90 !important;
}


.srfm-submit-button, button.srfm-submit-button, .srfm-button.srfm-submit-button {
  background-color: #773F90 !important;
  border-color: #773F90 !important;
}
.srfm-submit-button:hover, button.srfm-submit-button:hover {
  background-color: #5e3273 !important;
  border-color: #5e3273 !important;
}


/* FAQ accordion card style + purple arrow icon */
.wp-block-spectra-accordion-child-item.has-background {
  background-color: #ffffff !important;
  border: 1px solid #ececec !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  box-shadow: 0 2px 10px rgba(119, 63, 144, 0.08) !important;
}
.wp-block-spectra-accordion-child-header-icon svg.spectra-icon,
.wp-block-spectra-accordion-child-header-icon svg.spectra-icon path {
  fill: #773F90 !important;
  color: #773F90 !important;
}


/* Mini-Cart header icon - match brand purple */
.wc-block-mini-cart__button {
  background-color: #773F90 !important;
}
.wc-block-mini-cart__button:hover {
  background-color: #5e3273 !important;
}


/* Mini-Cart quantity badge - cleaner corner badge, less overlap with icon */
.wc-block-mini-cart__button .wc-block-mini-cart__icon {
  width: 1.8em !important;
  height: 1.8em !important;
}
.wc-block-mini-cart__badge {
  box-shadow: 0 0 0 2px #773F90 !important;
}

.wc-block-mini-cart__badge {
  transform: translateY(-20%) !important;
}


/* Hide shop sidebar (categories, recently viewed, filters) on My Account page only */
body.woocommerce-account #secondary.widget-area {
  display: none !important;
}
body.woocommerce-account #primary {
  width: 100% !important;
  flex-basis: 100% !important;
}


/* Hide Downloads tab from My Account navigation */
.woocommerce-MyAccount-navigation-link--downloads {
  display: none !important;
}


/* Add more breathing room on My Account page edges (fixed selector - page uses ast-page-builder-template which forces 0 padding) */
body.woocommerce-account.ast-page-builder-template .site-content > .ast-container {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
body.woocommerce-account .entry-header {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
@media (max-width: 600px) {
  body.woocommerce-account.ast-page-builder-template .site-content > .ast-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.woocommerce-account .entry-header {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}


/* Hide Recently Viewed Products widget from product archive/category pages */
body.ast-woo-shop-archive .widget_recently_viewed_products {
  display: none !important;
}

/* Add breathing room on product archive/category pages edges (same fix as My Account) */
body.ast-woo-shop-archive.ast-page-builder-template .site-content > .ast-container {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
@media (max-width: 600px) {
  body.ast-woo-shop-archive.ast-page-builder-template .site-content > .ast-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

.wc-block-mini-cart__amount {
  display: none !important;
}
.wc-block-mini-cart__button {
  gap: 0 !important;
}


/* Hide price on Astra's mobile header cart icon to match desktop mini-cart (icon + count only) */
.ast-woo-header-cart-total {
  display: none !important;
}

/* Shop page product cards: hide short description (per admin request) */
.ast-woo-shop-archive .ast-woo-shop-product-description {
  display: none !important;
}

/* Shop page product cards: bold product title */
.ast-woo-shop-archive .woocommerce-loop-product__title {
  font-weight: 700 !important;
}

/* Shop page product cards: make price clearer (brand color + bolder) */
.ast-woo-shop-archive ul.products li.product .price {
  color: #773F90 !important;
  font-weight: 800 !important;
  font-size: 16px !important;
}


/* Shop page: content/image were touching the vertical divider border of the sidebar - add left spacing */
body.ast-woo-shop-archive #primary.content-area {
  padding-left: 30px !important;
  padding-right: 20px !important;
}


/* Hide "& Free Shipping" text next to price (per admin request) */
.ast-shipping-text {
  display: none !important;
}


/* Single Product page: make price purple to match brand color (per admin request) */
.single-product .summary .price {
  color: #773F90 !important;
  font-weight: 800 !important;
}


/* Single Product page: add side padding around the whole product area (gallery image, summary, and tabs) so nothing is stuck to the page edge (per admin request) */
body.single-product div.product.type-product {
  padding-left: 30px !important;
  padding-right: 30px !important;
  box-sizing: border-box !important;
}


/* Header: group search/cart/account icons together on the right, next to logo (per admin request) */
.site-header-primary-section-right-center {
  flex-grow: 0 !important;
}
.site-header-primary-section-right {
  gap: 18px !important;
}


/* My Account > Addresses: style "Add Billing/Shipping address" links as visible buttons matching site button style, sized appropriately (per admin request - reduced size) */
.woocommerce-MyAccount-content a.edit {
  display: inline-block !important;
  background-color: #773F90 !important;
  color: #ffffff !important;
  padding: 7px 16px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  border-radius: 30px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease !important;
}
.woocommerce-MyAccount-content a.edit:hover {
  background-color: #5e2f72 !important;
  color: #ffffff !important;
}
.woocommerce-Address-title h2 {
  font-size: 20px !important;
  line-height: 1.3 !important;
}/* My Account > Addresses: style "Add Billing/Shipping address" links as visible buttons matching site button style (per admin request) */
.woocommerce-MyAccount-content a.edit {
  display: inline-block !important;
  background-color: #773F90 !important;
  color: #ffffff !important;
  padding: 10px 20px !important;
  border-radius: 30px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease !important;
}
.woocommerce-MyAccount-content a.edit:hover {
  background-color: #5e2f72 !important;
  color: #ffffff !important;
}

.wc-proceed-to-checkout a.checkout-button {
	  display: inline-block !important;
	  width: auto !important;
	  padding: 10px 20px !important;
	  font-size: 12px !important;
}


.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination a.page-numbers:hover,
.woocommerce-pagination a.page-numbers:focus {
	  background-color: #773F90 !important;
	  border-color: #773F90 !important;
	  color: #ffffff !important;
}

.wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-runnable-track {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
.wc-block-product-filter-price-slider__range input[type="range"]::-moz-range-track {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
.wc-block-product-filter-price-slider__range input[type="range"]::-moz-range-progress {
  background: transparent !important;
}


/* Checkbox checkmark color - match brand purple */
.wc-block-product-filter-checkbox-list__input-wrapper:has(input:checked) {
  color: #773F90 !important;
  border-color: #773F90 !important;
}


/* Hide large "Shop" page title, keep breadcrumb */
.woocommerce-products-header__title.page-title {
  display: none !important;
}


/* Hide Filters widget on Cart page only */
body.woocommerce-cart .wp-block-woocommerce-product-filters {
	display: none !important;
}


/* Expand cart content to full width since sidebar filter is hidden */
body.woocommerce-cart #secondary {
	display: none !important;
}
body.woocommerce-cart #primary {
	width: 100% !important;
}

/* Align Cart title with Product column start */
body.woocommerce-cart #primary h1.entry-title {
	padding-left: 0;
	padding-right: 205px;
}

/* Checkout page: hide Filters sidebar and expand content */
body.page-id-3341 #secondary { display: none !important; }
body.page-id-3341 #primary { width: 100% !important; flex: 1 1 100% !important; max-width: 100% !important; padding-left: 40px !important; box-sizing: border-box !important; }


/* Compact search results layout */
body.search-results .post-content {
  display: grid;
  grid-template-columns: 140px 1fr;
  column-gap: 20px;
  align-items: start;
}
body.search-results .post-content .post-thumb {
  grid-column: 1;
  grid-row: 1 / span 6;
  width: 140px;
  height: 140px;
  overflow: hidden;
  border-radius: 8px;
}
body.search-results .post-content .post-thumb img {
  width: 140px;
  height: 140px;
  object-fit: cover;
  border-radius: 8px;
}
body.search-results .post-content h2.entry-title,
body.search-results .post-content header.entry-header,
body.search-results .post-content .ast-excerpt-container,
body.search-results .post-content p.read-more,
body.search-results .post-content .entry-content {
  grid-column: 2;
}
body.search-results article {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #eee;
}

/* Search results pagination color to match site purple */
body.search-results .page-numbers.current,
body.search-results nav.navigation .page-numbers.current {
  background-color: #773f90 !important;
  color: #ffffff !important;
}

/* Order-received page section headers to match site purple */
.woocommerce-order-details__title,
.woocommerce-column__title {
  background-color: #773f90 !important;
  color: #ffffff !important;
}

/* Cart page: unify pale/white buttons (e.g. Update cart, Apply coupon) with site purple and white text */
body.woocommerce-cart .button,
body.woocommerce-cart button,
body.woocommerce-cart input.button,
body.woocommerce-cart .checkout-button,
body.woocommerce-cart table.cart td.actions .button,
body.woocommerce-cart table.cart td.actions button,
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-cart .wp-element-button,
body.woocommerce-cart .wc-block-components-totals-coupon__button {
	  background-color:#773f90 !important;
	  border-color:#773f90 !important;
	  color:#ffffff !important;
	  opacity:1 !important;
}
body.woocommerce-cart .button:disabled,
body.woocommerce-cart .button.disabled,
body.woocommerce-cart .wc-block-components-button:disabled {
	  background-color:#773f90 !important;
	  border-color:#773f90 !important;
	  color:#ffffff !important;
	  opacity:1 !important;
}
body.woocommerce-cart .button span,
body.woocommerce-cart button span,
body.woocommerce-cart .wc-block-components-button__text {
	  color:#ffffff !important;
}

.woocommerce-cart-form thead tr,
.woocommerce-cart-form thead th {
	    background-color: #773f90 !important;
	    color: #ffffff !important;
	    font-weight: bold !important;
}

.cart_totals h2 {
	    background-color: #773f90 !important;
	    color: #ffffff !important;
	    font-weight: bold !important;
}

.woocommerce-billing-fields h3,
#order_review_heading {
	    background-color: #773f90 !important;
	    color: #ffffff !important;
	    font-weight: bold !important;
}

.woocommerce-billing-fields h3 {
	    padding-left: 20px !important;
	    padding-right: 20px !important;
}

/* Language switcher next to search in header */
aside[data-section="sidebar-widgets-header-widget-1"]{
	  display:flex !important;
	  align-items:center !important;
	  gap:12px;
}
aside[data-section="sidebar-widgets-header-widget-1"] .widget{
	  margin:0 !important;
}

/* Hide the nav-menu language switcher on desktop; keep only in mobile off-canvas menu */
#ast-hf-menu-1 .trp-menu-ls-item{
	  display:none !important;
}

/* Shrink header language switcher to match cart button size */
.trp-shortcode-switcher.trp-open-on-hover{
	  padding:2px 0 !important;
}
.trp-shortcode-switcher .trp-language-item.trp-language-item__default{
	  padding:4px 8px !important;
	  gap:4px;
}
.trp-shortcode-switcher .trp-language-item-name{
font-size:11px !important;
}
.trp-shortcode-switcher .trp-flag-image{
	  width:12px !important;
	  height:9px !important;
}

h2.woocommerce-order-details__title, h2.woocommerce-column__title{
	  font-size:20px !important;
	  font-weight:bold !important;
}


body.translatepress-ar .footer-cols-row{
	text-align:right !important;
}

body.translatepress-ar .woocommerce-loop-product__title{
	    text-align:right !important;
}



body.translatepress-ar .wc-block-product-filters__overlay-content{
	    padding-left:20px !important;
	    padding-right:20px !important;
}



/* Premium redesign for pagination buttons + correct RTL arrow direction */
nav.woocommerce-pagination ul.page-numbers {
	display: flex !important;
	gap: 10px !important;
	justify-content: center !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}
nav.woocommerce-pagination ul.page-numbers li {
	margin: 0 !important;
}
nav.woocommerce-pagination li > .page-numbers {
	min-width: 42px !important;
	height: 42px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid #e3d7ea !important;
	border-radius: 10px !important;
	color: #5e2f72 !important;
	font-weight: 600 !important;
	background: #fff !important;
	transition: all .2s ease !important;
	box-shadow: none !important;
}
nav.woocommerce-pagination li > a.page-numbers:hover {
	background: #5e2f72 !important;
	color: #fff !important;
	border-color: #5e2f72 !important;
	box-shadow: 0 6px 14px rgba(94,47,114,.25) !important;
	transform: translateY(-2px) !important;
}
nav.woocommerce-pagination li > .page-numbers.current {
	background: #5e2f72 !important;
	color: #fff !important;
	border-color: #5e2f72 !important;
	box-shadow: 0 6px 14px rgba(94,47,114,.25) !important;
}
nav.woocommerce-pagination li > a.prev,
nav.woocommerce-pagination li > a.next {
	border-radius: 50% !important;
	background: #f8f3fa !important;
	font-size: 0 !important;
}
nav.woocommerce-pagination li > a.prev::before {
	content: "\2190";
	font-size: 16px;
}
nav.woocommerce-pagination li > a.next::before {
	content: "\2192";
	font-size: 16px;
}
nav.woocommerce-pagination li > a.prev:hover,
nav.woocommerce-pagination li > a.next:hover {
	background: #5e2f72 !important;
}

/* Remove black square borders behind pagination buttons and fix hover arrow flip */
nav.woocommerce-pagination ul.page-numbers li {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}
nav.woocommerce-pagination li > a.prev:hover,
nav.woocommerce-pagination li > a.next:hover {
	transform: scaleX(-1) translateY(-2px) !important;
	background: #5e2f72 !important;
}


/* Fix pagination button clipped at top on hover (li had overflow:hidden causing lift animation to be cut off) */
nav.woocommerce-pagination ul.page-numbers li {
	overflow: visible !important;
}


/* ===== Premium redesign: homepage hero section (jmaloo) ===== */
.wp-container-spectra-container-is-layout-769280d4 h1.wp-block-spectra-content {
	text-shadow: 0 4px 24px rgba(0,0,0,0.3);
}
.wp-container-spectra-container-is-layout-769280d4 h6.wp-block-spectra-content {
	letter-spacing: 3px;
	opacity: 0.95;
}
.wp-container-spectra-container-is-layout-769280d4 .wp-block-spectra-button.wp-block-button__link {
	border-radius: 6px !important;
	box-shadow: 0 10px 30px rgba(0,0,0,0.25) !important;
	transition: all .35s ease !important;
}
.wp-container-spectra-container-is-layout-769280d4 .wp-block-spectra-button.wp-block-button__link:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 16px 34px rgba(0,0,0,0.35) !important;
}

/* ===== Premium redesign: header nav links + icons (jmaloo) ===== */
header.site-header .ast-primary-header-bar {
	box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}
.main-header-menu > li > a {
	transition: color .25s ease;
	position: relative;
}
.main-header-menu > li > a::after {
	content: "";
	position: absolute;
	bottom: 2px;
	inset-inline-start: 20px;
	inset-inline-end: 20px;
	height: 2px;
	background: #5e2f72;
	transform: scaleX(0);
	transition: transform .25s ease;
	transform-origin: center;
}
.main-header-menu > li > a:hover {
	color: #5e2f72 !important;
}
.main-header-menu > li > a:hover::after {
	transform: scaleX(1);
}
.ast-header-search .ast-search-menu-icon,
.ast-header-account .ast-header-account-link,
.ast-header-woo-cart .ast-site-header-cart {
	transition: transform .25s ease, opacity .25s ease;
}
.ast-header-search:hover .ast-search-menu-icon,
.ast-header-account:hover .ast-header-account-link,
.ast-header-woo-cart:hover .ast-site-header-cart {
	transform: scale(1.12);
}


/* ===== Premium header refresh (added by Claude, review before keeping) ===== */
/* Soften the solid cart button into a subtle outline style */
.wc-block-mini-cart__button {
	  background-color: rgba(255,255,255,0.12) !important;
	  border: 1px solid rgba(255,255,255,0.55) !important;
	  transition: transform .2s ease, background-color .2s ease !important;
}
.wc-block-mini-cart__button:hover {
	  background-color: #773F90 !important;
	  transform: scale(1.06);
}
/* Make the language switcher pill match the same subtle outline style */
.trp-shortcode-switcher .trp-language-item.trp-language-item__default {
	  background-color: rgba(255,255,255,0.12) !important;
	  border: 1px solid rgba(255,255,255,0.55) !important;
	  border-radius: 20px !important;
	  transition: transform .2s ease, background-color .2s ease !important;
}
.trp-shortcode-switcher .trp-language-item.trp-language-item__default:hover {
	  background-color: rgba(255,255,255,0.25) !important;
	  transform: scale(1.05);
}
/* Fix: mini-cart icon invisible on white desktop header - force brand purple (not just on hover) */
@media (min-width: 922px) {
	.wc-block-mini-cart__button {
		    background-color: #773F90 !important;
		    border-color: #773F90 !important;
	}
	.wc-block-mini-cart__button:hover {
		    background-color: #5e3273 !important;
		    border-color: #5e3273 !important;
	}
}

/* ===== Jmaloo price colour (brand purple) ===== */
body.woocommerce ul.products li.product .price,
body.woocommerce ul.products li.product .price bdi,
body.woocommerce ul.products li.product .price .amount,
body.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,
body.woocommerce div.product p.price,
body.woocommerce div.product p.price bdi,
body.woocommerce div.product p.price .amount,
body.woocommerce div.product span.price,
body.woocommerce div.product span.price bdi,
body.woocommerce div.product span.price .amount,
body ul.products li.product .price,
body ul.products li.product .price bdi,
body ul.products li.product .price .amount,
body .wc-block-components-product-price,
body .wc-block-components-product-price .wc-block-formatted-money-amount,
body .wp-block-woocommerce-product-price .woocommerce-Price-amount,
body .widget .woocommerce-Price-amount {
  color: #773F90 !important;
}

body.woocommerce ul.products li.product .price del,
body.woocommerce ul.products li.product .price del bdi,
body.woocommerce ul.products li.product .price del .amount,
body.woocommerce div.product p.price del,
body.woocommerce div.product p.price del bdi,
body.woocommerce div.product p.price del .amount,
body ul.products li.product .price del,
body ul.products li.product .price del bdi {
  color: #9a9aa0 !important;
  opacity: 1;
}

body.woocommerce ul.products li.product .price ins,
body.woocommerce ul.products li.product .price ins bdi,
body.woocommerce div.product p.price ins,
body.woocommerce div.product p.price ins bdi {
  color: #773F90 !important;
  text-decoration: none;
}


/* ===== Jmaloo wishlist button ===== */
.yith-add-to-wishlist-button-block { justify-content: flex-start; margin-top: 6px; }
ul.products li.product .yith-add-to-wishlist-button-block { justify-content: flex-start; }
a.yith-wcwl-add-to-wishlist-button,
.yith-wcwl-add-to-wishlist-button,
.yith-wcwl-add-to-wishlist-button__label {
  color: #773F90 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  letter-spacing: .2px;
}
.yith-wcwl-add-to-wishlist-button:hover,
.yith-wcwl-add-to-wishlist-button:hover .yith-wcwl-add-to-wishlist-button__label {
  color: #5c3072 !important;
}
.yith-wcwl-add-to-wishlist-button svg,
.yith-wcwl-add-to-wishlist svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #773F90 !important;
}
.yith-wcwl-add-to-wishlist-button:hover svg { stroke: #5c3072 !important; }
.yith-wcwl-add-to-wishlist-button--added svg,
.yith-wcwl-add-to-wishlist-button.exists svg,
.yith-wcwl-wishlistexistsbrowse svg,
.yith-wcwl-wishlistaddedbrowse svg {
  fill: #773F90 !important;
  stroke: #773F90 !important;
}
.yith-wcwl-wishlistaddedbrowse a, .yith-wcwl-wishlistexistsbrowse a { color:#773F90 !important; font-weight:600; }
.single-product .yith-wcwl-add-to-wishlist { margin-top: 14px; }
.woocommerce .wishlist_table .product-add-to-cart a.button,
.wishlist-title-container .show-title-form,
.yith-wcwl-form .button.wishlist-button { background-color:#773F90 !important; border-color:#773F90 !important; color:#fff !important; }

/* === Wishlist heart on product cards (Ounass-style, Jmaloo colors) === */
ul.products li.product{position:relative;}
ul.products li.product .astra-shop-thumbnail-wrap{position:relative;}
ul.products li.product .yith-add-to-wishlist-button-block{
  position:absolute;top:4px;right:4px;z-index:5;
  margin:0;padding:0;width:44px;height:44px;
}
body.rtl ul.products li.product .yith-add-to-wishlist-button-block{right:auto;left:4px;}
ul.products li.product .yith-wcwl-add-to-wishlist-button{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;margin:0;padding:0;
  background:transparent;border:0;border-radius:50%;
  color:#773F90;
  transition:color .2s ease,background-color .2s ease,transform .2s ease;
}
ul.products li.product .yith-wcwl-add-to-wishlist-button__label,
ul.products li.product .yith-wcwl-add-to-wishlist-button .yith-wcwl-tooltip,
ul.products li.product .yith-wcwl-add-to-wishlist-button span:not(.yith-wcwl-icon){
  display:none !important;
}
ul.products li.product .yith-wcwl-add-to-wishlist-button svg{
  width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none;
}
ul.products li.product .yith-wcwl-add-to-wishlist-button:hover{
  color:#5e2f72;background:rgba(119,63,144,.08);transform:scale(1.08);
}
ul.products li.product .yith-wcwl-add-to-wishlist-button--added svg,
ul.products li.product .yith-wcwl-add-to-wishlist-button.added svg,
ul.products li.product .yith-wcwl-browse-wishlist-button svg{
  fill:#773F90;stroke:#773F90;
}

/* === Header wishlist icon === */
.jm-wishlist-link{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  color:#773F90;text-decoration:none;line-height:0;
  transition:color .2s ease,background-color .2s ease,transform .2s ease;
}
.jm-wishlist-link:hover,.jm-wishlist-link:focus{
  color:#5e2f72;background:rgba(119,63,144,.08);transform:scale(1.06);
}
.jm-wishlist-link::before{
  content:"";display:block;width:24px;height:24px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%208.25c0-2.485-2.099-4.5-4.688-4.5-1.935%200-3.597%201.126-4.312%202.733-.715-1.607-2.377-2.733-4.313-2.733C5.1%203.75%203%205.765%203%208.25c0%207.22%209%2012%209%2012s9-4.78%209-12Z%27%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%208.25c0-2.485-2.099-4.5-4.688-4.5-1.935%200-3.597%201.126-4.312%202.733-.715-1.607-2.377-2.733-4.313-2.733C5.1%203.75%203%205.765%203%208.25c0%207.22%209%2012%209%2012s9-4.78%209-12Z%27%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}
/* on the transparent home header the other icons are white, so match them */
body.ast-theme-transparent-header .jm-wishlist-link{color:#fff;}
body.ast-theme-transparent-header .jm-wishlist-link:hover,
body.ast-theme-transparent-header .jm-wishlist-link:focus{
  color:#fff;background:rgba(255,255,255,.18);
}
.ast-header-html-1 .ast-builder-html-element{line-height:0;}



/* Pre-order badge: fit the label instead of a fixed circle (EN + AR) */
.onsale.on-preorder{
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  padding:6px 12px !important;
  border-radius:100px !important;
  line-height:1.3 !important;
  font-size:11px !important;
  white-space:nowrap !important;
  display:inline-block !important;
}


/* === Hide the "Preorder" badge site-wide (was covering the wishlist heart) === */
.onsale.on-preorder,
.woocommerce span.onsale.on-preorder {
	display: none !important;
}
li.product .yith-add-to-wishlist-button-block {
	z-index: 30 !important;
}

/* Filter "Show more" toggle - subtle text link */
.wc-block-product-filter-checkbox-list__show-more-button,
.wc-block-product-filter-checkbox-list__show-less-button{
	background:transparent !important;
	border:0 !important;
	box-shadow:none !important;
	width:auto !important;
	padding:4px 0 !important;
	margin-top:6px !important;
	border-radius:0 !important;
	color:#5a5a68 !important;
	font:600 13px/1.4 Quicksand, sans-serif !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	text-decoration:none !important;
	display:inline-flex !important;
	align-items:center;
	gap:5px;
	cursor:pointer;
	transition:color .15s;
}
.wc-block-product-filter-checkbox-list__show-more-button[hidden],
.wc-block-product-filter-checkbox-list__show-less-button[hidden]{
	display:none !important;
}
.wc-block-product-filter-checkbox-list__show-more-button::after,
.wc-block-product-filter-checkbox-list__show-less-button::after{
	content:"";
	width:6px;
	height:6px;
	border-right:1.5px solid currentColor;
	border-bottom:1.5px solid currentColor;
	transform:rotate(45deg);
	margin-top:-3px;
}
.wc-block-product-filter-checkbox-list__show-less-button::after{
	transform:rotate(225deg);
	margin-top:2px;
}
.wc-block-product-filter-checkbox-list__show-more-button:hover,
.wc-block-product-filter-checkbox-list__show-less-button:hover{
	color:#fb4b7a !important;
	background:transparent !important;
	text-decoration:none !important;
}
.wc-block-product-filter-checkbox-list__show-more-button:focus-visible,
.wc-block-product-filter-checkbox-list__show-less-button:focus-visible{
	outline:2px solid #fb4b7a;
	outline-offset:2px;
}

/* Price filter: currency label next to heading, compact number inputs */
.wc-block-product-filter-price-slider__left,
.wc-block-product-filter-price-slider__right{
	min-width:0;
}
.wc-block-product-filter-price-slider .text input[type="text"].min,
.wc-block-product-filter-price-slider .text input[type="text"].max{
	width:8ch;
	max-width:100%;
	min-width:0;
	box-sizing:border-box;
	padding:8px 6px;
	text-align:center;
}
.wp-block-woocommerce-product-filter-price > h1::after,
.wp-block-woocommerce-product-filter-price > h2::after,
.wp-block-woocommerce-product-filter-price > h3::after,
.wp-block-woocommerce-product-filter-price > h4::after,
.wp-block-woocommerce-product-filter-price > h5::after,
.wp-block-woocommerce-product-filter-price > h6::after{
	content:"(EGP)";
	unicode-bidi:isolate;
	margin-inline-start:.4em;
	font-size:.7em;
	font-weight:400;
	opacity:.65;
}


/* === Live search suggestions: RTL fix (added 2026-08-05) === */
html[dir="rtl"] .ast-search-menu-icon .search-form .ast-live-search-results{
  position:absolute;
  left:0;
  right:0;
  width:auto;
  max-height:400px;
  overflow-y:auto;
  z-index:999999;
  background-color:#ffffff;
  box-shadow:0 4px 6px -2px rgba(16,24,40,.03), 0 12px 16px -4px rgba(16,24,40,.08);
}

/* === Live search suggestions: RTL inner layout fix (added 2026-08-05) === */
html[dir="rtl"] .ast-search-menu-icon .search-form .ast-live-search-results{
  padding:0 4px 4px;
  border-bottom:1px solid #dddddd;
  border-radius:4px;
  font-size:15px;
}
html[dir="rtl"] .ast-live-search-results .ast-search--posttype-heading{
  display:flex;
  padding:16px 16px 10px;
}
html[dir="rtl"] .ast-live-search-results .ast-search-item{
  display:flex;
  padding:14px 20px;
  font-size:13.5px;
}

/* ===== Header fixes (mobile/tablet): centered logo, tighter icon spacing, menu toggle color ===== */
.ast-header-break-point .ast-primary-header-bar .ast-builder-grid-row.ast-builder-grid-row-has-sides{
  grid-template-columns: 1fr auto 1fr;
  column-gap: 10px;
}
.ast-header-break-point .site-header-primary-section-right{
  gap: 4px;
}
.ast-header-break-point .site-header-primary-section-right > .ast-builder-layout-element{
  margin: 0 !important;
  padding: 0 !important;
}
.ast-header-break-point .site-header-primary-section-right .astra-search-icon,
.ast-header-break-point .site-header-primary-section-right .jm-wishlist-link,
.ast-header-break-point .site-header-primary-section-right .cart-container{
  padding: 6px !important;
}
body.ast-theme-transparent-header .menu-toggle.main-header-menu-toggle,
body.ast-theme-transparent-header .menu-toggle.ast-mobile-menu-trigger-minimal{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.ast-theme-transparent-header .menu-toggle.main-header-menu-toggle svg,
body.ast-theme-transparent-header .menu-toggle.ast-mobile-menu-trigger-minimal svg,
body.ast-theme-transparent-header .menu-toggle .ast-mobile-svg{
  fill:#ffffff !important;
  color:#ffffff !important;
}

/* === Mobile filter UX (added 2026-08-05) === */
@media (max-width: 921px) {
  .wc-block-product-filters__open-overlay{ width:100%; min-height:48px; display:flex; align-items:center; justify-content:center; gap:8px; padding:10px 18px; border-radius:999px; font-size:15px; font-weight:600; }
  .wc-block-product-filters__overlay-dialog{ width:100%; max-width:100%; max-height:100%; border-radius:0; }
  .wc-block-product-filters__overlay-header{ position:sticky; top:0; z-index:2; background:#fff; padding:12px 16px; }
  .wc-block-product-filters__overlay-header button{ min-width:44px; min-height:44px; }
  .wc-block-product-filters label{ min-height:40px; display:flex; align-items:center; gap:8px; }
}
/* Arabic label for filter trigger (WooCommerce re-renders it in English client-side) */
html[lang="ar"] .wc-block-product-filters__open-overlay > span[data-trp-gettext]{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
html[lang="ar"] .wc-block-product-filters__open-overlay::after{ content:"\062A\0635\0641\064A\0629\0020\0627\0644\0645\0646\062A\062C\0627\062A"; }

/* --- Narrow phones (<=400px): stack filter + sorting vertically --- */
@media (max-width: 400px) {
  .jm-mfs-bar { flex-direction: column; align-items: stretch; gap: 10px; }
  .jm-mfs-bar > .jm-mfs-half { width: 100%; max-width: 100%; flex: 0 0 auto; }
  .jm-mfs-bar > .jm-mfs-divider { display: none; }
  .jm-mfs-bar .woocommerce-ordering,
  .jm-mfs-bar .woocommerce-ordering select,
  .jm-mfs-bar select.orderby { width: 100%; max-width: 100%; min-height: 44px; }
  .jm-mfs-bar .wc-block-product-filters__open-overlay { width: 100%; justify-content: center; }
  .wc-block-product-filters__overlay-dialog,
  .wc-block-product-filters__overlay { padding-left: 12px; padding-right: 12px; }
  .woocommerce ul.products[class*="columns-"] li.product,
  .wc-block-product-template { column-gap: 10px; row-gap: 16px; }
}

/* === end Mobile filter UX === */

/* Mobile touch targets: add to cart buttons */
@media (max-width: 768px) {
  .woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }
  .woocommerce div.product form.cart .quantity {
    float: none;
    margin: 0;
  }
  .woocommerce div.product form.cart .quantity input.qty {
    height: 48px;
    min-height: 48px;
    font-size: 15px;
  }
  .woocommerce div.product form.cart button.single_add_to_cart_button,
  .woocommerce div.product form.cart .single_add_to_cart_button {
    float: none;
    width: 100%;
    flex: 1 0 100%;
    min-height: 48px;
    font-size: 15px;
    line-height: 1.4;
    padding: 12px 20px;
  }
  .woocommerce ul.products li.product a.add_to_cart_button,
  .woocommerce ul.products li.product a.button.product_type_simple,
  .woocommerce ul.products li.product a.button.product_type_variable,
  .woocommerce ul.products li.product a.button.product_type_grouped,
  .woocommerce ul.products li.product a.button.product_type_external {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 10px 8px;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
    text-align: center;
  }
}

/* ===== Mobile filter UX - part 2 (clear button + active state) ===== */
@media (max-width: 921px) {
  .wc-block-product-filter-clear-button.wp-block-button{ width:auto !important; }
  .wc-block-product-filter-clear-button .wp-block-button__link{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:#5e2f72 !important;
    text-decoration:underline;
    padding:6px 4px !important;
    min-height:40px;
    font-weight:600;
  }
  .wc-block-product-filters:has(.wc-block-product-filter-removable-chips__item) .wc-block-product-filters__open-overlay{
    background:#5e2f72 !important;
    border-color:#5e2f72 !important;
    color:#ffffff !important;
  }
  .wc-block-product-filters:has(.wc-block-product-filter-removable-chips__item) .wc-block-product-filters__open-overlay svg path{
    fill:#ffffff !important;
  }
}
/* Arabic label for the clear-filters button (block re-renders it in English client-side) */
html[lang="ar"] .wc-block-product-filter-clear-button .wp-block-button__link{ font-size:0 !important; }
html[lang="ar"] .wc-block-product-filter-clear-button .wp-block-button__link::after{
  content:"\0645\0633\062D\0020\0627\0644\0641\0644\0627\062A\0631";
  font-size:15px;
}
/* ===== end part 2 ===== */

/* ===== Tablet / large phone (601-921px): filters stay reachable beside the grid ===== */
@media (min-width:601px) and (max-width:921px){
  body.archive.woocommerce.ast-left-sidebar .ast-container,
  body.archive.woocommerce.ast-right-sidebar .ast-container{
    flex-direction:row !important;
    flex-wrap:nowrap;
    gap:24px;
  }
  body.archive.woocommerce.ast-left-sidebar #secondary,
  body.archive.woocommerce.ast-right-sidebar #secondary{
    width:32% !important;
    max-width:32% !important;
    flex:0 0 32%;
    padding:0;
  }
  body.archive.woocommerce.ast-left-sidebar #primary,
  body.archive.woocommerce.ast-right-sidebar #primary{
    width:auto !important;
    flex:1 1 auto;
    min-width:0;
  }
  body.archive.woocommerce ul.products{ grid-template-columns:repeat(2,1fr) !important; }
}
/* ===== end tablet filters ===== */


/* ===== Product card alignment: equal card heights + add-to-cart buttons on one line (added 2026-08-05) ===== */
ul.products{ grid-auto-rows:1fr; }
ul.products li.product{ display:flex; flex-direction:column; }
ul.products li.product .astra-shop-summary-wrap{ display:flex; flex-direction:column; flex:1 1 auto; }
/* title area locked to exactly two lines */
ul.products li.product .woocommerce-loop-product__title{
  line-height:1.3;
  height:2.6em;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
/* reserve the brand line for products with no brand so titles start at the same height */
ul.products li.product .astra-shop-summary-wrap > .ast-loop-product__link:first-child::before{
  content:"\a0";
  display:block;
  font-size:13px;
  margin:6px 0 2px;
}
/* pin price + button to the bottom of the card */
ul.products li.product .astra-shop-summary-wrap > .price{
  margin-top:auto;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
ul.products li.product .astra-shop-summary-wrap:not(:has(.price)) > a.button{ margin-top:auto; }
/* ===== end product card alignment ===== */


/* ===== Mobile filter UX polish: touch targets + compact overlay + strong apply button (added 2026-08-05) ===== */
@media (max-width:921px){
  .wc-block-product-filters__open-overlay{ min-height:44px !important; font-size:14px !important; font-weight:600; }
  .wc-block-product-filters__close-overlay{ min-height:44px !important; font-size:14px !important; }
  /* compact headings so the list needs less scrolling */
  .wc-block-product-filters__overlay-content h2.wp-block-heading{ font-size:20px !important; margin-bottom:4px !important; }
  .wc-block-product-filters__overlay-content h3{ font-size:17px !important; margin-bottom:4px !important; }
  /* bigger touch rows + bigger, clearer checkboxes */
  .wc-block-product-filter-checkbox-list__item{ min-height:44px; }
  .wc-block-product-filter-checkbox-list__label{ gap:12px; font-size:15px !important; }
  input[type="checkbox"].wc-block-product-filter-checkbox-list__input{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    background-size:14px !important;
    background-color:#fff !important;
    border:1.5px solid #c4bcc9 !important;
    border-radius:4px;
  }
  input[type="checkbox"].wc-block-product-filter-checkbox-list__input:checked{ background-color:#5E2F72 !important; border-color:#5E2F72 !important; }
  /* apply button as the clear primary action */
  .wc-block-product-filters__overlay-footer{ background:#fff; border-top:1px solid #ececec; box-shadow:0 -6px 16px rgba(0,0,0,.06); }
  .wc-block-product-filters__apply{ width:100% !important; min-height:48px !important; font-size:16px !important; font-weight:700; border-radius:8px; }
}
/* ===== end mobile filter UX polish ===== */


/* ===== Mobile filter: sticky filter headings + touch-friendly price slider (added 2026-08-05) ===== */
@media (max-width:921px){
  .wc-block-product-filters__overlay-content h3{ position:sticky; top:0; background:#fff; z-index:2; padding-top:6px; padding-bottom:4px; }
  .wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-thumb{ width:22px !important; height:22px !important; border-radius:50%; }
  .wc-block-product-filter-price-slider__range input[type="range"]::-moz-range-thumb{ width:22px !important; height:22px !important; border-radius:50%; }
  .wc-block-product-filter-price-slider__content .text input{ min-height:40px; font-size:14px; }
}
/* ===== end sticky filter headings ===== */


/* ===== jm-blog-design : Jmaloo blog listing ===== */
.blog .post-thumb img,.archive .post-thumb img{border-radius:16px;width:100%;height:auto}
.blog .post-thumb,.archive .post-thumb{margin-bottom:20px}
.blog .ast-article-post .entry-title,.archive .ast-article-post .entry-title{font-size:1.5rem;line-height:1.42;margin-bottom:.2em}
.blog .ast-article-post .entry-title a,.archive .ast-article-post .entry-title a{color:#241f2b}
.blog .ast-article-post .entry-title a:hover,.archive .ast-article-post .entry-title a:hover{color:#fb4b7a}
.blog .entry-meta,.archive .entry-meta{font-size:.85rem}
.blog .read-more a,.archive .read-more a{display:inline-block;background:#fb4b7a;color:#fff !important;padding:9px 22px;border-radius:999px;font-size:.9rem;font-weight:600;text-decoration:none !important;transition:.2s}
.blog .read-more a:hover,.archive .read-more a:hover{background:#6d2f8f}
.blog .read-more .ast-right-arrow,.archive .read-more .ast-right-arrow{display:none}
/* ===== end jm-blog-design ===== */


/* ===== Jmaloo Hero responsive background ===== */
/* تابلت 768–1023px : نسخة 1024x480 */
@media (min-width: 768px) and (max-width: 1023.98px) {
  body .wp-block-spectra-container[data-spectra-id="spectra-mfnuwfmt-i74w5f"] {
    background-image: url("https://jmaloo.com/wp-content/uploads/2026/07/ChatGPT-Image-Jul-18-2026-05_25_38-PM-1024x480.png") !important;
  }
}
/* ديسكتوب 1024–1439px : نسخة 1536x720 */
@media (min-width: 1024px) and (max-width: 1439.98px) {
  body .wp-block-spectra-container[data-spectra-id="spectra-mfnuwfmt-i74w5f"] {
    background-image: url("https://jmaloo.com/wp-content/uploads/2026/07/ChatGPT-Image-Jul-18-2026-05_25_38-PM-1536x720.png") !important;
  }
}
/* موبايل: معطّل مؤقتاً. بعد رفع القصّة الرأسية (900x1600) احذف سطري التعليق وحدّث المسار
@media (max-width: 767.98px) {
  body .wp-block-spectra-container[data-spectra-id="spectra-mfnuwfmt-i74w5f"] {
    background-image: url("https://jmaloo.com/wp-content/uploads/2026/08/jmaloo-hero-mobile.webp") !important;
    background-position: 60% center !important;
    min-height: 78vh !important;
  }
}
*/
/* ===== end Jmaloo Hero ===== */


/* Fix: mini cart product title overlapping the remove (x) button on mobile */
.woocommerce-mini-cart .mini_cart_item {
    padding-inline-end: 36px !important;
}
.woocommerce-mini-cart .mini_cart_item a.remove_from_cart_button {
    width: 26px !important;
    height: 26px !important;
    line-height: 24px !important;
    font-size: 16px !important;
    text-align: center;
    background: #fff !important;
    border-radius: 50% !important;
    z-index: 5 !important;
}

/* Claude fix: mobile filters close button */
@media (max-width: 921px) {
    .wc-block-product-filters__overlay-dialog {
        display: flex;
        flex-direction: column;
        height: 100%;
        max-height: 100%;
        overflow: hidden;
    }
    .wc-block-product-filters__overlay-header {
        order: -1;
        flex: 0 0 auto;
        position: sticky;
        top: 0;
        z-index: 30;
        background: #fff;
    }
    .wc-block-product-filters__overlay-content {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
    }
    .wc-block-product-filters__overlay-footer {
        flex: 0 0 auto;
    }
}


/* ===== Jmaloo :: Fullscreen Search Overlay (added via Claude) ===== */
.ast-search-menu-icon.ast-dropdown-active,
.ast-search-menu-icon.ast-dropdown-active .search-form{ transform:none !important; }

.ast-search-menu-icon.ast-dropdown-active .search-form{
  position:fixed !important; top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
  width:100vw !important; height:100vh !important; height:100dvh !important; max-width:none !important;
  margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
  background:#fff !important; box-shadow:none !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  z-index:99999 !important; overflow:visible !important; opacity:1 !important; visibility:visible !important;
  animation: jmSearchIn .25s ease both;
}
@keyframes jmSearchIn{ from{opacity:0} to{opacity:1} }

.ast-search-menu-icon.ast-dropdown-active .search-form label{
  display:block !important; position:relative !important;
  width:min(720px, 86vw) !important; margin:0 !important;
}
.ast-search-menu-icon.ast-dropdown-active .search-form label:before{
  content:"Search for a product";
  display:block; text-align:center; margin-bottom:18px;
  font-size:clamp(13px,1.4vw,15px); letter-spacing:.18em;
  text-transform:uppercase; color:#9b8aa5;
}
.ast-search-menu-icon.ast-dropdown-active .search-form .search-field{
  width:100% !important; height:auto !important; box-sizing:border-box !important;
  font-size:clamp(20px,2.6vw,32px) !important; line-height:1.4 !important;
  padding:14px 56px !important;
  border:0 !important; border-bottom:2px solid #7a3b96 !important; border-radius:0 !important;
  background:transparent !important; color:#241f26 !important;
  text-align:center !important; box-shadow:none !important;
}
.ast-search-menu-icon.ast-dropdown-active .search-form .search-field::placeholder{ color:#c3b6cb !important; }
.ast-search-menu-icon.ast-dropdown-active .search-form .search-submit{
  position:absolute !important; top:auto !important; bottom:12px !important; right:6px !important;
  background:transparent !important; border:0 !important; padding:6px !important; box-shadow:none !important;
}
.ast-search-menu-icon.ast-dropdown-active .search-form .search-submit .ast-icon svg{
  width:24px !important; height:24px !important; fill:#7a3b96 !important;
}

.ast-search-menu-icon.ast-dropdown-active .ast-search-icon{
  position:fixed !important; top:22px !important; right:26px !important; z-index:100000 !important;
}
[dir="rtl"] .ast-search-menu-icon.ast-dropdown-active .ast-search-icon{ right:auto !important; left:26px !important; }
.ast-search-menu-icon.ast-dropdown-active .ast-search-icon .astra-search-icon .ast-icon{ display:none !important; }
.ast-search-menu-icon.ast-dropdown-active .ast-search-icon .astra-search-icon:after{
  content:"\00d7"; font-size:38px; line-height:1; color:#7a3b96; display:block;
}
.admin-bar .ast-search-menu-icon.ast-dropdown-active .ast-search-icon{ top:54px !important; }
/* ===== end Fullscreen Search Overlay ===== */

/* fix stacking so the overlay + close button sit above sticky bars */
.ast-search-menu-icon.ast-dropdown-active{ z-index:100002 !important; }
body:has(.ast-search-menu-icon.ast-dropdown-active) .ast-primary-header-bar,
body:has(.ast-search-menu-icon.ast-dropdown-active) .ast-main-header-wrap,
body:has(.ast-search-menu-icon.ast-dropdown-active) #masthead{ z-index:100001 !important; }

[dir="rtl"] .ast-search-menu-icon.ast-dropdown-active .search-form label:before{ content:"ابحث عن منتج"; letter-spacing:normal; }

/* search button inside the fullscreen search overlay */
.ast-search-menu-icon.ast-dropdown-active .search-form label{ display:flex !important; flex-direction:column !important; align-items:center !important; }
.ast-search-menu-icon.ast-dropdown-active .search-form .search-field{ padding:14px 20px !important; }
.ast-search-menu-icon.ast-dropdown-active .search-form .search-submit{
  position:static !important; margin:30px 0 0 !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:10px !important;
  background:#7a3b96 !important; color:#fff !important;
  padding:14px 44px !important; border:0 !important; border-radius:40px !important;
  font-size:14px !important; letter-spacing:.14em !important; text-transform:uppercase !important;
  line-height:1 !important; cursor:pointer !important; width:auto !important; height:auto !important;
  transition:background .2s ease;
}
.ast-search-menu-icon.ast-dropdown-active .search-form .search-submit:hover{ background:#5e2f72 !important; }
.ast-search-menu-icon.ast-dropdown-active .search-form .search-submit:after{ content:"Search"; color:#fff; }
[dir="rtl"] .ast-search-menu-icon.ast-dropdown-active .search-form .search-submit:after{ content:"بحث"; letter-spacing:normal; }
.ast-search-menu-icon.ast-dropdown-active .search-form .search-submit .ast-icon svg{ width:16px !important; height:16px !important; fill:#fff !important; }


/* === Fix Arabic letter disconnection (letter-spacing) === */
button,
.button,
.ast-button,
.ast-custom-button,
input#submit,
input[type="button"],
input[type="submit"],
input[type="reset"],
.wp-block-button__link,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.add_to_cart_button,
.single_add_to_cart_button,
.checkout-button,
#place_order,
.main-navigation a,
.menu-item > a {
  letter-spacing: normal !important;
  word-spacing: normal !important;
}


/* ===== Wishlist mobile: card layout + visible remove ===== */
@media (max-width: 767px){
  .woocommerce table.wishlist_table thead{display:none!important}
  .woocommerce table.wishlist_table,
  .woocommerce table.wishlist_table tbody,
  .woocommerce table.wishlist_table tr,
  .woocommerce table.wishlist_table td{display:block!important;width:auto!important;max-width:100%!important}
  .woocommerce table.wishlist_table tbody tr{position:relative;border:1px solid #ece7f1!important;border-radius:14px;padding:14px 44px 14px 96px;margin-bottom:16px}
  .woocommerce table.wishlist_table tbody td{border:0!important;padding:3px 0!important;text-align:left!important}
  .woocommerce table.wishlist_table td.product-thumbnail{position:absolute!important;left:14px;top:14px;width:70px!important;padding:0!important}
  .woocommerce table.wishlist_table td.product-thumbnail img{width:70px!important;height:auto}
  .woocommerce table.wishlist_table td.product-name{font-weight:700}
  .woocommerce table.wishlist_table td.product-remove{position:absolute!important;top:10px;right:10px;width:auto!important;padding:0!important}
  .woocommerce table.wishlist_table td.product-remove a.remove{opacity:1!important;color:#773F90!important;border-color:#773F90!important}
  .woocommerce table.wishlist_table td.product-add-to-cart{margin-top:8px}
  .woocommerce table.wishlist_table td.product-add-to-cart a.button,
  .woocommerce table.wishlist_table td.product-add-to-cart a.remove_from_wishlist{display:inline-block!important;margin:4px 6px 0 0}
}

/* Language switcher next to search in mobile menu */
.ast-mobile-popup-content aside[data-section="sidebar-widgets-header-widget-2"]{
  display:flex !important;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
.ast-mobile-popup-content aside[data-section="sidebar-widgets-header-widget-2"] > section.widget{
  margin-bottom:0 !important;
}
.ast-mobile-popup-content aside[data-section="sidebar-widgets-header-widget-2"] > section.widget_product_search{
  flex:1 1 auto;
  min-width:0;
}
.ast-mobile-popup-content aside[data-section="sidebar-widgets-header-widget-2"] > section.widget_block{
  flex:0 0 auto;
  margin-inline-end:10px;
}
.ast-mobile-popup-content aside[data-section="sidebar-widgets-header-widget-2"] .trp-language-switcher{
  margin:0 !important;
}


/* ==========================================================
   Cart & checkout: container side padding (added 2026-08-11)
   Supersedes the padding-left:40px !important on body.page-id-3341 #primary above
   ========================================================== */
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary {
	padding-left: 16px !important;
	padding-right: 16px !important;
	box-sizing: border-box;
}
@media (min-width: 769px) {
	body.woocommerce-cart #primary,
	body.woocommerce-checkout #primary {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}
}

/* Checkout: distraction-reduced footer (logo, contact, policies only) */
body.woocommerce-checkout #colophon [data-section="section-fb-social-icons-1"] {
	display: none;
}
body.woocommerce-checkout #colophon .footer-cols-row > div:has(a[href*="/product-category/"]) {
	display: none;
}
body.woocommerce-checkout #colophon .footer-cols-row li {
	display: none;
}
body.woocommerce-checkout #colophon .footer-cols-row li:has(a[href*="privacy-policy"]),
body.woocommerce-checkout #colophon .footer-cols-row li:has(a[href*="refund_returns"]),
body.woocommerce-checkout #colophon .footer-cols-row li:has(a[href*="contact-2"]) {
	display: list-item;
	list-style: none;
}

/* Mobile tap targets: wishlist + quantity */
@media (max-width: 921px){
  .single-product div.product .summary .yith-wcwl-add-to-wishlist-button{
    display:inline-flex;align-items:center;min-height:44px;padding:10px 12px;margin-inline-start:-12px;
  }
  .single-product div.product form.cart .quantity{min-width:64px;}
  .single-product div.product form.cart .quantity input.qty{
    min-width:64px;min-height:48px;padding-left:10px;padding-right:10px;
  }
  .jm-pdp-bar .jm-pdp-wish{min-width:48px;min-height:48px;}
  .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist-button{position:relative;}
  .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist-button::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;}
}


/* Cart + checkout mobile padding and tap targets (390px) */
@media (max-width: 921px) {
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading {
    padding-inline-start: 14px !important;
    padding-inline-end: 14px !important;
  }
  .woocommerce-checkout #order_review_heading {
    padding-top: 20px !important;
    padding-bottom: 14px !important;
  }
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100% !important;
    min-height: 48px !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    text-align: center;
  }
  .woocommerce-cart .woocommerce-cart-form__cart-item .product-remove a.remove {
    position: relative;
  }
  .woocommerce-cart .woocommerce-cart-form__cart-item .product-remove a.remove::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
  }
  .woocommerce-cart table.shop_table .quantity input.qty {
    min-width: 64px;
    min-height: 44px;
    padding-inline-start: 8px;
    padding-inline-end: 8px;
  }
  .woocommerce-cart table.shop_table td.actions .coupon {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .woocommerce-cart table.shop_table td.actions .coupon input#coupon_code {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 44px;
    margin-inline-end: 0 !important;
  }
  .woocommerce-cart table.shop_table td.actions .coupon .button,
  .woocommerce-cart table.shop_table td.actions > .button {
    flex: 0 0 auto;
    min-height: 44px;
  }
}


/* ===== START: JMALOO homepage sections (added 2026-08-11) ===== */

/* ==== JMALOO homepage sections (added by assistant) ==== */
.jml-sec{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.jml-h{font-family:Quicksand,sans-serif;text-align:center;margin:0 0 6px;font-size:32px;line-height:1.2;font-weight:700;color:#111}
.jml-sub{text-align:center;color:#6b6b6b;margin:0 0 26px;font:500 15px/1.5 Quicksand,sans-serif}
@media(max-width:767px){.jml-h{font-size:24px}.jml-sub{font-size:13px;margin-bottom:18px}}
.jml-trust{background:#faf5fc;border-top:1px solid #efe7f3;border-bottom:1px solid #efe7f3}
.jml-trust-in{max-width:1200px;margin:0 auto;padding:14px 20px;display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between;box-sizing:border-box}
.jml-t{display:flex;align-items:center;gap:9px;font:600 13.5px/1.3 Quicksand,sans-serif;color:#3d2a45;flex:0 1 auto;white-space:nowrap;justify-content:center}
.jml-t svg{width:22px;height:22px;flex:0 0 22px}
@media(max-width:767px){.jml-trust-in{gap:12px 8px;padding:12px 14px}.jml-t{flex:1 1 44%;font-size:11.5px;white-space:normal;justify-content:flex-start}.jml-t svg{width:18px;height:18px;flex:0 0 18px}}
.jml-cats{padding-top:54px;padding-bottom:10px}
.jml-cgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.jml-c,.jml-c:hover,.jml-c *{text-decoration:none !important;display:block;text-align:center}.jml-c{display:block}
.jml-c-img{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#fff;border:1px solid #f0eaf3;transition:box-shadow .3s,border-color .3s}
.jml-c-img img{width:100%;height:100%;object-fit:contain;padding:9%;box-sizing:border-box;transition:transform .4s}
.jml-c:hover .jml-c-img{box-shadow:0 10px 24px rgba(119,63,144,.18);border-color:#e0cfe8}
.jml-c:hover .jml-c-img img{transform:scale(1.07)}
.jml-c-n{margin:12px 0 2px;font:700 14px Quicksand,sans-serif;color:#111}
.jml-c-k{font:500 12px Quicksand,sans-serif;color:#8d8d8d}
@media(max-width:900px){.jml-cgrid{grid-template-columns:repeat(3,1fr);gap:16px}.jml-cats{padding-top:36px;padding-bottom:6px}}
@media(max-width:480px){.jml-cgrid{gap:10px}.jml-c-n{font-size:12px;margin-top:8px}.jml-c-k{font-size:11px}}
.jml-row{padding-top:34px;padding-bottom:6px}
.jml-all{text-align:center;margin:6px 0 0}
.jml-all a{display:inline-block;border:2px solid #773F90;color:#773F90;font:700 13px Quicksand,sans-serif;padding:12px 30px;border-radius:6px;text-decoration:none;transition:.25s}
.jml-all a:hover{background:#773F90;color:#fff}
.jml-offer{margin:44px auto;max-width:1200px;padding:0 20px;box-sizing:border-box}
.jml-offer-in{background:linear-gradient(100deg,#773F90,#a95fc6);border-radius:14px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.jml-offer-in h3{margin:0 0 6px;color:#fff;font:700 26px Quicksand,sans-serif}
.jml-offer-in p{margin:0;color:#f2e6f7;font:500 15px Quicksand,sans-serif}
.jml-code{display:inline-block;background:#fff;color:#773F90;font:700 14px Quicksand,sans-serif;letter-spacing:1.5px;padding:3px 11px;border-radius:5px;margin:0 3px}
.jml-btn{display:inline-block;background:#fff;color:#773F90 !important;font:700 14px Quicksand,sans-serif;padding:13px 30px;border-radius:6px;text-decoration:none;white-space:nowrap;transition:.25s}
.jml-btn:hover{background:#2d1734;color:#fff !important}
@media(max-width:767px){.jml-offer{margin:30px auto}.jml-offer-in{padding:24px 20px;text-align:center;justify-content:center}.jml-offer-in h3{font-size:20px}.jml-offer-in p{font-size:13px}}
.jml-brands{padding-top:44px;padding-bottom:6px}
.jml-bwrap{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.jml-b{border:1px solid #e8e1ec;border-radius:40px;padding:10px 20px;font:600 13px Quicksand,sans-serif;color:#4a3552;text-decoration:none;background:#fff;transition:.25s}
.jml-b:hover{border-color:#773F90;background:#773F90;color:#fff}
@media(max-width:767px){.jml-brands{padding-top:30px;padding-bottom:4px}.jml-b{padding:8px 15px;font-size:12px}}

.jml-sec a,.jml-brands a,.jml-all a,.jml-btn{text-decoration:none !important}

/* ===== END: JMALOO homepage sections ===== */

/* === Jmaloo: spacing tune-up (homepage) === */
/* closes the 144px dead gap (80 margin + 64 padding) inside "Beauty, Curated for You" */
.entry-content .wp-container-spectra-container-is-layout-19ab2a22{margin-top:40px !important;padding-top:24px !important;}
/* balance the 2 columns and let the image fill its column */
.entry-content .wp-container-spectra-container-is-layout-06b62bac{align-items:stretch !important;}
.entry-content .wp-container-spectra-container-is-layout-06b62bac > div{flex:1 1 0 !important;min-width:0 !important;}
.entry-content .wp-container-spectra-container-is-layout-06b62bac > div:last-child{padding:24px 40px !important;}
.entry-content .wp-container-spectra-container-is-layout-06b62bac > div:first-child > .wp-block-image{width:100% !important;height:100% !important;margin:0 !important;}
.entry-content img.wp-image-4302{width:100% !important;height:100% !important;max-width:100% !important;aspect-ratio:auto !important;object-fit:cover;}
@media (max-width:849px){
.entry-content .wp-container-spectra-container-is-layout-06b62bac > div:first-child > .wp-block-image{height:auto !important;}
.entry-content img.wp-image-4302{height:auto !important;aspect-ratio:4/3 !important;}
.entry-content .wp-container-spectra-container-is-layout-06b62bac > div:last-child{padding:24px 20px !important;}
}
/* tighter vertical rhythm for full-width sections (hero excluded) */
.entry-content > .spectra-is-root-container.alignfull:not(.has-image-background){padding-top:clamp(32px,5vw,56px) !important;padding-bottom:clamp(28px,4vw,48px) !important;}
/* offer strip */
.jml-offer{margin-top:28px !important;margin-bottom:28px !important;}
/* hero a bit shorter */
.entry-content > .has-image-background.spectra-is-root-container{min-height:560px !important;padding-top:96px !important;padding-bottom:64px !important;}
/* === end Jmaloo spacing tune-up === */


/* ==== JMALOO HEADER REDESIGN v1 — start ==== */
/* Brand tokens */
:root{--jm-plum:#5B3A6E;--jm-plum-d:#412650;--jm-gold:#C39B5A;--jm-lilac:#F7F3FA;--jm-line:#E9E4EE;--jm-ink:#241C2A}

/* 2. Solid, legible, sticky header */
#masthead,#masthead .ast-primary-header-bar,#masthead .main-header-bar,#ast-desktop-header,#ast-mobile-header{background:#fff!important}
#masthead{position:sticky!important;top:0;z-index:98;border-bottom:1px solid var(--jm-line);box-shadow:0 2px 14px rgba(36,28,42,.05)}
.admin-bar #masthead{top:32px}
#masthead a,#masthead .menu-link,#masthead .ast-icon,#masthead li>a>.menu-text{color:var(--jm-ink)!important}
#masthead svg,#masthead .ast-icon svg{fill:var(--jm-ink)!important}
/* interim: tints the white transparent-header logo to brand plum until a dark logo is uploaded */
#masthead .custom-logo{filter:brightness(0) saturate(100%) invert(14%) sepia(38%) saturate(2200%) hue-rotate(255deg);height:56px!important;width:auto!important}

/* 3. Logo left, search centre, actions right */
#ast-desktop-header .ast-builder-grid-row{display:flex!important;align-items:center;gap:22px;flex-wrap:nowrap!important;padding:6px 0}
#ast-desktop-header .site-header-primary-section-center{order:-2;flex:0 0 auto}
#ast-desktop-header .site-header-primary-section-left{order:-1;flex:1 1 auto;min-width:0;gap:10px}
#ast-desktop-header .site-header-primary-section-left-center{flex:1 1 auto;min-width:0;justify-content:center}
#ast-desktop-header .site-header-primary-section-right{margin-left:auto;flex:0 0 auto}

/* 4. Navigation */
#masthead .main-header-menu{flex-wrap:nowrap!important}
#masthead .main-header-menu>.menu-item>a{white-space:nowrap;font-size:13.5px!important;font-weight:600;letter-spacing:.05em;padding:0 13px!important;position:relative}
#masthead .main-header-menu>.menu-item>a:hover{color:var(--jm-plum)!important}
#masthead .main-header-menu>.menu-item>a:after{content:"";position:absolute;left:13px;right:13px;bottom:10px;height:2.5px;background:var(--jm-plum);border-radius:2px;transform:scaleX(0);transition:transform .18s ease}
#masthead .main-header-menu>.menu-item:hover>a:after,#masthead .main-header-menu>.current-menu-item>a:after{transform:scaleX(1)}
#masthead .sub-menu{border:1px solid var(--jm-line);box-shadow:0 18px 40px rgba(36,28,42,.12);border-radius:12px;overflow:hidden;padding:6px 0}

/* 5. Inline search pill (set Header Builder > Search > Type: Search Box) */
#masthead .ast-inline-search .search-field,#masthead .ast-search-menu-icon .search-field{width:100%!important;max-width:480px;height:48px;border:1.5px solid #DCD4E3!important;border-radius:999px!important;padding:0 52px 0 22px!important;font-size:14.5px!important;background:#fff!important;box-shadow:none!important;transition:.18s}
#masthead .ast-inline-search .search-field:focus{border-color:var(--jm-plum)!important;box-shadow:0 0 0 4px rgba(91,58,110,.10)!important;outline:0}
#masthead .ast-search-menu-icon .search-submit,#masthead .ast-inline-search .search-submit{display:grid!important;place-items:center;position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:var(--jm-plum)!important;color:#fff!important;border:0}

/* 6. Actions: language pill, wishlist, cart */
#masthead a[href*="/ar/"],#masthead .trp-language-switcher a{background:var(--jm-lilac)!important;color:var(--jm-plum-d)!important;border:1px solid #E4DAEC!important;border-radius:999px!important;padding:7px 16px!important;font-weight:600;font-size:13px}
#masthead .ast-addon-cart-wrap,#masthead .ast-cart-menu-wrap{background:var(--jm-plum)!important;border-radius:999px!important;padding:9px 16px!important}
#masthead .ast-addon-cart-wrap *,#masthead .ast-cart-menu-wrap *{color:#fff!important;fill:#fff!important}
#masthead .ast-addon-cart-wrap .ast-count,#masthead .ast-cart-menu-wrap .ast-count{background:var(--jm-gold)!important;color:#fff!important;border:2px solid var(--jm-plum);font-weight:700}
#masthead .ast-header-woo-cart,#masthead .ast-header-account-wrap,#masthead .ast-header-wc-wishlist{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}

/* 7. Accessibility */
#masthead a:focus-visible,#masthead button:focus-visible,#masthead input:focus-visible{outline:2px solid var(--jm-plum);outline-offset:3px;border-radius:6px}

/* 8. Mobile */
@media (max-width:921px){
  #ast-mobile-header .ast-builder-grid-row{align-items:center}
  #masthead .custom-logo{height:42px!important}
  #masthead .ast-inline-search .search-field{height:44px;font-size:16px!important}
  
}

/* contrast patch: override transparent-header link colours */
body.ast-theme-transparent-header #masthead .main-header-menu .menu-link,
body.ast-theme-transparent-header #masthead .main-header-menu>.menu-item>a,
#masthead .main-header-menu .menu-link,#masthead .ast-builder-menu a{color:#241C2A!important;-webkit-text-fill-color:#241C2A!important}
body.ast-theme-transparent-header #masthead .main-header-menu .menu-link:hover,
#masthead .main-header-menu .menu-item:hover>a{color:#5B3A6E!important;-webkit-text-fill-color:#5B3A6E!important}
/* ==== JMALOO HEADER REDESIGN v1 — end ==== */


/* ==== JMALOO CATEGORY-LED NAV + PERFUMES MEGA MENU — added 2026-08-17 ==== */
@media (min-width:922px){
.ast-desktop .main-header-menu > .menu-item > .menu-link{text-transform:uppercase;font-size:12.5px;letter-spacing:.05em;font-weight:600}
.ast-desktop .main-header-menu > .nv-newin > .menu-link:after{content:"NEW";background:#C39B5A;color:#fff;font-size:9px;line-height:1;padding:3px 5px;border-radius:4px;margin-left:7px;letter-spacing:.06em;font-weight:700;position:relative;top:-1px}
.ast-desktop .main-header-menu > .nv-offers > .menu-link{color:#B3123B !important}
.ast-desktop .main-header-menu{position:relative}
.ast-desktop .main-header-menu > .nv-mega{position:static}
.ast-desktop .nv-mega > .sub-menu{display:grid !important;grid-template-columns:1fr 1fr .95fr 210px;gap:24px;width:min(1000px,calc(100vw - 48px));left:50% !important;right:auto !important;transform:translateX(-50%);top:100%;padding:24px 24px 0 !important;background:#fff !important;border:1px solid #E9E4EE !important;border-radius:14px;box-shadow:0 18px 44px rgba(36,28,42,.14) !important}
.ast-desktop .nv-mega > .sub-menu > .menu-item{width:auto !important;border:0 !important;position:static}
.ast-desktop .nv-mega > .sub-menu > .nv-col > .menu-link{font-size:10px !important;letter-spacing:.13em;text-transform:uppercase;color:#6B6472 !important;font-weight:700;padding:0 0 10px !important;background:none !important;border:0 !important;pointer-events:none}
.ast-desktop .nv-mega .sub-menu .ast-icon,.ast-desktop .nv-mega .sub-menu .sub-arrow{display:none !important}
.ast-desktop .nv-mega > .sub-menu > .menu-item > .sub-menu{position:static !important;display:block !important;opacity:1 !important;visibility:inherit !important;width:100% !important;min-width:0 !important;margin:0 !important;padding:0 !important;transform:none !important;background:transparent !important;border:0 !important;box-shadow:none !important}
.ast-desktop .nv-mega .sub-menu .sub-menu > .menu-item > .menu-link{display:flex !important;justify-content:space-between;align-items:baseline;gap:10px;font-size:13.5px;line-height:1.35;padding:6px 0 !important;color:#332B3B !important;background:none !important;border:0 !important}
.ast-desktop .nv-mega .sub-menu .sub-menu > .menu-item > .menu-link:hover{color:#5B3A6E !important}
.ast-desktop .nv-mega .nv-n > .menu-link:after{font-size:11px;color:#A79EB0;font-weight:500}
.ast-desktop .nv-mega .nv-n52 > .menu-link:after{content:"52"}
.ast-desktop .nv-mega .nv-n18 > .menu-link:after{content:"18"}
.ast-desktop .nv-mega .nv-n15 > .menu-link:after{content:"15"}
.ast-desktop .nv-mega .nv-n12 > .menu-link:after{content:"12"}
.ast-desktop .nv-mega .nv-n10 > .menu-link:after{content:"10"}
.ast-desktop .nv-mega .nv-n36 > .menu-link:after{content:"36"}
.ast-desktop .nv-mega .nv-n15b > .menu-link:after{content:"15"}
.ast-desktop .nv-mega .nv-n6 > .menu-link:after{content:"6"}
.ast-desktop .nv-mega .nv-n6b > .menu-link:after{content:"6"}
.ast-desktop .nv-mega .nv-n4 > .menu-link:after{content:"4"}
.ast-desktop .nv-mega .nv-all > .menu-link{color:#5B3A6E !important;font-weight:600;margin-top:4px}
.ast-desktop .nv-mega .nv-all > .menu-link:after{content:"→";font-size:12px;color:#5B3A6E}
.ast-desktop .nv-mega .nv-hot > .menu-link:after{content:"bestseller";font-size:10px;color:#2E7D5B;font-weight:600}
.ast-desktop .nv-mega > .sub-menu > .nv-promo{background:#F7F3FA;border-radius:12px;padding:14px !important;align-self:start}
.ast-desktop .nv-mega > .sub-menu > .nv-promo > .menu-link{display:block !important;padding:0 !important;background:none !important;font-size:9px !important;letter-spacing:.12em;text-transform:uppercase;color:#C39B5A !important;font-weight:700;line-height:1.4}
.ast-desktop .nv-mega > .nv-promo{display:none}
.ast-desktop .nv-promo > .menu-link:before{content:"";display:block;height:118px;margin-bottom:10px;border-radius:8px;border:1px solid #EFEAF4;background:#fff url("https://jmaloo.com/wp-content/uploads/2026/08/hamidi-luxury-oud-shower-gel-300x300.png") center/contain no-repeat}
.ast-desktop .nv-promo > .menu-link:after{content:"Hamidi Luxury Oud\A Oriental oud body wash · 399 EGP";white-space:pre-line;display:block;margin-top:6px;color:#241C2A;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.45}
.ast-desktop .nv-mega > .sub-menu > .nv-promo:after{content:"Shop now →";display:block;margin-top:8px;color:#5B3A6E;font-size:12px;font-weight:600}
.ast-desktop .nv-mega > .sub-menu > .nv-strip{grid-column:1 / -1;margin:8px -24px 0 !important;padding:12px 24px !important;border-top:1px solid #E9E4EE;background:#FCFBFD;border-radius:0 0 13px 13px}
.ast-desktop .nv-strip > .menu-link{padding:0 !important;font-size:0 !important;background:none !important;pointer-events:none}
.ast-desktop .nv-strip > .menu-link:after{content:"🚚 Free shipping over 1,999 EGP        💵 Cash on delivery        ↩ 5-day returns";font-size:12px;color:#6B6472}
}
/* ==== end mega menu ==== */

/* ==== JMALOO MEGA MENU — refinements ==== */
@media (min-width:922px){
.ast-desktop .main-header-menu > .nv-newin > .menu-link{display:inline-flex !important;align-items:center;gap:7px}
.ast-desktop .main-header-menu > .nv-newin > .menu-link:before{content:"NEW";order:2;background:#C39B5A;color:#fff;font-size:9px;line-height:1;padding:3px 5px;border-radius:4px;letter-spacing:.06em;font-weight:700;display:inline-block}
.ast-desktop .nv-mega .sub-menu .sub-menu > .menu-item > .menu-link{text-transform:none !important;letter-spacing:0 !important}
.ast-desktop .nv-mega .nv-all > .menu-link{text-transform:none !important}
.ast-desktop .nv-mega .nv-hot > .menu-link:after{text-transform:none;letter-spacing:.02em}
.ast-desktop .nv-strip > .menu-link:after{text-transform:none !important;letter-spacing:.01em;content:"🚚  Free shipping over 1,999 EGP      💵  Cash on delivery      ↩  5-day returns" !important}
.ast-desktop .nv-mega > .sub-menu > .nv-promo{display:flex !important;flex-direction:column}
.ast-desktop .nv-mega > .sub-menu > .nv-promo > .menu-link{order:1}
.ast-desktop .nv-mega > .sub-menu > .nv-promo:after{order:2;content:"Oriental oud body wash · 399 EGP" !important;margin-top:5px !important;color:#6B6472 !important;font-size:11.5px !important;font-weight:400 !important;text-transform:none;letter-spacing:0}
.ast-desktop .nv-mega > .sub-menu > .nv-promo > .sub-menu{order:3}
.ast-desktop .nv-promo > .menu-link:after{content:"Hamidi Luxury Oud" !important;font-family:"Cormorant Garamond",Georgia,serif;font-size:16px !important;font-weight:600 !important;text-transform:none;line-height:1.25;margin-top:7px}
.ast-desktop .nv-promo .nv-promo-cta > .menu-link{color:#5B3A6E !important;font-weight:600 !important;text-transform:none !important;font-size:12px !important;padding:8px 0 0 !important;justify-content:flex-start !important;gap:4px}
.ast-desktop .nv-promo .nv-promo-cta > .menu-link:after{content:"→" !important;color:#5B3A6E;font-size:12px}
}
/* ==== end refinements ==== */

/* ==== JMALOO MEGA MENU — mid-width fit ==== */
@media (min-width:922px) and (max-width:1220px){
.ast-desktop .main-header-menu > .menu-item > .menu-link{padding-left:9px !important;padding-right:9px !important;font-size:11px !important;letter-spacing:.03em}
.ast-desktop .main-header-menu > .nv-newin > .menu-link{gap:5px}
.ast-desktop .main-header-menu > .nv-newin > .menu-link:before{font-size:8px;padding:2px 4px}
.ast-desktop .nv-mega > .sub-menu{grid-template-columns:1fr 1fr .95fr 190px;gap:18px;padding:20px 20px 0 !important}
}
/* ==== end mid-width fit ==== */

/* ==== JMALOO MEGA MENU — specificity override for #masthead rules ==== */
@media (min-width:922px){
body.ast-desktop #masthead .main-header-menu > .menu-item > .menu-link{text-transform:uppercase !important;font-size:12.5px !important;letter-spacing:.05em !important;font-weight:600 !important}
}
@media (min-width:922px) and (max-width:1220px){
body.ast-desktop #masthead .main-header-menu > .menu-item > .menu-link{padding-left:9px !important;padding-right:9px !important;font-size:11px !important;letter-spacing:.03em !important}
}
@media (min-width:922px) and (max-width:1050px){
body.ast-desktop #masthead .main-header-menu > .menu-item > .menu-link{padding-left:7px !important;padding-right:7px !important;font-size:10.5px !important}
}
/* ==== end specificity override ==== */
@media (min-width:922px) and (max-width:1080px){
body.ast-desktop #masthead .main-header-menu > .menu-item > .menu-link{padding-left:4px !important;padding-right:4px !important;font-size:9.8px !important;letter-spacing:.01em !important}
body.ast-desktop #masthead .ast-builder-menu-1 .main-header-menu > .nv-newin > .menu-link:before{font-size:7px;padding:2px 3px}
}

@media (min-width:922px) and (max-width:990px){
body.ast-desktop #masthead .custom-logo{max-width:92px !important;height:auto !important}
}

@media (min-width:922px) and (max-width:1080px){
body.ast-desktop #masthead .site-primary-header-wrap{padding-left:10px !important;padding-right:10px !important}
body.ast-desktop #masthead .site-header-primary-section-right{gap:10px !important}
}


/* ==========================================================================
   JMALOO BEAUTY — UNIFIED BRAND COLOUR SYSTEM   [jm-color-system v1]
   Primary violet sampled from the Jmaloo lotus logo (#663684 / #782A84).
   Replaces the legacy teal accent (#0D7F7A) and near-black neutrals.
   To revert: delete this banner and everything below it.
   ========================================================================== */
:root{
  --jmc-purple:#6E3B8F; --jmc-purple-d:#4E2668; --jmc-purple-dd:#3F1F5C;
  --jmc-violet-l:#A97FC4; --jmc-magenta:#A63C93;
  --jmc-gold:#C79A57; --jmc-gold-l:#E8C37E; --jmc-gold-txt:#8F6224;
  --jmc-teal:#0E7A8C;
  --jmc-ink:#2C1A3A; --jmc-ink-2:#503C63; --jmc-mut:#7C6B90; --jmc-faint:#A99BBC;
  --jmc-lilac:#EFE6F8; --jmc-lilac-2:#F8F3FC; --jmc-paper:#FCFAFF; --jmc-line:#EAE0F2;
}
:root{
  --jm-plum:#5B3080; --jm-plum-d:#3F2059; --jm-gold:#C79A57;
  --jm-lilac:#F6F0FB; --jm-line:#EAE0F2; --jm-ink:#2C1A3A;
}
#nx#nx{
  --paper:#FCFAFF; --ink:#2C1A3A; --ink2:#503C63; --mut:#7C6B90; --faint:#A99BBC;
  --line:rgba(110,59,143,.12); --line2:rgba(110,59,143,.20);
  --teal:#6E3B8F; --tealD:#4E2668; --gold:#C79A57; --mist:#F1E8FA;
}
body.jm-shop2.jm-shop2{
  --jm-ink:#2C1A3A; --jm-ink-2:#503C63;
  --jm-accent:#6E3B8F; --jm-accent-2:#A63C93; --jm-gold:#C79A57;
  --jm-line:#EAE0F2; --jm-line-2:#F4EDFA; --jm-soft:#FBF8FF;
}
#jm-footer#jm-footer{ --ink:#3A2450; --ink2:#2E1B41; --mut:#A99BBC; --acc:#CFAEE6; --lav:#CDBCDD; }
#jm-footer#jm-footer .jm-auth, #jm-footer#jm-footer .jm-auth svg, #jm-footer#jm-footer a.jm-all, #jm-footer#jm-footer .jm-offer h2 em, #jm-footer#jm-footer .jm-t i{ color:#E8C37E !important; }

#nx#nx .mega.m2 .mgc_b, #nx#nx .mega.m2 .mgc_c, #nx#nx .mega.m2 .mgf_t i,
#nx#nx .ocode button, #nx#nx .note b, #nx#nx .fab svg,
#nx#nx .ed h1 em, #nx#nx .ed h2 em, #nx#nx .ed .l2,
#nx#nx .ed a:not(.btn):hover, #nx#nx .ct .ca, #nx#nx .dstrip .dl{ color:#6E3B8F !important; }
#nx#nx .mega.m2 li a:hover em{ color:#6E3B8F !important; border-color:rgba(110,59,143,.32) !important; }
#nx#nx .nv > div.hasmega > a.top::after, #nx#nx .nv a.allp::after{ background-color:#6E3B8F !important; }
#nx#nx .dstrip .dot{ background-color:#6E3B8F !important; box-shadow:0 0 0 4px rgba(110,59,143,.18) !important; }
#nx#nx .dstrip:hover .dgo{ background-color:#6E3B8F !important; }
#nx#nx .ct:hover, #nx#nx .dstrip:hover{ border-color:rgba(110,59,143,.32) !important; }
#nx#nx .ct .ci{ color:#6E3B8F !important; background-color:#F1E8FA !important; }
#nx#nx .ct:hover .ci{ background-color:#E3D2F4 !important; }
#nx#nx .bi label input{ accent-color:#6E3B8F !important; }
#nx#nx .tick b{ color:#E4C9F5 !important; }
#nx#nx .hmi .stars, #nx#nx .rt .stars, #nx#nx .rbig .stars, #nx#nx .rv .stars,
#nx#nx .ed .stars, #nx#nx .tick .stars{ color:#C79A57 !important; }
#nx#nx .bt.t2{ background-image:linear-gradient(135deg,#6E3B8F,#A63C93) !important; }
#nx#nx .bt.t4{ background-image:linear-gradient(135deg,#4E2668,#6E3B8F) !important; }
#nx#nx .ed::before{ background-image:linear-gradient(120deg,#F1E8FA,#FBF3EC) !important; }
#nx#nx .mega.m2 .mgc.m2c{ background-image:linear-gradient(140deg,#F4EBFC,#EFE4F7) !important; }
#nx#nx .stk,#nx#nx .instock{ color:#0E7A8C !important; }

#nx#nx .hero{
  background-color:#FCFAFF !important;
  background-image:
    radial-gradient(120% 92% at 50% -14%, #EFE1FA 0%, rgba(255,255,255,0) 60%),
    radial-gradient(72% 62% at 88% 6%,  #FBEBD8 0%, rgba(255,255,255,0) 55%),
    radial-gradient(62% 58% at 6% 20%,  #F7E6F4 0%, rgba(255,255,255,0) 62%) !important;
}
#nx#nx .trow{ background:#FBF8FF !important; }
#nx#nx #hd{ background-color:rgba(252,250,255,.90) !important; border-bottom:1px solid rgba(110,59,143,.10) !important; }
#nx#nx .lab.pillb{ background:rgba(110,59,143,.07) !important; border:1px solid rgba(110,59,143,.18) !important; color:#5A2D7D !important; }
#nx#nx .lab.pillb svg{ color:#C79A57 !important; stroke:#C79A57 !important; }
#nx#nx .lab i{ color:#8F6224 !important; font-style:normal; }
#nx#nx a.top.hot{ color:#A63C93 !important; }
#nx#nx a.top.hot:hover{ color:#8E2F7D !important; }

#nx#nx .btn.pri, body.jm-shop2.jm-shop2 .single_add_to_cart_button{
  background-image:linear-gradient(135deg,#3F1F5C 0%,#6E3B8F 55%,#8A3F9B 100%) !important;
  background-color:#5A2D7D !important; border-color:transparent !important; color:#fff !important;
  box-shadow:0 8px 24px -9px rgba(110,59,143,.60) !important;
}
#nx#nx .btn.pri:hover, body.jm-shop2.jm-shop2 .single_add_to_cart_button:hover{
  background-image:linear-gradient(135deg,#4B2670 0%,#7E45A2 55%,#A63C93 100%) !important;
  box-shadow:0 13px 30px -9px rgba(110,59,143,.70) !important;
}
#nx#nx .dgo, #nx#nx .qv{ background-image:linear-gradient(135deg,#3F1F5C,#6E3B8F) !important; background-color:#5A2D7D !important; color:#fff !important; }
#nx#nx .btn:not(.pri){ border-color:rgba(110,59,143,.28) !important; color:#2C1A3A !important; }
#nx#nx .btn:not(.pri):hover{ border-color:rgba(110,59,143,.55) !important; background:#F6EFFC !important; }
#nx#nx .atc:hover{ background:#6E3B8F !important; border-color:#6E3B8F !important; color:#fff !important; }
#nx#nx .tick{ background:linear-gradient(90deg,#3F1F5C,#6E3B8F 45%,#8A3F9B 60%,#3F1F5C) !important; }

#nx#nx .im{ background-image:linear-gradient(160deg,#F4EBFC 0%,#EFE4F7 55%,#FBF3EC 100%) !important; border:1px solid rgba(110,59,143,.07) !important; }
#nx#nx .pr, body.jm-shop2.jm-shop2 .price{ color:#4E2668 !important; }
#nx#nx .br{ color:#9A7BA8 !important; }
#nx#nx .cat .ic{ background:linear-gradient(140deg,#F0E4FA,#E3D2F4) !important; border:1px solid rgba(110,59,143,.14) !important; }
#nx#nx .cat:hover{ border-color:rgba(110,59,143,.30) !important; box-shadow:0 10px 26px -14px rgba(110,59,143,.40) !important; }

#jm-footer#jm-footer{ background-color:#3A2450 !important; background-image:linear-gradient(180deg,#452B5E 0%,#2E1B41 100%) !important; }
#jm-footer#jm-footer, #jm-footer#jm-footer *{ border-color:rgba(199,154,87,.20) !important; }
#jm-footer#jm-footer .jm-col > h3, #jm-footer#jm-footer .jm-bs > h3, #jm-footer#jm-footer .jm-wrap > h4{ color:#DEB278 !important; letter-spacing:.14em; }
#jm-footer#jm-footer a{ color:#E6DCF0 !important; }
#jm-footer#jm-footer a:hover{ color:#F0C88C !important; }
#jm-footer#jm-footer em{ color:#E8C37E !important; font-style:normal; }
#jm-footer#jm-footer .jm-paylbl{ color:#C0A9C4 !important; }
#jm-footer#jm-footer code, #jm-footer#jm-footer kbd{ background:rgba(232,195,126,.14) !important; color:#F0D5A2 !important; border:1px dashed rgba(232,195,126,.45) !important; }
#jm-footer#jm-footer .jm-cta{ background-image:linear-gradient(135deg,#E8C37E,#C79A57) !important; color:#2C1A3A !important; border:none !important; box-shadow:0 8px 22px -10px rgba(199,154,87,.75) !important; }
#jm-footer#jm-footer .jm-cta:hover{ background-image:linear-gradient(135deg,#F2D194,#D3A863) !important; }
#jm-footer#jm-footer .jm-top-line{ background-image:linear-gradient(90deg,#6E3B8F,#A63C93,#C79A57) !important; }
#jm-footer#jm-footer .jm-glow{ background-image:radial-gradient(60% 100% at 50% 0%,rgba(169,127,196,.28),rgba(0,0,0,0)) !important; }
#jm-footer#jm-footer .jm-t i{ background-color:rgba(207,174,230,.14) !important; }
#jm-footer#jm-footer .jm-offer{ background-image:linear-gradient(100deg,#3F1F5C,#6E3B8F 55%,#A63C93) !important; }
#jm-footer#jm-footer .jm-auth, #jm-footer#jm-footer .jm-sm-btn{ background-color:rgba(207,174,230,.10) !important; border-color:rgba(232,195,126,.30) !important; }
#jm-footer#jm-footer .jm-tags a:hover{ background-color:rgba(207,174,230,.16) !important; border-color:rgba(207,174,230,.45) !important; }
#jm-footer#jm-footer .jm-sitemap{ background-color:rgba(255,255,255,.04) !important; }

body.jm-shop2.jm-shop2 .jm-chip.is-active{ background:#6E3B8F !important; border-color:#6E3B8F !important; color:#fff !important; }
.woocommerce-info, .woocommerce-message{ border-top-color:#6E3B8F !important; background:#F8F3FC !important; }
.woocommerce-info::before, .woocommerce-message::before{ color:#6E3B8F !important; }
.woocommerce span.onsale{ background:#A63C93 !important; color:#fff !important; }
.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt{
  background-image:linear-gradient(135deg,#3F1F5C,#6E3B8F 55%,#8A3F9B) !important;
  background-color:#5A2D7D !important; color:#fff !important;
}
.woocommerce .button.alt:hover, .woocommerce a.button.alt:hover{ background-image:linear-gradient(135deg,#4B2670,#7E45A2 55%,#A63C93) !important; }
::selection{ background:rgba(110,59,143,.20); }
/* ===================== end [jm-color-system v1] ===================== */


/* ==========================================================================
   JMALOO BEAUTY — SHOP / ARCHIVE UX LAYER   [jm-shop-ux v1]
   Builds on [jm-color-system v1]. Purely presentational.
   To revert: delete this banner and everything below it.
   ========================================================================== */

body.jm-shop2.jm-shop2{
  --jmx-purple:#6E3B8F; --jmx-purple-d:#4E2668; --jmx-ink:#2C1A3A;
  --jmx-violet-l:#A97FC4; --jmx-lilac:#EFE6F8; --jmx-lilac2:#F8F3FC;
  --jmx-gold:#C79A57; --jmx-gold-d:#8F6224; --jmx-magenta:#A63C93;
  --jmx-teal:#0E7A8C; --jmx-amber:#8A5A12; --jmx-amber-bg:#FDF3E2;
  --jmx-line:#E9E2EE;
}

/* ---------- 1. CARD SHELL ---------- */
body.jm-shop2.jm-shop2 li.product{
  display:flex; flex-direction:column;
  border:1px solid var(--jmx-line); border-radius:18px;
  background:#fff; overflow:hidden;
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s, border-color .28s;
}
body.jm-shop2.jm-shop2 li.product:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px -12px rgba(78,38,104,.26);
  border-color:#DCCFE7;
}
body.jm-shop2.jm-shop2 li.product .astra-shop-thumbnail-wrap{ overflow:hidden; background:var(--jmx-lilac2); }
body.jm-shop2.jm-shop2 li.product .astra-shop-thumbnail-wrap img{ transition:transform .5s cubic-bezier(.2,.7,.3,1); }
body.jm-shop2.jm-shop2 li.product:hover .astra-shop-thumbnail-wrap img{ transform:scale(1.07); }
body.jm-shop2.jm-shop2 li.product > *:last-child{ margin-top:auto; }

/* ---------- 2. BADGE HIERARCHY ---------- */
body.jm-shop2.jm-shop2 .jm-s2-badges{ display:flex; flex-direction:column; gap:6px; align-items:flex-start; z-index:3; }
body.jm-shop2.jm-shop2 .jm-s2-badge{
  font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  padding:5px 10px; border-radius:999px; line-height:1; border:1px solid transparent;
}
body.jm-shop2.jm-shop2 .jmx-badge--save{ background:var(--jmx-magenta); color:#fff; box-shadow:0 3px 10px -3px rgba(166,60,147,.5); }
body.jm-shop2.jm-shop2 .jmx-badge--pre{ background:var(--jmx-amber-bg); color:var(--jmx-amber); border-color:#EBD6AE; }
body.jm-shop2.jm-shop2 .jmx-badge--low{ background:#FFF1F1; color:#A32B2B; border-color:#F0CFCF; }
/* "New in" demoted to a quiet outline so it stops competing */
body.jm-shop2.jm-shop2 .jm-s2-badge--new{
  background:rgba(255,255,255,.86); color:var(--jmx-purple-d);
  border-color:#DCCFE7; font-weight:600;
}
/* stronger badge always wins */
body.jm-shop2.jm-shop2 .jm-s2-badges:has(.jmx-badge--save) .jm-s2-badge--new,
body.jm-shop2.jm-shop2 .jm-s2-badges:has(.jmx-badge--pre) .jm-s2-badge--new{ display:none !important; }

/* ---------- 3. SKELETON PLACEHOLDER BUG ----------
   Theme renders .jm-s2-ph--brand / --size containing a bare "-" and never
   removes them once the real values are injected. 31px dead space per card. */
body.jm-shop2.jm-shop2 li.product .jm-s2-ph--brand,
body.jm-shop2.jm-shop2 li.product .jm-s2-ph--size{ display:none !important; }

/* ---------- 4. TEXT BLOCK ---------- */
body.jm-shop2.jm-shop2 li.product .jm-product-brand-loop{
  font-size:10px !important; letter-spacing:.13em !important; text-transform:uppercase;
  color:var(--jmx-violet-l) !important; font-weight:700 !important; margin:0 0 7px !important;
}
body.jm-shop2.jm-shop2 li.product h2{
  font-size:14.5px !important; line-height:1.42 !important; font-weight:500 !important;
  color:var(--jmx-ink) !important; margin:0 0 8px !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:2.84em;
}
body.jm-shop2.jm-shop2 li.product .jm-product-size-loop{
  display:inline-block !important; width:fit-content !important; align-self:flex-start !important;
  font-size:10.5px !important; letter-spacing:.06em; font-weight:600 !important;
  color:#6B5A78 !important; background:var(--jmx-lilac); border-radius:6px;
  padding:3px 8px !important; margin:0 0 10px !important; line-height:1.35 !important;
}

/* ---------- 5. RATINGS (gold, ready for real review data) ---------- */
body.jm-shop2.jm-shop2 li.product .star-rating{ color:var(--jmx-gold) !important; margin:0 0 9px; font-size:12px; }
body.jm-shop2.jm-shop2 li.product .star-rating::before{ color:#E3DAEA !important; }
body.jm-shop2.jm-shop2 li.product .woocommerce-review-link{ font-size:11px; color:#7A6B8E; }

/* ---------- 6. PRICE + SALE ---------- */
body.jm-shop2.jm-shop2 li.product .price{ margin:0 0 10px !important; }
body.jm-shop2.jm-shop2 li.product .price del{
  color:#A99BB2 !important; font-size:.72em !important; font-weight:500 !important;
  text-decoration:line-through; margin-right:7px; opacity:1 !important;
}
body.jm-shop2.jm-shop2 li.product .price ins{
  text-decoration:none !important; color:var(--jmx-magenta) !important; font-weight:700 !important;
}
body.jm-shop2.jm-shop2 li.product .price ins .woocommerce-Price-currencySymbol{ color:var(--jmx-magenta) !important; }
/* keep a11y price text truly hidden */
body.jm-shop2.jm-shop2 li.product .price .screen-reader-text{
  position:absolute !important; width:1px !important; height:1px !important;
  overflow:hidden !important; clip:rect(1px,1px,1px,1px) !important;
  clip-path:inset(50%) !important; white-space:nowrap !important;
}

/* ---------- 7. FULFILMENT LINE ---------- */
body.jm-shop2.jm-shop2 .jmx-stock{
  display:flex; align-items:flex-start; gap:5px;
  font-size:11.5px; font-weight:600; margin:0 0 12px; line-height:1.35;
}
body.jm-shop2.jm-shop2 .jmx-stock svg{ width:13px; height:13px; flex:0 0 13px; margin-top:2px; }
body.jm-shop2.jm-shop2 .jmx-stock span{ flex:1; }
body.jm-shop2.jm-shop2 .jmx-stock--in{ color:var(--jmx-teal); }
body.jm-shop2.jm-shop2 .jmx-stock--in svg{ stroke:var(--jmx-teal); }
body.jm-shop2.jm-shop2 .jmx-stock--pre{ color:var(--jmx-amber); }
body.jm-shop2.jm-shop2 .jmx-stock--pre svg{ stroke:var(--jmx-amber); }

/* ---------- 8. CTA ---------- */
body.jm-shop2.jm-shop2 li.product a.button{
  border-radius:999px !important; font-size:11.5px !important;
  letter-spacing:.1em !important; font-weight:700 !important;
  transition:background .22s, color .22s, border-color .22s, box-shadow .22s;
}
body.jm-shop2.jm-shop2 li.product:hover a.button{
  background:linear-gradient(135deg,var(--jmx-purple) 0%,var(--jmx-purple-d) 100%) !important;
  color:#fff !important; border-color:transparent !important;
  box-shadow:0 6px 18px -6px rgba(78,38,104,.5);
}
body.jm-shop2.jm-shop2 li.product.onbackorder:hover a.button{
  background:linear-gradient(135deg,#B07C22 0%,#8A5A12 100%) !important;
  box-shadow:0 6px 18px -6px rgba(138,90,18,.5);
}
body.jm-shop2.jm-shop2 li.product [class*=wishlist] a{ transition:transform .2s; }
body.jm-shop2.jm-shop2 li.product [class*=wishlist] a:hover{ transform:scale(1.15); }
body.jm-shop2.jm-shop2 .jm-s2-qv{
  border-radius:999px !important; font-size:10.5px !important;
  letter-spacing:.1em !important; font-weight:700 !important;
  background:rgba(255,255,255,.94) !important; color:var(--jmx-purple-d) !important;
  border:1px solid #DCCFE7 !important;
}
body.jm-shop2.jm-shop2 .jm-s2-qv:hover{ background:var(--jmx-purple) !important; color:#fff !important; border-color:transparent !important; }

/* ---------- 9. UTILITY BAR + FILTER CHIPS ----------
   NOTE: no backdrop-filter here on purpose. It creates a containing block for
   position:fixed descendants and collapses the filter overlay inside it. */
body.jm-shop2.jm-shop2 .jm-s2-util{ border:1px solid var(--jmx-line); border-radius:14px; background:rgba(255,255,255,.94); }
body.jm-shop2.jm-shop2 .jm-s2-util .woocommerce-result-count{ font-size:12.5px; color:#6B5A78; }
body.jm-shop2.jm-shop2 .jm-s2-util__chips:empty{ display:none !important; }
body.jm-shop2.jm-shop2 .jmx-chips{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:14px 0 0; }
body.jm-shop2.jm-shop2 .jmx-chip{
  display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:600;
  background:var(--jmx-lilac); color:var(--jmx-purple-d);
  border:1px solid #DCCFE7; border-radius:999px; padding:6px 8px 6px 12px;
}
body.jm-shop2.jm-shop2 .jmx-chip button{
  all:unset; cursor:pointer; width:16px; height:16px; border-radius:50%;
  display:grid; place-items:center; background:rgba(78,38,104,.14);
  color:var(--jmx-purple-d); font-size:11px; line-height:1; font-weight:700;
}
body.jm-shop2.jm-shop2 .jmx-chip button:hover{ background:var(--jmx-purple); color:#fff; }
body.jm-shop2.jm-shop2 .jmx-chip--clear{ background:none; border-style:dashed; color:#7A6B8E; cursor:pointer; padding:6px 12px; }
body.jm-shop2.jm-shop2 .jmx-chip--clear:hover{ color:var(--jmx-magenta); border-color:var(--jmx-magenta); }

/* ---------- 10. FILTER DRAWER ---------- */
.wc-block-product-filters__overlay-content h3.wp-block-heading{
  font-size:11px !important; letter-spacing:.12em; text-transform:uppercase;
  color:#A97FC4 !important; font-weight:700 !important;
  padding-bottom:8px; border-bottom:1px solid #E9E2EE;
}
.wc-block-product-filters__overlay-content label{ font-size:13.5px; }
.jmx-opt-row{ display:flex; align-items:center; width:100%; }
.jmx-opt-row.jmx-zero{ opacity:.38; pointer-events:none; }
.jmx-fc{
  margin-left:auto; font-size:11px; font-weight:600; color:#9C8FAE;
  background:#F8F3FC; border:1px solid #E9E2EE; border-radius:6px; padding:1px 7px;
}
.wc-block-product-filters__overlay-footer button{
  border-radius:999px !important;
  background:linear-gradient(135deg,#6E3B8F 0%,#4E2668 100%) !important;
  letter-spacing:.06em !important; font-weight:700 !important;
  box-shadow:0 8px 22px -8px rgba(78,38,104,.55) !important;
}

/* ---------- 11. RECENTLY VIEWED ---------- */
body.jm-shop2.jm-shop2 .jm-s2-rv__p{ color:var(--jmx-purple) !important; font-weight:700; }
body.jm-shop2.jm-shop2 .jm-s2-rv__t{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; color:var(--jmx-ink);
}

/* ---------- 12. MOBILE ---------- */
@media (max-width:781px){
  body.jm-shop2.jm-shop2 .jm-s2-util{ border-radius:16px !important; padding:8px !important; }
  body.jm-shop2.jm-shop2 .jm-s2-util__in{
    flex-wrap:nowrap !important; flex-direction:row !important;
    align-items:center !important; gap:8px !important;
  }
  body.jm-shop2.jm-shop2 .jm-s2-util__a{ flex:0 0 auto !important; width:auto !important; }
  body.jm-shop2.jm-shop2 .jm-s2-util__b{ flex:1 1 auto !important; width:auto !important; justify-content:flex-end !important; }
  body.jm-shop2.jm-shop2 .jm-s2-util__chips{ display:none !important; }
  body.jm-shop2.jm-shop2 .jm-s2-util .woocommerce-result-count{ display:none !important; }
  body.jm-shop2.jm-shop2 .jm-s2-util select,
  body.jm-shop2.jm-shop2 .jm-s2-util .orderby{
    font-size:12px !important; padding:9px 30px 9px 12px !important;
    border-radius:999px !important; width:auto !important; max-width:148px;
  }
  body.jm-shop2.jm-shop2 .jmx-count-inline{ display:block; font-size:12px; color:#7A6B8E; margin:12px 2px 2px; }
  body.jm-shop2.jm-shop2 .jmx-chips{
    flex-wrap:nowrap !important; overflow-x:auto; overflow-y:hidden;
    scrollbar-width:none; padding-bottom:2px; margin-top:10px; -webkit-overflow-scrolling:touch;
  }
  body.jm-shop2.jm-shop2 .jmx-chips::-webkit-scrollbar{ display:none; }
  body.jm-shop2.jm-shop2 .jmx-chip{ flex:0 0 auto; }
  body.jm-shop2.jm-shop2 header.hd.sk{ transition:transform .3s cubic-bezier(.2,.7,.3,1); }
  body.jm-shop2.jm-shop2.jmx-hide-hd header.hd.sk{ transform:translateY(-100%); }
  body.jm-shop2.jm-shop2 li.product h2{ font-size:13px !important; }
  body.jm-shop2.jm-shop2 .jmx-stock{ font-size:10.5px; }
  body.jm-shop2.jm-shop2 li.product a.button{ font-size:10.5px !important; }
}
@media (min-width:782px){ body.jm-shop2.jm-shop2 .jmx-count-inline{ display:none; } }

/* ===== BEGIN OPTION 2 - CATALOG CARD SYSTEM (added 2026-08-20) =====
   Scope: product grids only (ul.products / li.product) + existing .jm-s2-util toolbar.
   Header, footer and navigation untouched. Covers EN + AR (RTL block at the end).
   To remove this design: delete everything between BEGIN OPTION 2 and END OPTION 2. */

:root{
  --jm2-plum:#5B2266; --jm2-plum-d:#43164C; --jm2-ink:#221028; --jm2-mut:#7A6880;
  --jm2-line:#EDE7F1; --jm2-soft:#F4EFF7; --jm2-green:#1E6B3A; --jm2-amber:#B4530A; --jm2-pink:#D93E6A;
}

/* 1 - One identical grid on every catalog surface */
html body ul.products.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important; margin-left:0 !important; margin-right:0 !important; list-style:none !important;
}
@media (max-width:1200px){ html body ul.products.products{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
@media (max-width:920px){  html body ul.products.products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media (max-width:600px){  html body ul.products.products{ gap:10px !important; } }

/* 2 - Card surface, equal heights, hover */
html body ul.products.products li.product.product{
  width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important;
  float:none !important; clear:none !important; display:flex !important; flex-direction:column !important;
  background:#fff !important; border:1px solid var(--jm2-line) !important; border-radius:12px !important;
  overflow:hidden !important; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
html body ul.products.products li.product.product:hover{ transform:translateY(-2px) !important; box-shadow:0 10px 26px rgba(40,10,45,.10) !important; border-color:#DFD2E6 !important; }

/* 3 - Unified image treatment: one background, one ratio, nothing cropped */
html body ul.products.products li.product.product .astra-shop-thumbnail-wrap{ background:#fff !important; border-bottom:1px solid #F3EEF6 !important; margin:0 !important; padding:0 !important; }
html body ul.products.products li.product.product .astra-shop-thumbnail-wrap img,
html body ul.products.products li.product.product img.attachment-woocommerce_thumbnail{
  display:block !important; width:100% !important; height:auto !important;
  aspect-ratio:1 / 1 !important; object-fit:contain !important;
  padding:10px !important; margin:0 !important; background:#fff !important; border-radius:0 !important;
}

/* 4 - Card body rhythm */
html body ul.products.products li.product.product .astra-shop-summary-wrap{ display:flex !important; flex-direction:column !important; gap:5px !important; padding:10px 11px 12px !important; flex:1 1 auto !important; }
html body ul.products.products li.product.product .jm-product-brand-loop{ font-size:10px !important; font-weight:800 !important; letter-spacing:1.1px !important; text-transform:uppercase !important; color:#8A6E92 !important; margin:0 !important; line-height:1.3 !important; }
html body ul.products.products li.product.product .woocommerce-loop-product__title{
  font-size:13px !important; line-height:1.35 !important; font-weight:600 !important; color:var(--jm2-ink) !important;
  margin:0 !important; padding:0 !important; display:-webkit-box !important; -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important; overflow:hidden !important; min-height:35px !important;
}
html body ul.products.products li.product.product .jm-product-size-loop{ align-self:flex-start !important; margin:0 !important; font-size:10.5px !important; font-weight:600 !important; color:var(--jm2-mut) !important; background:var(--jm2-soft) !important; padding:2px 7px !important; border-radius:4px !important; }
html body ul.products.products li.product.product .price{ font-size:17px !important; font-weight:800 !important; color:var(--jm2-plum) !important; margin:0 !important; line-height:1.25 !important; }
html body ul.products.products li.product.product .price del, html body ul.products.products li.product.product .price del bdi{ font-size:12px !important; font-weight:600 !important; color:#A695AC !important; opacity:1 !important; }
html body ul.products.products li.product.product .price ins{ text-decoration:none !important; }
html body ul.products.products li.product.product .jmx-stock{ font-size:11px !important; margin:0 !important; line-height:1.3 !important; }
html body ul.products.products li.product.product .jmx-stock--in{ color:var(--jm2-green) !important; }

/* 5 - Prominent filled CTA, pinned to the bottom of every card */
html body ul.products.products li.product.product a.button.button, html body ul.products.products li.product.product a.add_to_cart_button.button{
  margin-top:auto !important; width:100% !important; display:block !important;
  background-image:none !important; background-color:var(--jm2-plum) !important; background:var(--jm2-plum) !important;
  color:#fff !important; border:0 !important; box-shadow:none !important; border-radius:8px !important;
  padding:11px 10px !important; font-size:11.5px !important; font-weight:800 !important;
  letter-spacing:.8px !important; text-transform:uppercase !important; text-align:center !important; line-height:1.2 !important;
}
html body ul.products.products li.product.product a.button.button:hover, html body ul.products.products li.product.product a.add_to_cart_button.button:hover{ background:var(--jm2-plum-d) !important; background-color:var(--jm2-plum-d) !important; color:#fff !important; }
html body ul.products.products li.product.product:has(.jmx-badge--pre) a.button.button{ background:var(--jm2-amber) !important; background-color:var(--jm2-amber) !important; }
html body ul.products.products li.product.product:has(.jmx-badge--pre) a.button.button:hover{ background:#8F4108 !important; background-color:#8F4108 !important; }

/* 6 - Badges: compact, one clear meaning per state */
html body ul.products.products li.product.product .jm-s2-badges{ gap:5px !important; }
html body ul.products.products li.product.product .jm-s2-badge{ font-size:9.5px !important; font-weight:800 !important; letter-spacing:.8px !important; text-transform:uppercase !important; padding:4px 7px !important; border-radius:5px !important; line-height:1 !important; }
html body ul.products.products li.product.product .jm-s2-badge--new{ background:#3A1140 !important; color:#fff !important; }
html body ul.products.products li.product.product .jmx-badge--pre{ background:var(--jm2-amber) !important; color:#fff !important; }
html body ul.products.products li.product.product span.onsale{ background:var(--jm2-pink) !important; color:#fff !important; font-size:11px !important; font-weight:800 !important; padding:3px 7px !important; border-radius:5px !important; min-height:0 !important; line-height:1.3 !important; }

/* 7 - Toolbar: compact sticky filter + sort row, styled for active-filter chips */
html body .jm-s2-util .jm-s2-util__in{ gap:10px !important; align-items:center !important; }
html body .jm-s2-util .jm-s2-util__chips{ display:flex !important; gap:6px !important; flex-wrap:wrap !important; }
html body .jm-s2-util .jm-s2-util__chips:empty{ display:none !important; }
html body .jm-s2-util .jm-s2-util__chips a, html body .jm-s2-util .jm-s2-util__chips .jm-chip{
  display:inline-flex !important; align-items:center !important; gap:5px !important; background:#fff !important;
  border:1px solid #D6C8DD !important; color:#4A2A52 !important; font-size:11.5px !important; font-weight:600 !important;
  padding:5px 9px !important; border-radius:99px !important; text-decoration:none !important;
}
html body .jm-s2-util .jm-s2-util__chips a:hover{ border-color:var(--jm2-plum) !important; color:var(--jm2-plum) !important; }

/* 8 - Arabic / RTL parity (TranslatePress body class + core rtl class) */
html body.rtl.rtl ul.products.products li.product.product .astra-shop-summary-wrap, html body.translatepress-ar.translatepress-ar ul.products.products li.product.product .astra-shop-summary-wrap{ text-align:right !important; }
html body.rtl.rtl ul.products.products li.product.product .jm-s2-badges, html body.translatepress-ar.translatepress-ar ul.products.products li.product.product .jm-s2-badges{ left:auto !important; right:10px !important; }
html body.rtl.rtl ul.products.products li.product.product .jm-product-brand-loop, html body.translatepress-ar.translatepress-ar ul.products.products li.product.product .jm-product-brand-loop{ letter-spacing:0 !important; }
html body.rtl.rtl ul.products.products li.product.product .woocommerce-loop-product__title, html body.translatepress-ar.translatepress-ar ul.products.products li.product.product .woocommerce-loop-product__title{ line-height:1.45 !important; min-height:38px !important; }
html body.rtl.rtl ul.products.products li.product.product a.button.button, html body.translatepress-ar.translatepress-ar ul.products.products li.product.product a.button.button{ letter-spacing:0 !important; font-size:12.5px !important; }
html body.rtl.rtl ul.products.products li.product.product .jm-product-size-loop, html body.translatepress-ar.translatepress-ar ul.products.products li.product.product .jm-product-size-loop{ align-self:flex-end !important; }


/* --- OPTION 2 (part 2): homepage / carousel cards (article.pc) so every catalog surface matches --- */
html body article.pc.pc{
  background:#fff !important; border:1px solid var(--jm2-line) !important; border-radius:12px !important;
  overflow:hidden !important; display:flex !important; flex-direction:column !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
html body article.pc.pc:hover{ transform:translateY(-2px) !important; box-shadow:0 10px 26px rgba(40,10,45,.10) !important; border-color:#DFD2E6 !important; }
html body article.pc.pc .pim{ background:#fff !important; border-bottom:1px solid #F3EEF6 !important; }
html body article.pc.pc .pim img{ aspect-ratio:1 / 1 !important; width:100% !important; height:auto !important; object-fit:contain !important; padding:10px !important; background:#fff !important; }
html body article.pc.pc .pb{ display:flex !important; flex-direction:column !important; gap:5px !important; padding:10px 11px 12px !important; flex:1 1 auto !important; }
html body article.pc.pc .brd{ font-size:10px !important; font-weight:800 !important; letter-spacing:1.1px !important; text-transform:uppercase !important; color:#8A6E92 !important; }
html body article.pc.pc h3{ margin:0 !important; }
html body article.pc.pc h3, html body article.pc.pc h3 a{
  font-size:13px !important; line-height:1.35 !important; font-weight:600 !important; color:var(--jm2-ink) !important;
  display:-webkit-box !important; -webkit-line-clamp:2 !important; -webkit-box-orient:vertical !important;
  overflow:hidden !important; min-height:35px !important; text-decoration:none !important;
}
html body article.pc.pc .pr, html body article.pc.pc .pr .now{ font-size:17px !important; font-weight:800 !important; color:var(--jm2-plum) !important; line-height:1.25 !important; }
html body article.pc.pc .pr del, html body article.pc.pc .pr .was{ font-size:12px !important; font-weight:600 !important; color:#A695AC !important; }
html body article.pc.pc .stk{ font-size:11px !important; color:var(--jm2-green) !important; }
html body article.pc.pc a.atc{
  margin-top:auto !important; width:100% !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:6px !important;
  background-image:none !important; background-color:var(--jm2-plum) !important; background:var(--jm2-plum) !important;
  color:#fff !important; border:0 !important; box-shadow:none !important; border-radius:8px !important; padding:11px 10px !important;
  font-size:11.5px !important; font-weight:800 !important; letter-spacing:.8px !important; text-transform:uppercase !important; text-decoration:none !important;
}
html body article.pc.pc a.atc:hover{ background:var(--jm2-plum-d) !important; background-color:var(--jm2-plum-d) !important; color:#fff !important; }

/* --- OPTION 2 (part 3): Arabic bidi fix - keep Latin brand names and sizes in reading order --- */
html body.translatepress-ar.translatepress-ar ul.products.products li.product.product .jm-product-brand-loop,
html body.translatepress-ar.translatepress-ar ul.products.products li.product.product .jm-product-size-loop,
html body.translatepress-ar.translatepress-ar article.pc.pc .brd,
html body.rtl.rtl ul.products.products li.product.product .jm-product-brand-loop,
html body.rtl.rtl ul.products.products li.product.product .jm-product-size-loop{
  unicode-bidi:plaintext !important; text-align:right !important;
}
html body.translatepress-ar.translatepress-ar article.pc.pc .pb{ text-align:right !important; }

/* ===== END OPTION 2 - CATALOG CARD SYSTEM ===== */

/* ===== FOOTER TRUST BAR FIX =====
   Legal pages (e.g. Privacy Policy) inline an unscoped
   .jm-trust{display:grid} + .jm-trust{grid-template-columns:1fr 1fr!important}
   rule that leaks onto the footer band, turning it into a 2-col grid and
   squeezing the 4 badges into half width (text wrapped one letter per line).
   Re-assert the footer band as a plain block so its own .jm-wrap grid
   (and its existing 980px / 620px breakpoints) work normally. */
#jm-footer .jm-trust{
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;
}
/* ===== END FOOTER TRUST BAR FIX ===== */


/* == JM-BLOG-REFRESH START == */
/* Blog archive cards — purple palette. Remove this whole block to revert. */
.blog .ast-row, .archive .ast-row{ row-gap:30px; }

.ast-article-post > .ast-article-inner{
  padding:0;
  background:#fff;
  border:1px solid #EADFF2;
  border-radius:18px;
  overflow:hidden;
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ast-article-post > .ast-article-inner:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 42px -16px rgba(46,27,65,.28);
  border-color:#DCC3EA;
}
.ast-article-post .post-content{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:0;
}
.ast-article-post .ast-blog-featured-section.post-thumb{ order:0; margin:0 0 16px; overflow:hidden; }
.ast-article-post .ast-blog-featured-section.post-thumb img{
  width:100%; aspect-ratio:16/10; object-fit:cover; display:block;
  transition:transform .5s ease;
}
.ast-article-post > .ast-article-inner:hover .post-thumb img{ transform:scale(1.06); }

.ast-article-post > .ast-article-inner.ast-no-thumb .post-content::before{
  content:"jmaloo";
  order:0;
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:16/10; margin-bottom:16px;
  background:linear-gradient(135deg,#E3D0EE,#CDB3E0);
  color:rgba(255,255,255,.92);
  font-family:Georgia,"Times New Roman",serif;
  font-size:26px; letter-spacing:.22em;
}

.ast-article-post .entry-title,
.ast-article-post .entry-header,
.ast-article-post .ast-excerpt-container,
.ast-article-post .ast-read-more-container{ padding-left:22px; padding-right:22px; }

.ast-article-post .entry-header{ order:1; margin:0 0 8px; }
.ast-article-post .entry-meta{
  font-size:11.5px; letter-spacing:.07em; text-transform:uppercase;
  color:#8C7B9C; line-height:1.5;
}
.ast-article-post .entry-meta .cat-links a{ color:#7A1F78; font-weight:700; }
.ast-article-post .entry-meta a:hover{ color:#93278F; }

.ast-article-post .entry-title{ order:2; font-size:19px; line-height:1.42; margin:0 0 9px; }
.ast-article-post .entry-title a{ color:#1E1230; }
.ast-article-post .entry-title a:hover{ color:#7A1F78; }

.ast-article-post .ast-excerpt-container{ order:3; flex:1 1 auto; }
.ast-article-post .ast-excerpt-container p{ font-size:14.5px; line-height:1.7; color:#625470; margin:0; }

.ast-article-post .ast-read-more-container{ order:4; margin:0; padding-top:16px; padding-bottom:22px; }
.ast-article-post .ast-read-more-container a{
  display:inline-block;
  background:linear-gradient(100deg,#7A1F78,#93278F 55%,#A63C93);
  color:#fff; border:none; border-radius:999px;
  padding:11px 22px; font-size:13.5px; font-weight:700;
  transition:transform .2s ease, box-shadow .2s ease;
}
.ast-article-post .ast-read-more-container a:hover{
  color:#fff; transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(147,39,143,.38);
}

.blog .ast-pagination .page-numbers, .archive .ast-pagination .page-numbers{
  border-radius:11px; border:1.5px solid #E3D5EE; color:#574A66;
  min-width:42px; height:42px; line-height:39px; text-align:center; font-weight:700;
}
.blog .ast-pagination .page-numbers.current, .archive .ast-pagination .page-numbers.current{
  background:linear-gradient(100deg,#7A1F78,#93278F); border-color:#93278F; color:#fff;
}
.blog .ast-pagination a.page-numbers:hover{ border-color:#93278F; color:#93278F; }

@media (max-width:921px){ .ast-article-post .entry-title{ font-size:17.5px; } }
/* == JM-BLOG-REFRESH END == */

/* Jmaloo PDP redesign - reveal repositioned blocks */
.single-product ul.jm-chips.jm-ready,.single-product .jm-notes.jm-ready,.single-product .jm-ship.jm-ready{opacity:1 !important}

/* ================================================================
   JMALOO-CHECKOUT-V2  ·  checkout redesign
   Scoped to body.woocommerce-checkout only - header & footer untouched.
   Works in EN (LTR) and AR (RTL). Delete this whole block to revert.
   ================================================================ */
body.woocommerce-checkout{
  --jm-plum:#5E2750; --jm-plum2:#7C3468;
  --jm-gold:#C08A3E; --jm-gold-bg:#FFF9EF; --jm-gold-line:#F0DFC2;
  --jm-ink:#1C1520; --jm-ink2:#5A5060; --jm-ink3:#8B8296;
  --jm-line:#E9E4EE; --jm-bg:#F8F6FA;
  --jm-ok:#127C4A; --jm-ok-bg:#E9F6EF; --jm-ok-line:#CBE7D8;
  --jm-err:#A8322A; --jm-err-bg:#FEF3F2; --jm-err-line:#F6D3CF;
  --jm-r:16px; --jm-sh:0 1px 2px rgba(28,21,32,.04), 0 8px 24px rgba(28,21,32,.06);
}
body.woocommerce-checkout .site-content{background:var(--jm-bg);}
body.woocommerce-checkout .entry-content > .woocommerce{max-width:1160px;margin-inline:auto;}
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .entry-content h1:first-child{
  font-size:clamp(24px,3vw,30px); font-weight:700; letter-spacing:-.5px; margin-bottom:18px;
}

/* ---------- progress steps ---------- */
body.woocommerce-checkout .jmaloo-steps{
  background:#fff; border:1px solid var(--jm-line); border-radius:var(--jm-r);
  box-shadow:var(--jm-sh); padding:16px 22px; margin-bottom:16px;
}
body.woocommerce-checkout .jmaloo-steps ol{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 28px;
  margin:0; padding:0; list-style:none;
}
body.woocommerce-checkout .jmaloo-steps ol li{
  margin:0; font-size:14px; font-weight:600; color:var(--jm-ink3);
}
body.woocommerce-checkout .jmaloo-steps-note{
  margin:12px 0 0; padding-top:12px; border-top:1px dashed var(--jm-line);
  font-size:13px; font-weight:600; color:var(--jm-ok); unicode-bidi:plaintext;
}

/* ---------- notices ---------- */
body.woocommerce-checkout .woocommerce-error{
  background:var(--jm-err-bg); border:1px solid var(--jm-err-line);
  border-inline-start:4px solid #D9534F; border-radius:12px;
  color:var(--jm-err); box-shadow:none; list-style:none;
  margin:0 0 18px; padding:14px 20px; font-size:14px; font-weight:500;
}
body.woocommerce-checkout .woocommerce-error::before{display:none;}
body.woocommerce-checkout .woocommerce-error li{
  margin:0; padding:0; unicode-bidi:plaintext; line-height:1.55;
}
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message{
  background:#fff; border:1px solid var(--jm-line); border-inline-start:4px solid var(--jm-plum);
  border-radius:12px; color:var(--jm-ink2); box-shadow:var(--jm-sh);
  padding:14px 20px; margin:0 0 16px; font-size:13.5px; unicode-bidi:plaintext;
}
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-message::before{display:none;}
body.woocommerce-checkout .woocommerce-info a{color:var(--jm-plum); font-weight:600;}
body.woocommerce-checkout form.checkout_coupon{
  background:#fff; border:1px solid var(--jm-line); border-radius:12px;
  box-shadow:var(--jm-sh); padding:18px 20px; margin:0 0 16px;
}

/* ---------- cards ---------- */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields{
  background:#fff; border:1px solid var(--jm-line); border-radius:var(--jm-r);
  box-shadow:var(--jm-sh); margin-bottom:16px; overflow:hidden;
}
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #order_review_heading{
  display:flex; align-items:center; gap:11px;
  background:#fff !important; color:var(--jm-ink) !important;
  font-size:17px !important; font-weight:650; letter-spacing:-.2px; text-transform:none;
  margin:0 !important; padding:18px 22px !important;
  border:0; border-bottom:1px solid var(--jm-line); border-radius:0 !important;
}
body.woocommerce-checkout .woocommerce-billing-fields > h3::before,
body.woocommerce-checkout #order_review_heading::before{
  content:"1"; flex:none; width:26px; height:26px; border-radius:8px;
  background:var(--jm-gold-bg); border:1px solid var(--jm-gold-line);
  color:var(--jm-gold); font-size:13px; font-weight:700;
  display:grid; place-items:center;
}
body.woocommerce-checkout #order_review_heading::before{content:"2";}

/* ---------- field grid ---------- */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px; padding:20px 22px;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper > .form-row{
  grid-column:1 / -1; float:none !important; width:auto !important;
  margin:0 !important; padding:0 !important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last,
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #shipping_city_field,
body.woocommerce-checkout #shipping_state_field{grid-column:span 1;}

/* ---------- labels & inputs ---------- */
body.woocommerce-checkout .woocommerce form .form-row label,
body.woocommerce-checkout .form-row > label{
  display:block; font-size:12.5px; font-weight:600; color:var(--jm-ink2);
  margin:0 0 6px; line-height:1.4;
}
body.woocommerce-checkout .required{color:#C0392B; text-decoration:none; border:0;}
body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row select{
  width:100%; height:50px; padding:0 14px;
  border:1.5px solid var(--jm-line); border-radius:11px;
  background:#fff; color:var(--jm-ink); font-size:15px; line-height:1.4;
  box-shadow:none; transition:border-color .15s, box-shadow .15s;
}
body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-checkout .form-row textarea{height:90px; padding:13px 14px; resize:vertical;}
body.woocommerce-checkout .form-row input.input-text::placeholder,
body.woocommerce-checkout .form-row textarea::placeholder{color:#B4AEBE;}
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus{
  border-color:var(--jm-plum); box-shadow:0 0 0 3px rgba(94,39,80,.10); outline:0;
}
body.woocommerce-checkout .woocommerce-invalid input.input-text,
body.woocommerce-checkout .woocommerce-invalid select{border-color:#E8B4AE;}
body.woocommerce-checkout .woocommerce-validated input.input-text,
body.woocommerce-checkout .woocommerce-validated select{border-color:#BFE3CE;}
body.woocommerce-checkout .select2-container .select2-selection--single{
  height:50px; border:1.5px solid var(--jm-line); border-radius:11px; background:#fff;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:47px; padding-inline:14px 30px; color:var(--jm-ink); font-size:15px;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:48px; inset-inline-end:8px;}
body.woocommerce-checkout .woocommerce-shipping-fields > h3{border-bottom:0;}
body.woocommerce-checkout .woocommerce-shipping-fields > h3::before{display:none;}
body.woocommerce-checkout .woocommerce-shipping-fields > h3 label{font-size:14.5px; font-weight:600; margin:0; color:var(--jm-ink);}
body.woocommerce-checkout .woocommerce-additional-fields > h3{font-size:15px !important;}
body.woocommerce-checkout .woocommerce-additional-fields > h3::before{display:none;}

/* ---------- order summary ---------- */
body.woocommerce-checkout #order_review_heading{
  border:1px solid var(--jm-line); border-bottom:0;
  border-radius:var(--jm-r) var(--jm-r) 0 0 !important;
  box-shadow:var(--jm-sh); margin:0 !important;
}
body.woocommerce-checkout #order_review{
  background:#fff; border:1px solid var(--jm-line); border-top:0;
  border-radius:0 0 var(--jm-r) var(--jm-r); box-shadow:var(--jm-sh);
  overflow:hidden; margin-top:0;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table{
  border:0 !important; border-radius:0; margin:0; width:100%;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td{
  border:0; border-bottom:1px solid #F4F1F7; padding:14px 20px;
  font-size:14px; vertical-align:middle; background:transparent;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{
  font-size:11px; font-weight:700; letter-spacing:.7px; text-transform:uppercase;
  color:var(--jm-ink3); background:#FCFBFD; padding-block:11px;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name{
  font-size:13.5px; font-weight:600; line-height:1.45; color:var(--jm-ink);
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity{
  font-weight:400; color:var(--jm-ink3);
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{
  text-align:end; white-space:nowrap; font-weight:600;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th{
  font-weight:500; color:var(--jm-ink2); text-align:start;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th{padding-block:11px;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .woocommerce-shipping-totals td{
  white-space:normal; font-weight:600; line-height:1.45;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td{
  font-size:18px; font-weight:700; color:var(--jm-ink);
  border-top:1px dashed var(--jm-line); border-bottom:0; padding-block:15px;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td{color:var(--jm-plum);}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total .includes_tax{display:block; font-size:11.5px; font-weight:500; color:var(--jm-ink3);}

/* ---------- payment ---------- */
body.woocommerce-checkout #payment{
  background:#fff; border:0; border-top:1px solid var(--jm-line);
  border-radius:0; padding:18px 20px;
}
body.woocommerce-checkout #payment ul.wc_payment_methods{
  border:0; margin:0 0 4px; padding:0; list-style:none;
}
body.woocommerce-checkout #payment li.wc_payment_method{
  border:1.5px solid var(--jm-line); border-radius:13px;
  padding:14px 16px; margin:0 0 10px; background:#fff; list-style:none;
  transition:border-color .15s, box-shadow .15s, background .15s;
}
body.woocommerce-checkout #payment li.wc_payment_method:has(input:checked){
  border-color:var(--jm-plum); background:#FCFAFD; box-shadow:0 0 0 3px rgba(94,39,80,.07);
}
body.woocommerce-checkout #payment li.wc_payment_method label{
  font-size:14.5px !important; font-weight:650 !important; color:var(--jm-ink) !important;
  margin:0; display:inline-flex; align-items:center; gap:8px;
}
body.woocommerce-checkout #payment li.wc_payment_method input[type=radio]{
  width:18px; height:18px; accent-color:var(--jm-plum); margin-inline-end:8px;
}
body.woocommerce-checkout #payment div.payment_box{
  background:transparent !important; color:var(--jm-ink2);
  margin:8px 0 0; padding:0; font-size:12.5px; line-height:1.6; border-radius:0;
}
body.woocommerce-checkout #payment div.payment_box::before,
body.woocommerce-checkout #payment div.payment_box::after{display:none !important;}
body.woocommerce-checkout #payment div.payment_box p:last-child{margin-bottom:0;}
body.woocommerce-checkout .woocommerce-privacy-policy-text{
  font-size:12px; line-height:1.65; color:var(--jm-ink3); margin:4px 0 14px;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text a{color:var(--jm-plum); font-weight:600;}

/* ---------- trust block ---------- */
body.woocommerce-checkout ul.jmaloo-trust{
  background:var(--jm-ok-bg); border:1px solid var(--jm-ok-line);
  border-radius:13px; padding:14px 18px; margin:0 0 14px; list-style:none;
}
body.woocommerce-checkout ul.jmaloo-trust li{
  margin:0 0 9px; padding:0; font-size:12.5px; font-weight:500;
  color:#0E5C38; line-height:1.5; unicode-bidi:plaintext;
}
body.woocommerce-checkout ul.jmaloo-trust li:last-child{margin-bottom:0;}
body.woocommerce-checkout .jmaloo-trust-link{
  margin:0 0 14px; font-size:12.5px;
}
body.woocommerce-checkout .jmaloo-trust-link a{color:var(--jm-plum); font-weight:600; text-decoration:underline;}

/* ---------- place order ---------- */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout .place-order button.button.alt{
  display:flex; align-items:center; justify-content:center; gap:9px;
  width:100%; min-height:58px; padding:15px 22px;
  border:0; border-radius:14px;
  background:linear-gradient(135deg,var(--jm-plum2),var(--jm-plum));
  color:#fff; font-size:16px; font-weight:700; letter-spacing:.2px;
  text-transform:none; line-height:1.3;
  box-shadow:0 6px 18px rgba(94,39,80,.28);
  transition:filter .15s, transform .1s, box-shadow .15s;
}
body.woocommerce-checkout #place_order:hover{filter:brightness(1.08); box-shadow:0 8px 22px rgba(94,39,80,.34);}
body.woocommerce-checkout #place_order:active{transform:translateY(1px);}
body.woocommerce-checkout .place-order{padding:0; margin:0;}

/* ---------- desktop: sticky summary ---------- */
@media (min-width:1000px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout{
    display:grid; align-items:start; column-gap:28px;
    grid-template-columns:minmax(0,1fr) 424px;
    grid-template-rows:auto auto 1fr;
    grid-template-areas:"jmN jmN" "jmC jmH" "jmC jmR";
  }
  body.woocommerce-checkout form.checkout > *{grid-column:1 / -1;}
  body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup{grid-area:jmN;}
  body.woocommerce-checkout form.checkout > #customer_details{grid-area:jmC; width:auto; float:none;}
  body.woocommerce-checkout form.checkout > #order_review_heading{grid-area:jmH;}
  body.woocommerce-checkout form.checkout > #order_review{
    grid-area:jmR; align-self:start; position:sticky; top:24px;
  }
  body.woocommerce-checkout #customer_details .col-1,
  body.woocommerce-checkout #customer_details .col-2{
    width:100%; float:none; padding:0;
  }
  body.woocommerce-checkout #customer_details .col-2:empty{display:none;}
}

/* ---------- mobile ---------- */
@media (max-width:999px){
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
    padding:16px; gap:14px;
  }
  body.woocommerce-checkout .woocommerce-billing-fields > h3,
  body.woocommerce-checkout .woocommerce-shipping-fields > h3,
  body.woocommerce-checkout .woocommerce-additional-fields > h3,
  body.woocommerce-checkout #order_review_heading{padding:15px 16px !important; font-size:16px !important;}
  body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:12px 16px;}
  body.woocommerce-checkout #payment{padding:16px;}
  body.woocommerce-checkout .jmaloo-steps{padding:14px 16px;}
  body.woocommerce-checkout .jmaloo-steps ol{gap:8px 18px;}
  body.woocommerce-checkout .jmaloo-steps ol li{font-size:13px;}
  /* keep the CTA reachable */
  body.woocommerce-checkout #place_order{position:sticky; bottom:12px; z-index:5;}
}
@media (max-width:600px){
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
  body.woocommerce-checkout #billing_city_field,
  body.woocommerce-checkout #billing_state_field{grid-column:1 / -1;}
}

/* ---------- RTL / Arabic ---------- */
html[dir=rtl] body.woocommerce-checkout .jmaloo-steps ol,
body.rtl.woocommerce-checkout .jmaloo-steps ol{direction:rtl;}
html[dir=rtl] body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.rtl.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th{text-align:right;}
html[dir=rtl] body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
body.rtl.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{text-align:right;}
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea{unicode-bidi:plaintext;}
body.woocommerce-checkout input#billing_phone,
body.woocommerce-checkout input#shipping_phone,
body.woocommerce-checkout input#billing_email{direction:ltr; text-align:start;}
/* ---- JMALOO-CHECKOUT-V2 layout override (beats legacy float widths) ---- */
body.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details,
body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading,
body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review,
body.woocommerce-checkout #customer_details > .col-1,
body.woocommerce-checkout #customer_details > .col-2{
  width:auto !important; max-width:none !important; min-width:0 !important;
  float:none !important; margin-inline:0 !important;
}
body.woocommerce-checkout #customer_details{display:block !important;}
body.woocommerce-checkout #customer_details > .col-2:empty{display:none !important;}
@media (max-width:999px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout{display:block !important;}
}
/* ---- end layout override ---- */

/* ---- JMALOO-CHECKOUT-V2 polish fixes ---- */
body.woocommerce-checkout ul.jmaloo-trust li{
  position:relative; padding-inline-start:22px !important;
}
body.woocommerce-checkout ul.jmaloo-trust li::before{
  inset-inline-start:0; inset-block-start:1px; font-weight:700;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th{width:44%;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{width:56%;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .woocommerce-shipping-totals th{vertical-align:top;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name{padding-inline-end:8px;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead .product-total{text-align:end;}
/* single-gateway: keep the label tidy */
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label{width:100%;}
/* ---- end polish fixes ---- */

/* ---- JMALOO-CHECKOUT-V2 summary column widths ---- */
body.woocommerce-checkout .woocommerce-checkout-review-order-table{table-layout:fixed;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead .product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-name{width:60%;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-total{width:40%;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-name{word-break:break-word;}
/* ---- end summary column widths ---- */

/* ---- JMALOO-CHECKOUT-V2 summary typography ---- */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-name{
  font-size:12.5px !important; line-height:1.45 !important; padding-inline:18px 6px;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-total{
  font-size:13px; padding-inline:6px 18px;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th{font-size:13px; padding-inline:18px 6px;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{font-size:13px; padding-inline:6px 18px; line-height:1.5;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th{font-size:17px;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td{font-size:17px;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{padding-inline:18px;}
/* ---- end summary typography ---- */

/* ============ JMALOO-CHECKOUT-V2 END ============ */


/* ================= JMX-FILTER-V3 START (2026-08-22) =================
   Scoped polish for the Woo product-filter panel.
   Fixes: count alignment, checkbox contrast, row density, list overflow.
   To revert: delete everything between START and END.
   ==================================================================== */

/* 1 - count column: fixed width, end-aligned, tabular numerals */
.wc-block-product-filters .wc-block-product-filter-checkbox-list__label .jmx-fc,
.wc-block-product-filters .jmx-opt-row .jmx-fc{
  margin-inline-start:auto !important; margin-inline-end:0 !important;
  flex:0 0 auto !important; min-width:2.6em !important; padding:0 !important;
  background:none !important; border:0 !important; border-radius:0 !important;
  box-shadow:none !important; text-align:end !important;
  font-size:12.5px !important; font-weight:600 !important; color:#9a8fa3 !important;
  font-variant-numeric:tabular-nums !important; font-feature-settings:"tnum" 1 !important;
}

/* 2 - rows: 44px targets, whole row tappable */
.wc-block-product-filters .wc-block-product-filter-checkbox-list__item{ margin:0 !important; }
.wc-block-product-filters .wc-block-product-filter-checkbox-list__label{
  display:flex !important; align-items:center !important; gap:12px !important;
  width:100% !important; min-height:44px !important; padding:2px 0 !important;
  font-size:14.5px !important; line-height:1.3 !important; cursor:pointer !important;
}
.wc-block-product-filters .wc-block-product-filter-checkbox-list__text-wrapper, .wc-block-product-filters .wc-block-product-filter-checkbox-list__text{ flex:1 1 auto !important; min-width:0 !important; }

/* 3 - checkbox: 20px box, real contrast, filled when checked */
.wc-block-product-filters .wc-block-product-filter-checkbox-list__input-wrapper{
  position:relative !important; display:inline-flex !important; align-items:center !important;
  flex:0 0 auto !important; width:20px !important; height:20px !important;
}
.wc-block-product-filters .wc-block-product-filter-checkbox-list__input-wrapper svg{ display:none !important; }
.wc-block-product-filters .wc-block-product-filter-checkbox-list__input{
  appearance:none !important; -webkit-appearance:none !important;
  width:20px !important; height:20px !important; margin:0 !important;
  border:1.5px solid #cfc6d6 !important; border-radius:6px !important;
  background:#fff !important; display:inline-grid !important; place-items:center !important;
  transition:background-color .12s, border-color .12s !important;
}
.wc-block-product-filters .wc-block-product-filter-checkbox-list__input:checked{
  background-image:linear-gradient(90deg,#6e1b6e,#a82fa8) !important;
  border-color:transparent !important;
}
.wc-block-product-filters .wc-block-product-filter-checkbox-list__input:checked::after{
  content:"" !important; width:9px !important; height:5px !important;
  border-left:2px solid #fff !important; border-bottom:2px solid #fff !important;
  transform:rotate(-45deg) translateY(-1px) !important;
}
.wc-block-product-filters .wc-block-product-filter-checkbox-list__input:focus-visible{ outline:2px solid #a82fa8 !important; outline-offset:2px !important; }

/* 4 - headings: tighter, product names win the hierarchy */
.wc-block-product-filters__overlay-content > h2.wp-block-heading{
  font-size:20px !important; letter-spacing:0 !important; margin:0 0 14px !important;
}
.wc-block-product-filters__overlay-content [class*="wp-block-woocommerce-product-filter-"] h3.wp-block-heading{
  font-size:12.5px !important; letter-spacing:.07em !important; text-transform:uppercase !important;
  color:#6a5b72 !important; margin:0 0 6px !important; line-height:1.4 !important;
}

/* 5 - long lists scroll instead of pushing the CTA off screen (overlay only) */
.wc-block-product-filters__overlay-content .wc-block-product-filters .wc-block-product-filter-checkbox-list__items{
  max-height:min(46vh,320px) !important; overflow-y:auto !important;
  -webkit-overflow-scrolling:touch; scrollbar-width:thin;
}

/* 6 - keep the CTA clear of the iOS home bar */
.wc-block-product-filters__overlay-footer{ padding-bottom:calc(12px + env(safe-area-inset-bottom)) !important; }


/* 7 - JMX-V3-HEADINGS: beat the global --jm-h2/--jm-h3 scale inside the panel only */
body.jm-shop2 .wc-block-product-filters .wc-block-product-filters__overlay-dialog .wc-block-product-filters__overlay-content > h2.wp-block-heading{
  font-size:20px !important; line-height:1.25 !important; letter-spacing:0 !important;
  margin:0 0 12px !important;
}
body.jm-shop2 .wc-block-product-filters .wc-block-product-filters__overlay-dialog .wc-block-product-filters__overlay-content [class*="wp-block-woocommerce-product-filter-"] h3.wp-block-heading{
  font-size:12.5px !important; line-height:1.35 !important; letter-spacing:.07em !important;
  text-transform:uppercase !important; font-weight:700 !important; color:#6a5b72 !important;
  margin:0 0 4px !important;
}
/* 8 - tighten the gap between facet groups */
body.jm-shop2 .wc-block-product-filters .wc-block-product-filters__overlay-content > [class*="wp-block-woocommerce-product-filter-"]{
  margin:0 0 16px !important;
}


/* 9 - JMX-V3-VARS: the global heading rule wins via an #id selector and reads
   font-size from var(--jm-h*). Rather than escalate specificity, rescope those
   variables inside the filter panel only. */
.wc-block-product-filters,
.wc-block-product-filters__overlay-dialog,
.wc-block-product-filters__overlay-content{
  --jm-h2:20px !important;
  --jm-h3:12.5px !important;
  --jm-ls-tight:.07em !important;
}

/* ================= JMX-FILTER-V3 END ================= */


/* ---------------------------------------------------------------
   FIX: the cart-scoped rule above uses a bare `button` selector with
   !important, so it also paints the custom header's hamburger / search /
   close controls purple. Keep those transparent on the cart page.
   --------------------------------------------------------------- */
body.woocommerce-cart #jmn4 button,
body.woocommerce-cart #jmn4 .bt {
  background-color: transparent !important;
  border-color: transparent !important;
  color: inherit !important;
}
body.woocommerce-cart #jmn4 .bt:hover {
  background: var(--hov) !important;
}


/* ===================== JM RICH DATA CARD (RDC v1) — START =====================
   Catalog product cards: shop, category, brand + search loops (body.jm-shop2).
   Answers the buyer's objections inside the card: size, availability,
   delivery time, payment method, authenticity and returns.
   Safe to remove: delete everything between RDC v1 START and RDC v1 END.
============================================================================= */
body.jm-shop2.jm-shop2 { --rdc-line:#F1EAF7; --rdc-label:#9385A3; --rdc-val:#4A3760; }

/* --- card shell --- */
body.jm-shop2.jm-shop2 ul.products li.product{ border-radius:16px !important; }
body.jm-shop2.jm-shop2 ul.products li.product:hover{ border-color:#CDB6DE !important; }
body.jm-shop2.jm-shop2 li.product .astra-shop-summary-wrap{ padding:11px 12px 12px !important; gap:0 !important; }

/* --- visual order: brand > title > rating > price > data grid > CTA --- */
body.jm-shop2.jm-shop2 li.product .jm-product-brand-loop{ order:1; margin:0 0 5px !important; }
body.jm-shop2.jm-shop2 li.product .ast-loop-product__link{ order:2; }
body.jm-shop2.jm-shop2 li.product h2{ margin:0 0 6px !important; }
body.jm-shop2.jm-shop2 li.product .star-rating{ order:3; margin:0 0 6px !important; }
body.jm-shop2.jm-shop2 li.product .woocommerce-review-link{ order:3; }
body.jm-shop2.jm-shop2 li.product .price{ order:4; margin:0 0 5px !important; font-size:17px !important; }
body.jm-shop2.jm-shop2 li.product .jm-product-size-loop{ order:5; }
body.jm-shop2.jm-shop2 li.product .jmx-stock{ order:6; }
body.jm-shop2.jm-shop2 li.product .jm-s2-ph--size{ order:7; }
body.jm-shop2.jm-shop2 li.product .jm-s2-ph--brand{ order:8; }
body.jm-shop2.jm-shop2 li.product .astra-shop-summary-wrap::after{ order:9; }
body.jm-shop2.jm-shop2 li.product a.button,
body.jm-shop2.jm-shop2 li.product .added_to_cart{ order:10; }

/* --- shared data-row look --- */
body.jm-shop2.jm-shop2 li.product .jm-product-size-loop,
body.jm-shop2.jm-shop2 li.product .jmx-stock,
body.jm-shop2.jm-shop2 li.product .jm-s2-ph{
  display:flex !important; align-items:baseline !important; gap:8px !important;
  width:auto !important; align-self:stretch !important;
  background:transparent !important; border-radius:0 !important;
  border-top:1px solid var(--rdc-line) !important;
  padding:6px 0 !important; margin:0 !important;
  font-size:11.5px !important; line-height:1.35 !important; font-weight:600 !important;
  letter-spacing:0 !important; color:var(--rdc-val) !important;
}
body.jm-shop2.jm-shop2 li.product .jm-product-size-loop::before,
body.jm-shop2.jm-shop2 li.product .jmx-stock::before,
body.jm-shop2.jm-shop2 li.product .jm-s2-ph::before{
  font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--rdc-label); white-space:nowrap; margin-inline-end:auto;
}
/* grid sits flush at the bottom of every card so rows line up across the row */
body.jm-shop2.jm-shop2 li.product .jm-product-size-loop{ margin-top:auto !important; }
body.jm-shop2.jm-shop2 li.product .jm-product-size-loop:empty{ display:none !important; }

/* --- row 1: size (real product data) --- */
body.jm-shop2.jm-shop2 li.product .jm-product-size-loop::before{ content:"Size"; }

/* --- row 2: availability (real stock status) --- */
body.jm-shop2.jm-shop2 li.product .jmx-stock::before{ content:"Availability"; }
body.jm-shop2.jm-shop2 li.product .jmx-stock svg{ margin:0 !important; }
body.jm-shop2.jm-shop2 li.product .jmx-stock span{ flex:0 0 auto !important; text-align:end; }

/* --- rows 3 + 4: delivery and payment (published store policy) --- */
body.jm-shop2.jm-shop2 li.product .jm-s2-ph{ font-size:0 !important; visibility:visible !important; opacity:1 !important; height:auto !important; }
body.jm-shop2.jm-shop2 li.product .jm-s2-ph--size,
body.jm-shop2.jm-shop2 li.product .jm-s2-ph--brand{ display:flex !important; }
body.jm-shop2.jm-shop2 li.product .jm-s2-ph::after{
  font-size:11.5px; font-weight:600; color:var(--rdc-val); text-align:end;
}
body.jm-shop2.jm-shop2 li.product .jm-s2-ph--size::before{ content:"Delivery"; }
body.jm-shop2.jm-shop2 li.product .jm-s2-ph--size::after{ content:"2\2013 4 business days"; }
body.jm-shop2.jm-shop2 li.product .jm-s2-ph--brand::before{ content:"Payment"; }
body.jm-shop2.jm-shop2 li.product .jm-s2-ph--brand::after{ content:"Cash on delivery"; }

/* --- footnote: authenticity + returns --- */
body.jm-shop2.jm-shop2 li.product .astra-shop-summary-wrap::after{
  content:"100% original  \00B7  Easy returns within 5 days";
  display:block; border-top:1px solid var(--rdc-line);
  padding:6px 0 0; margin:0 0 9px;
  font-size:10px; font-weight:600; letter-spacing:.01em; color:#8A7A9B;
}

/* --- CTA --- */
body.jm-shop2.jm-shop2 li.product a.button{
  width:100% !important; min-height:40px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  margin:0 !important; padding:10px 14px !important;
}

/* --- touch + keyboard --- */
@media (hover:none){
  body.jm-shop2.jm-shop2 li.product .jm-s2-qv{ opacity:1 !important; transform:none !important; }
}
body.jm-shop2.jm-shop2 li.product .jm-s2-qv:focus-visible{ opacity:1 !important; transform:none !important; }
body.jm-shop2.jm-shop2 li.product a:focus-visible,
body.jm-shop2.jm-shop2 li.product button:focus-visible{
  outline:2px solid #6E3B8F !important; outline-offset:2px !important;
}

/* --- mobile 2-up: keep the card short, keep the two rows that sell --- */
@media (max-width:600px){
  body.jm-shop2.jm-shop2 li.product .jm-s2-ph--brand{ display:none !important; }
  body.jm-shop2.jm-shop2 li.product .astra-shop-summary-wrap::after{ display:none !important; }
  body.jm-shop2.jm-shop2 li.product .jm-product-size-loop,
  body.jm-shop2.jm-shop2 li.product .jmx-stock,
  body.jm-shop2.jm-shop2 li.product .jm-s2-ph{ padding:5px 0 !important; font-size:10.5px !important; }
  body.jm-shop2.jm-shop2 li.product .jm-product-size-loop::before,
  body.jm-shop2.jm-shop2 li.product .jmx-stock::before,
  body.jm-shop2.jm-shop2 li.product .jm-s2-ph::before{ font-size:9px; }
  body.jm-shop2.jm-shop2 li.product .jm-s2-ph::after{ font-size:10.5px; }
  body.jm-shop2.jm-shop2 li.product .price{ font-size:15px !important; }
}

/* --- Arabic labels --- */
body.translatepress-ar.jm-shop2 li.product .jm-product-size-loop::before{ content:"الحجم"; }
body.translatepress-ar.jm-shop2 li.product .jmx-stock::before{ content:"التوفر"; }
body.translatepress-ar.jm-shop2 li.product .jm-s2-ph--size::before{ content:"التوصيل"; }
body.translatepress-ar.jm-shop2 li.product .jm-s2-ph--size::after{ content:"2 إلى 4 أيام عمل"; }
body.translatepress-ar.jm-shop2 li.product .jm-s2-ph--brand::before{ content:"الدفع"; }
body.translatepress-ar.jm-shop2 li.product .jm-s2-ph--brand::after{ content:"الدفع عند الاستلام"; }
body.translatepress-ar.jm-shop2 li.product .astra-shop-summary-wrap::after{ content:"أصلي 100% · الإرجاع خلال 5 أيام"; }

/* --- row alignment: spare height goes above the data grid, not above the CTA --- */
html body ul.products.products li.product.product .astra-shop-summary-wrap a.button.button{ margin-top:0 !important; }
html body ul.products.products li.product.product .astra-shop-summary-wrap .jm-product-size-loop{ margin-top:auto !important; }
body.jm-shop2.jm-shop2 li.product:not(:has(.jm-product-size-loop)) .jmx-stock{ margin-top:auto !important; }

/* --- accuracy: pre-order and sold-out items never show the 2-4 day promise --- */
body.jm-shop2.jm-shop2 li.product.onbackorder .jm-s2-ph--size,
body.jm-shop2.jm-shop2 li.product.outofstock .jm-s2-ph--size{ display:none !important; }


/* --- size row: same hairline treatment as the other rows --- */
html body ul.products.products li.product.product .jm-product-size-loop{ background:transparent !important; text-align:end; flex-wrap:wrap; }

/* --- multi-size price ranges stay on one line --- */
body.jm-shop2.jm-shop2 li.product .price:has(.woocommerce-Price-amount ~ .woocommerce-Price-amount){ font-size:13.5px !important; line-height:1.35 !important; }


/* --- search-results parity: page typography must not inflate card text --- */
body.jm-shop2.jm-shop2 #content li.product .jm-product-brand-loop{ font-size:10px !important; line-height:1.3 !important; letter-spacing:.13em !important; color:var(--jmx-violet-l) !important; }
body.jm-shop2.jm-shop2 #content li.product h2{ font-size:14.5px !important; line-height:1.42 !important; color:var(--jmx-ink) !important; }
body.jm-shop2.jm-shop2 #content li.product .price{ font-size:17px !important; }
body.jm-shop2.jm-shop2 #content li.product .price:has(.woocommerce-Price-amount ~ .woocommerce-Price-amount){ font-size:13.5px !important; }
body.jm-shop2.jm-shop2 #content li.product .jm-product-size-loop,
body.jm-shop2.jm-shop2 #content li.product .jmx-stock{ font-size:11.5px !important; line-height:1.35 !important; color:var(--rdc-val) !important; }
body.jm-shop2.jm-shop2 #content li.product .jmx-stock--in{ color:var(--jmx-teal) !important; }
body.jm-shop2.jm-shop2 #content li.product .jmx-stock--pre{ color:var(--jmx-amber) !important; }
body.jm-shop2.jm-shop2 #content li.product .jm-s2-ph{ font-size:0 !important; }
body.jm-shop2.jm-shop2 #content li.product .astra-shop-summary-wrap::after{ font-size:10px !important; line-height:1.35 !important; }

/* --- long status text wraps instead of overflowing --- */
body.jm-shop2.jm-shop2 li.product .jmx-stock span{ flex:0 1 auto !important; min-width:0 !important; text-align:end; }


/* --- search results: page list styles must not pad or centre the cards --- */
body.jm-shop2.jm-shop2 #content ul.products li.product{ padding:0 !important; margin:0 !important; }
body.jm-shop2.jm-shop2 #content li.product .astra-shop-thumbnail-wrap{ padding:0 !important; margin:0 !important; }
body.jm-shop2.jm-shop2 #content li.product .jm-product-brand-loop{ margin:0 0 5px !important; max-width:none !important; }
body.jm-shop2.jm-shop2 #content li.product h2{ margin:0 0 6px !important; max-width:none !important; }
body.jm-shop2.jm-shop2 #content li.product .price{ margin:0 0 5px !important; max-width:none !important; }
body.jm-shop2.jm-shop2 #content li.product .jm-product-size-loop,
body.jm-shop2.jm-shop2 #content li.product .jmx-stock,
body.jm-shop2.jm-shop2 #content li.product .jm-s2-ph{ padding:6px 0 !important; margin:0 !important; max-width:none !important; }
body.jm-shop2.jm-shop2 #content li.product .jm-product-size-loop{ margin-top:auto !important; }


/* --- cards without a size attribute still bottom-align their grid --- */
body.jm-shop2.jm-shop2 #content li.product:not(:has(.jm-product-size-loop)) .jmx-stock{ margin-top:auto !important; }

/* ====================== JM RICH DATA CARD (RDC v1) — END ===================== */


/* ===== JM FEATURED NO-BG RICH CARD (FNB v1) - START =====
   Homepage "02 Featured" rail (section#best) only.
   Background-free cards + rich data rows + CTA.
   Delete everything between START and END to revert. ===== */

html body #nx #best .rail{ gap:30px !important; }

html body #nx #best article.pc.pc{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  transition:none !important;
}
html body #nx #best article.pc.pc:hover{
  transform:none !important;
  box-shadow:none !important;
  border-color:transparent !important;
  background:transparent !important;
}

/* image sits straight on the page - no tile, no frame */
html body #nx #best article.pc.pc .pim{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  padding:4px 0 14px !important;
  overflow:visible !important;
}
html body #nx #best article.pc.pc .pim img{
  aspect-ratio:1 / 1 !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  mix-blend-mode:multiply !important;
  transition:transform .45s cubic-bezier(.22,1,.36,1) !important;
}
html body #nx #best article.pc.pc:hover .pim img{ transform:scale(1.045) !important; }

/* body becomes the data column */
html body #nx #best article.pc.pc .pb{
  padding:0 !important;
  gap:0 !important;
  background:transparent !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
}
html body #nx #best article.pc.pc .brd{
  order:1 !important;
  margin:0 0 5px !important;
  font-size:10px !important;
  font-weight:600 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:#7A6B8E !important;
}
html body #nx #best article.pc.pc h3{
  order:2 !important;
  margin:0 0 8px !important;
  min-height:37px !important;
}
html body #nx #best article.pc.pc h3, html body #nx #best article.pc.pc h3 a{
  font-size:14px !important;
  line-height:1.32 !important;
  font-weight:600 !important;
  color:#1E1230 !important;
}
html body #nx #best article.pc.pc .pr{ order:3 !important; margin:0 0 12px !important; }
html body #nx #best article.pc.pc .pr .now{
  font-size:17px !important;
  font-weight:700 !important;
  color:#6E3B8F !important;
  letter-spacing:.01em !important;
}

/* ---- the data grid: one shared hairline row style ---- */
html body #nx #best article.pc.pc .stk,
html body #nx #best article.pc.pc .pb::before,
html body #nx #best article.pc.pc .pb::after{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:8px 0 !important;
  margin:0 !important;
  border-top:1px solid rgba(30,18,48,.11) !important;
  font-size:11.5px !important;
  line-height:1.35 !important;
  letter-spacing:.01em !important;
  white-space:normal !important;
}

/* row 1 - availability (real stock status) */
html body #nx #best article.pc.pc .stk{
  order:4 !important;
  margin-top:auto !important;
  justify-content:flex-end !important;
  color:#0D7F7A !important;
  font-weight:600 !important;
}
html body #nx #best article.pc.pc .stk::before{
  content:"Availability";
  margin-right:auto !important;
  font-size:10px !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:#7A6B8E !important;
}
html body #nx #best article.pc.pc .stk.low{ color:#BE335F !important; }
html body #nx #best article.pc.pc .stk svg{ flex:0 0 auto !important; }

/* row 2 - delivery */
html body #nx #best article.pc.pc .pb::before{
  content:"✓  Delivery in 2 to 4 business days";
  order:5 !important;
  color:#493A5E !important;
}
/* row 3 - payment */
html body #nx #best article.pc.pc .pb::after{
  content:"✓  Cash on delivery — pay at your door";
  order:6 !important;
  color:#493A5E !important;
}

/* CTA stays last inside the body */
html body #nx #best article.pc.pc a.atc{
  order:7 !important;
  margin:14px 0 0 !important;
  height:46px !important;
  border-radius:999px !important;
  font-size:13px !important;
  letter-spacing:.02em !important;
}

/* footnote under the CTA - answers the authenticity / risk objection */
html body #nx #best article.pc.pc::after{
  content:"100% original · Easy returns within 5 days";
  display:block !important;
  margin:9px 0 0 !important;
  font-size:10.5px !important;
  line-height:1.45 !important;
  letter-spacing:.02em !important;
  color:#7A6B8E !important;
}

/* keep the section head "View all" CTA obvious */
html body #nx #best .sh a{ text-underline-offset:4px !important; }

/* Arabic */
html body.translatepress-ar #nx #best article.pc.pc .stk::before{ content:"التوفر"; letter-spacing:0 !important; }
html body.translatepress-ar #nx #best article.pc.pc .pb::before{ content:"✓ التوصيل في 2 إلى 4 أيام عمل"; }
html body.translatepress-ar #nx #best article.pc.pc .pb::after{ content:"✓ الدفع عند الاستلام عند بابك"; }
html body.translatepress-ar #nx #best article.pc.pc::after{ content:"أصلي 100% · الإرجاع خلال 5 أيام"; }

@media (max-width:900px){
  html body #nx #best .rail{ gap:22px !important; }
}
@media (max-width:600px){
  html body #nx #best .rail{ gap:18px !important; }
  html body #nx #best article.pc.pc h3, html body #nx #best article.pc.pc h3 a{ font-size:13px !important; }
  html body #nx #best article.pc.pc h3{ min-height:34px !important; }
  html body #nx #best article.pc.pc .pr .now{ font-size:15.5px !important; }
  html body #nx #best article.pc.pc .stk,
  html body #nx #best article.pc.pc .pb::before,
  html body #nx #best article.pc.pc .pb::after{ font-size:11px !important; padding:7px 0 !important; }
  html body #nx #best article.pc.pc a.atc{ height:44px !important; margin-top:12px !important; }
}


/* accuracy guard: never promise 2-4 day delivery on a non in-stock item */
html body #nx #best article.pc.pc:is(:has(.stk.pre), :has(.stk.out), :has(.stk.oos), :has(.stk.back), :has(.stk.backorder)) .pb::before{ display:none !important; }
html body #nx #best article.pc.pc:is(:has(.stk.pre), :has(.stk.out), :has(.stk.oos), :has(.stk.back), :has(.stk.backorder)) .stk{ color:#8A5A12 !important; }

/* ===== JM FEATURED NO-BG RICH CARD (FNB v1) - END ===== */


/* ============================================================
   BEGIN: Jmaloo PDP - Concept 2 "Conversion Sprint"
   Scope: single product summary + description tabs ONLY.
   Header, footer, related products and sticky bar untouched.
   To revert: delete everything between BEGIN and END markers.
   ============================================================ */

/* --- 1. Title block --- */
.single-product div.summary .woocommerce-breadcrumb{font-size:12px;color:#918da0;margin-bottom:14px}
.single-product div.summary .jm-product-brand{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6b1f52;font-weight:800;margin:0 0 2px}
.single-product div.summary .single-product-category{display:none}
.single-product div.summary h1.product_title{font-size:26px;line-height:1.32;font-weight:700;letter-spacing:-.2px;margin:4px 0 10px}
@media (min-width:993px){.single-product div.summary h1.product_title{font-size:28px}}

/* --- 2. Remove dead controls / contradictory claims --- */
.single-product div.summary .jm-bb-size{display:none !important}
.single-product div.summary .jm-product-size{display:none !important}
.single-product div.summary .ast-shipping-text{display:none !important}

/* --- 3. Rating row --- */
.single-product div.summary .jm-bb-rating{margin:0 0 12px;font-size:12.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.single-product div.summary .jm-bb-rating .jm-bb-stars{color:#f5a623}
.single-product div.summary .jm-bb-rating .jm-bb-first{color:#6b1f52;text-decoration:underline}

/* --- 4. Price box --- */
.single-product div.summary p.price{background:#faf8fb;border:1px solid #eceaf0;border-bottom:0;border-radius:12px 12px 0 0;padding:14px 16px 2px;margin:0 !important;font-size:31px;font-weight:800;color:#14121a;letter-spacing:-.6px;line-height:1.15}
.single-product div.summary p.price .woocommerce-Price-currencySymbol{font-size:.62em;font-weight:700;margin-left:2px}
.single-product div.summary p.jm-bb-unit{background:#faf8fb;border:1px solid #eceaf0;border-top:0;border-radius:0 0 12px 12px;padding:2px 16px 14px;margin:0 0 14px !important;font-size:12px;color:#7d788c}
.single-product div.summary p.jm-bb-unit .woocommerce-Price-amount{font-weight:700;color:#5c576b}

/* --- 5. Add to cart row --- */
.single-product div.summary form.cart{display:flex;flex-wrap:wrap;gap:9px;align-items:stretch;margin:0 0 12px}
.single-product div.summary form.cart .quantity{display:flex;align-items:center;border:1.5px solid #e4e1e9;border-radius:10px;overflow:hidden;flex:0 0 auto;background:#fff}
.single-product div.summary form.cart .quantity .jm-step{background:transparent;border:0;width:34px;height:52px;font-size:17px;line-height:1;color:#5c576b;cursor:pointer;padding:0}
.single-product div.summary form.cart .quantity input.qty{border:0 !important;box-shadow:none !important;width:36px;min-height:0;text-align:center;font-size:15px;font-weight:700;background:transparent;padding:0;margin:0}
.single-product div.summary form.cart button.single_add_to_cart_button{flex:1 1 160px;background:#6b1f52 !important;color:#fff !important;border:0 !important;border-radius:10px !important;min-height:52px;font-size:15px;font-weight:800;letter-spacing:.01em;text-transform:none;transition:background .18s ease}
.single-product div.summary form.cart button.single_add_to_cart_button:hover{background:#54153f !important}
.single-product div.summary form.cart .jm-bb-wish{flex:0 0 52px;display:flex;align-items:center;justify-content:center;border:1.5px solid #e4e1e9;border-radius:10px;margin:0}
.single-product div.summary form.cart::after{content:"No card needed - pay the courier in cash when your order arrives";flex:0 0 100%;text-align:center;font-size:11.5px;color:#7d788c;margin-top:2px}

/* --- 6. Free-delivery gap closer --- */
.single-product div.summary .jm-ship{background:#fff8ec;border:1px solid #f5dfb8;border-radius:12px;padding:12px 15px;margin:0 0 12px}
.single-product div.summary .jm-ship p{font-size:12.5px;font-weight:700;color:#8a5a12;margin:0 0 8px}
.single-product div.summary .jm-ship .jm-bar{height:6px;background:#f3e6cd;border-radius:4px;overflow:hidden}
.single-product div.summary .jm-ship .jm-bar i{display:block;height:100%;background:linear-gradient(90deg,#e8b96a,#6b1f52)}

/* --- 7. Delivery promise + trust grid --- */
.single-product div.summary .jm-bb-trust{background:transparent;border:0;padding:0;margin:0 0 14px}
.single-product div.summary .jm-bb-trust .jm-bb-eta{background:#f0fbf5;border:1px solid #c7ecd8;border-radius:12px;padding:12px 15px;margin:0 0 10px;font-size:13px;font-weight:700;color:#0f7b4f;display:flex;gap:8px;align-items:center}
.single-product div.summary .jm-bb-trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.single-product div.summary .jm-bb-trust ul li{list-style:none;margin:0;padding:9px 11px 9px 30px;position:relative;background:#faf8fb;border:1px solid #eceaf0;border-radius:9px;font-size:11.5px;line-height:1.35;color:#5c576b}
.single-product div.summary .jm-bb-trust ul li::before{content:"\2713";position:absolute;left:11px;top:9px;color:#0f7b4f;font-weight:800}
@media (max-width:600px){.single-product div.summary .jm-bb-trust ul{grid-template-columns:1fr}}

/* --- 8. Product meta --- */
.single-product div.summary .product_meta{border-top:1px solid #eceaf0;padding-top:13px;margin-top:2px;font-size:11.5px;color:#918da0}

/* --- 9. Gallery plate --- */
.single-product .woocommerce-product-gallery__image{background:#f7f5f2;border:1px solid #eceaf0;border-radius:12px;overflow:hidden}

/* --- 10. (removed) sticky buy column - Astra's float layout made it overlap the
   description section. Dead space is handled by the tighter summary spacing instead. --- */

/* --- 11. Un-tab the description into stacked, always-visible sections --- */
.single-product .woocommerce-tabs ul.tabs{display:none !important}
.single-product .woocommerce-tabs .panel{display:block !important;float:none !important;width:auto !important;border-top:1px solid #eceaf0;padding-top:22px;margin:0 0 26px !important}
.single-product .woocommerce-tabs .panel > h2{display:none}
.single-product .woocommerce-tabs .panel::before{display:block;font-size:18px;font-weight:800;color:#14121a;margin-bottom:12px;letter-spacing:-.2px}
.single-product .woocommerce-tabs #tab-description::before{content:"About this product"}
.single-product .product.product_cat-perfumes .woocommerce-tabs #tab-description::before{content:"About this fragrance"}
.single-product .woocommerce-tabs #tab-additional_information::before{content:"Product details"}
.single-product .woocommerce-tabs #tab-reviews::before{content:"Customer reviews"}


/* --- 12. Specificity fixes (existing theme rules were winning) --- */
#content #primary div.summary h1.product_title.entry-title{font-size:24px !important;line-height:1.32 !important;margin:4px 0 10px !important}
@media (min-width:993px){#content #primary div.summary h1.product_title.entry-title{font-size:27px !important}}
body.single-product div.summary span.single-product-category{display:none !important}

/* ============================================================
   END: Jmaloo PDP - Concept 2 "Conversion Sprint"
   ============================================================ */


/* ============================================================
   BEGIN: Jmaloo PDP - Concept 2 bug fixes (v1)
   Ten rendering / interaction bugs found on the live PDP.
   Safe to delete this whole block to undo just the fixes.
   ============================================================ */

/* F1 - PRICE CARD SEAM
   p.price was display:inline-block, so its top and side hairlines
   stopped 122px in and left a visible step against the unit line
   underneath. Full width makes price + "EGP/ml" read as one card. */
#content #primary div.summary p.price{
  display:block !important;
  width:auto !important;
  border-radius:12px 12px 0 0 !important;
}

/* F2 - WHITE BOX INSIDE THE PHOTO PLATE
   The gallery plate was warm cream (#F7F5F2) but the product PNGs are
   shot on pure white, so a hard white rectangle showed inside it.
   Plate is now white with a hairline edge - no seam on any product. */
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image--placeholder{
  background:#fff !important;
  border:1px solid #ECEAF0 !important;
  border-radius:12px !important;
}

/* F3 - BUY ROW WAS THREE DIFFERENT HEIGHTS AND A BOX-IN-A-BOX
   quantity 69px / Add to cart 69px / wishlist 54px, three different
   radii, and the wishlist <a> carried its own border + white pill
   inside .jm-bb-wish's border. One box, one border, one height. */
#content #primary form.cart .single_add_to_cart_button,
#content #primary form.cart .quantity,
#content #primary form.cart .jm-bb-wish{
  min-height:56px !important;
  align-self:stretch !important;
}
#content #primary form.cart .quantity,
#content #primary form.cart .jm-bb-wish{
  border-radius:12px !important;
}
#content #primary form.cart .jm-bb-wish{
  align-items:stretch !important;
  overflow:hidden !important;
}
#content #primary form.cart .jm-bb-wish > div{
  flex:1 1 auto !important;
  width:100% !important;
  height:auto !important;
  align-items:stretch !important;
  justify-content:center !important;
}
#content #primary form.cart .jm-bb-wish .yith-wcwl-add-to-wishlist-button{
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  width:100% !important;
  height:auto !important;
  align-items:center !important;
  justify-content:center !important;
}

/* F4 - BOX INSIDE A BOX ON THE QUANTITY FIELD
   input.qty kept its own 1px border + 12px radius inside the stepper
   frame, and 36px was too narrow for a two-digit quantity. */
#content #primary form.cart .quantity input.qty{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  width:44px !important;
  text-align:center !important;
}

/* F5 - Add to cart label was 14.5px on a 300 x 69px button. */
#content #primary form.cart button.single_add_to_cart_button{
  font-size:16px !important;
  letter-spacing:.01em !important;
}

/* F6 - FIVE EMPTY STARS READ AS A 0/5 SCORE
   On a product with no reviews the empty star strip looked like a
   one-star rating. Hide the strip until there is a real average. */
.single-product .jm-bb-rating .jm-bb-stars--empty{
  display:none !important;
}
.single-product .jm-bb-rating .jm-bb-first{
  margin-left:0 !important;
}

/* F7 - ANCHOR JUMPS LANDED UNDER THE STICKY HEADER
   Clicking "Be the first to review this product" (#reviews) scrolled
   the heading and "There are no reviews yet" behind the 101px header. */
.single-product #reviews{ scroll-margin-top:158px !important; }
.single-product #tab-description,
.single-product #tab-additional_information,
.single-product #tab-reviews,
.single-product #respond{ scroll-margin-top:122px !important; }

/* F8 - TRUST TICKS SAT BETWEEN THE TWO TEXT LINES
   The absolute ::before was at top:9px, which centred it on wrapped
   items instead of aligning with the first line. */
#content #primary .jm-bb-trust ul li::before{
  top:2px !important;
}

/* F9 - MOBILE: BREADCRUMB APPEARED UNDER THE PHOTO
   nav.woocommerce-breadcrumb is the first child of div.summary, so on
   the stacked layout it rendered below the image and pushed the product
   name down two lines. Hidden under 993px; BreadcrumbList schema and
   the desktop breadcrumb are untouched. */
@media (max-width:992px){
  #content #primary div.summary > nav.woocommerce-breadcrumb{
    display:none !important;
  }
}

/* F10 - ~220px OF DEAD SCROLL
   98px between the SKU line and "About this fragrance", and 120px
   before "Related products". Tightened without touching the
   related-products block itself. */
#content #primary .woocommerce-tabs{
  margin-top:26px !important;
  padding-top:30px !important;
  padding-bottom:34px !important;
  margin-bottom:34px !important;
}
#content #primary .related.products{
  padding-top:34px !important;
}

/* ============================================================
   END: Jmaloo PDP - Concept 2 bug fixes (v1)
   ============================================================ */


/* ============================================================
   BEGIN: Jmaloo PDP - Concept 2 fixes (v2)
   1. Bottle size made clear again (v1 hid it by mistake)
   2. Breadcrumb restored on mobile as a single compact line
   3. Related products rebuilt to the site catalogue card design
   Safe to delete this whole block on its own.
   ============================================================ */

/* --- G1: BOTTLE SIZE ------------------------------------------------
   v1 hid .jm-bb-size because it looked like a dead one-option
   selector, which left the size only in 12px grey text. It is back,
   restyled as a proper spec row: label left, value chip right. */
#content #primary div.summary .jm-bb-size{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:10px 2px 11px !important;
  margin:0 0 6px !important;
  border-top:1px solid #EFEAF4 !important;
  border-bottom:1px solid #EFEAF4 !important;
}
#content #primary div.summary .jm-bb-size .jm-bb-size__label{
  font-size:10.5px !important;
  font-weight:700 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  color:#8C7FA0 !important;
  margin:0 !important;
}
#content #primary div.summary .jm-bb-size .jm-bb-size__opts{
  display:flex !important;
  gap:6px !important;
  margin:0 !important;
}
#content #primary div.summary .jm-bb-size .jm-bb-chip{
  font-size:13.5px !important;
  font-weight:700 !important;
  line-height:1 !important;
  color:#2C1A3A !important;
  background:#F6F1FA !important;
  border:1px solid #E4D8EE !important;
  border-radius:8px !important;
  padding:7px 13px !important;
  cursor:default !important;
}
/* the ml / price-per-ml line was 12px grey - now readable */
#content #primary div.summary .jm-bb-unit{
  font-size:13px !important;
}

/* --- G2: BREADCRUMB ON MOBILE --------------------------------------
   v1 hid it below 993px. Restored instead as one compact line so the
   navigation path is still there without eating two lines of space. */
@media (max-width:992px){
  #content #primary div.summary > nav.woocommerce-breadcrumb{
    display:block !important;
    font-size:11px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    margin:0 0 8px !important;
    opacity:.75 !important;
  }
}

/* --- G3: RELATED PRODUCTS = SITE CATALOGUE CARD --------------------
   The shop / category cards are styled by a body.jm-shop2 ruleset that
   never reached the product page, so related products rendered as bare
   Astra cards. The catalogue card rules are re-scoped below.
   Note: the Availability / Delivery / Payment rows on catalogue cards
   hang off <p class="jmx-stock"> and <p class="jm-s2-ph"> elements that
   PHP only prints on archive pages, so those three rows still need a
   template change - everything else now matches. */
body.single-product .related.products{ --jm-ink: #2C1A3A; --jm-ink-2: #503C63; --jm-accent: #6E3B8F; --jm-accent-2: #A63C93; --jm-gold: #C79A57; --jm-line: #EAE0F2; --jm-line-2: #F4EDFA; --jm-soft: #FBF8FF;  --jmx-purple: #6E3B8F; --jmx-purple-d: #4E2668; --jmx-ink: #2C1A3A; --jmx-violet-l: #A97FC4; --jmx-lilac: #EFE6F8; --jmx-lilac2: #F8F3FC; --jmx-gold: #C79A57; --jmx-gold-d: #8F6224; --jmx-magenta: #A63C93; --jmx-teal: #0E7A8C; --jmx-amber: #8A5A12; --jmx-amber-bg: #FDF3E2; --jmx-line: #E9E2EE; }
body.single-product .related.products .single_add_to_cart_button{ background-image: linear-gradient(135deg, rgb(63, 31, 92) 0%, rgb(110, 59, 143) 55%, rgb(138, 63, 155) 100%) !important; background-color: rgb(90, 45, 125) !important; border-color: transparent !important; color: rgb(255, 255, 255) !important; box-shadow: rgba(110, 59, 143, 0.6) 0px 8px 24px -9px !important; }
body.single-product .related.products .single_add_to_cart_button:hover{ background-image: linear-gradient(135deg, rgb(75, 38, 112) 0%, rgb(126, 69, 162) 55%, rgb(166, 60, 147) 100%) !important; box-shadow: rgba(110, 59, 143, 0.7) 0px 13px 30px -9px !important; }
body.single-product .related.products li.product{ display: flex; flex-direction: column; border: 1px solid var(--jmx-line); border-radius: 18px; background: rgb(255, 255, 255); overflow: hidden; transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.3, 1), box-shadow 0.28s, border-color 0.28s; }
body.single-product .related.products li.product:hover{ transform: translateY(-4px); box-shadow: rgba(78, 38, 104, 0.26) 0px 14px 34px -12px; border-color: rgb(220, 207, 231); }
body.single-product .related.products li.product .astra-shop-thumbnail-wrap{ overflow: hidden; background: var(--jmx-lilac2); }
body.single-product .related.products li.product .astra-shop-thumbnail-wrap img{ transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.3, 1); }
body.single-product .related.products li.product:hover .astra-shop-thumbnail-wrap img{ transform: scale(1.07); }
body.single-product .related.products li.product > :last-child{ margin-top: auto; }
body.single-product .related.products .jm-s2-badges{ display: flex; flex-direction: column; gap: 6px; align-items: flex-start; z-index: 3; }
body.single-product .related.products .jm-s2-badge{ font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; line-height: 1; border: 1px solid transparent; }
body.single-product .related.products .jm-s2-badge--new{ background: rgba(255, 255, 255, 0.86); color: var(--jmx-purple-d); border-color: rgb(220, 207, 231); font-weight: 600; }
body.single-product .related.products .jm-s2-badges:has(.jmx-badge--save) .jm-s2-badge--new{ display: none !important; }
body.single-product .related.products .jm-s2-badges:has(.jmx-badge--pre) .jm-s2-badge--new{ display: none !important; }
body.single-product .related.products li.product .jm-s2-ph--brand{ display: none !important; }
body.single-product .related.products li.product .jm-s2-ph--size{ display: none !important; }
body.single-product .related.products li.product .jm-product-brand-loop{ text-transform: uppercase; font-size: 10px !important; letter-spacing: 0.13em !important; color: var(--jmx-violet-l) !important; font-weight: 700 !important; margin: 0px 0px 7px !important; }
body.single-product .related.products li.product h2{ display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.84em; font-size: 14.5px !important; line-height: 1.42 !important; font-weight: 500 !important; color: var(--jmx-ink) !important; margin: 0px 0px 8px !important; }
body.single-product .related.products li.product .jm-product-size-loop{ letter-spacing: 0.06em; background: var(--jmx-lilac); border-radius: 6px; display: inline-block !important; width: fit-content !important; align-self: flex-start !important; font-size: 10.5px !important; font-weight: 600 !important; color: rgb(107, 90, 120) !important; padding: 3px 8px !important; margin: 0px 0px 10px !important; line-height: 1.35 !important; }
body.single-product .related.products li.product .star-rating{ margin: 0px 0px 9px; font-size: 12px; color: var(--jmx-gold) !important; }
body.single-product .related.products li.product .star-rating::before{ color: rgb(227, 218, 234) !important; }
body.single-product .related.products li.product .woocommerce-review-link{ font-size: 11px; color: rgb(122, 107, 142); }
body.single-product .related.products li.product .price{ margin: 0px 0px 10px !important; }
body.single-product .related.products li.product .price del{ text-decoration: line-through; margin-right: 7px; color: rgb(169, 155, 178) !important; font-size: 0.72em !important; font-weight: 500 !important; opacity: 1 !important; }
body.single-product .related.products li.product .price ins{ text-decoration: none !important; color: var(--jmx-magenta) !important; font-weight: 700 !important; }
body.single-product .related.products li.product .price ins .woocommerce-Price-currencySymbol{ color: var(--jmx-magenta) !important; }
body.single-product .related.products li.product .price .screen-reader-text{ position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
body.single-product .related.products .jmx-stock{ display: flex; align-items: flex-start; gap: 5px; font-size: 11.5px; font-weight: 600; margin: 0px 0px 12px; line-height: 1.35; }
body.single-product .related.products .jmx-stock svg{ width: 13px; height: 13px; flex: 0 0 13px; margin-top: 2px; }
body.single-product .related.products .jmx-stock span{ flex: 1 1 0%; }
body.single-product .related.products .jmx-stock--in{ color: var(--jmx-teal); }
body.single-product .related.products .jmx-stock--in svg{ stroke: var(--jmx-teal); }
body.single-product .related.products .jmx-stock--pre{ color: var(--jmx-amber); }
body.single-product .related.products .jmx-stock--pre svg{ stroke: var(--jmx-amber); }
body.single-product .related.products li.product a.button{ transition: background 0.22s, color 0.22s, border-color 0.22s, box-shadow 0.22s; border-radius: 999px !important; font-size: 11.5px !important; letter-spacing: 0.1em !important; font-weight: 700 !important; }
body.single-product .related.products li.product:hover a.button{ box-shadow: rgba(78, 38, 104, 0.5) 0px 6px 18px -6px; background: linear-gradient(135deg,var(--jmx-purple) 0%,var(--jmx-purple-d) 100%) !important; color: rgb(255, 255, 255) !important; border-color: transparent !important; }
body.single-product .related.products li.product.onbackorder:hover a.button{ box-shadow: rgba(138, 90, 18, 0.5) 0px 6px 18px -6px; background: linear-gradient(135deg, rgb(176, 124, 34) 0%, rgb(138, 90, 18) 100%) !important; }
body.single-product .related.products li.product [class*="wishlist"] a{ transition: transform 0.2s; }
body.single-product .related.products li.product [class*="wishlist"] a:hover{ transform: scale(1.15); }
body.single-product .related.products ul.products li.product{ border-radius: 16px !important; }
body.single-product .related.products ul.products li.product:hover{ border-color: rgb(205, 182, 222) !important; }
body.single-product .related.products li.product .astra-shop-summary-wrap{ padding: 11px 12px 12px !important; gap: 0px !important; }
body.single-product .related.products li.product .jm-product-brand-loop{ order: 1; margin: 0px 0px 5px !important; }
body.single-product .related.products li.product .ast-loop-product__link{ order: 2; }
body.single-product .related.products li.product h2{ margin: 0px 0px 6px !important; }
body.single-product .related.products li.product .star-rating{ order: 3; margin: 0px 0px 6px !important; }
body.single-product .related.products li.product .woocommerce-review-link{ order: 3; }
body.single-product .related.products li.product .price{ order: 4; margin: 0px 0px 5px !important; font-size: 17px !important; }
body.single-product .related.products li.product .jm-product-size-loop{ order: 5; }
body.single-product .related.products li.product .jmx-stock{ order: 6; }
body.single-product .related.products li.product .jm-s2-ph--size{ order: 7; }
body.single-product .related.products li.product .jm-s2-ph--brand{ order: 8; }
body.single-product .related.products li.product .astra-shop-summary-wrap::after{ order: 9; }
body.single-product .related.products li.product a.button{ order: 10; }
body.single-product .related.products li.product .added_to_cart{ order: 10; }
body.single-product .related.products li.product .jm-product-size-loop{ display: flex !important; align-items: baseline !important; gap: 8px !important; width: auto !important; align-self: stretch !important; background: transparent !important; border-radius: 0px !important; border-top: 1px solid var(--rdc-line) !important; padding: 6px 0px !important; margin: 0px !important; font-size: 11.5px !important; line-height: 1.35 !important; font-weight: 600 !important; letter-spacing: 0px !important; color: var(--rdc-val) !important; }
body.single-product .related.products li.product .jmx-stock{ display: flex !important; align-items: baseline !important; gap: 8px !important; width: auto !important; align-self: stretch !important; background: transparent !important; border-radius: 0px !important; border-top: 1px solid var(--rdc-line) !important; padding: 6px 0px !important; margin: 0px !important; font-size: 11.5px !important; line-height: 1.35 !important; font-weight: 600 !important; letter-spacing: 0px !important; color: var(--rdc-val) !important; }
body.single-product .related.products li.product .jm-s2-ph{ display: flex !important; align-items: baseline !important; gap: 8px !important; width: auto !important; align-self: stretch !important; background: transparent !important; border-radius: 0px !important; border-top: 1px solid var(--rdc-line) !important; padding: 6px 0px !important; margin: 0px !important; font-size: 11.5px !important; line-height: 1.35 !important; font-weight: 600 !important; letter-spacing: 0px !important; color: var(--rdc-val) !important; }
body.single-product .related.products li.product .jm-product-size-loop::before{ font-size: 9.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rdc-label); white-space: nowrap; margin-inline-end: auto; }
body.single-product .related.products li.product .jmx-stock::before{ font-size: 9.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rdc-label); white-space: nowrap; margin-inline-end: auto; }
body.single-product .related.products li.product .jm-s2-ph::before{ font-size: 9.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rdc-label); white-space: nowrap; margin-inline-end: auto; }
body.single-product .related.products li.product .jm-product-size-loop{ margin-top: auto !important; }
body.single-product .related.products li.product .jm-product-size-loop:empty{ display: none !important; }
body.single-product .related.products li.product .jm-product-size-loop::before{ content: "Size"; }
body.single-product .related.products li.product .jmx-stock::before{ content: "Availability"; }
body.single-product .related.products li.product .jmx-stock svg{ margin: 0px !important; }
body.single-product .related.products li.product .jmx-stock span{ text-align: end; flex: 0 0 auto !important; }
body.single-product .related.products li.product .jm-s2-ph{ font-size: 0px !important; visibility: visible !important; opacity: 1 !important; height: auto !important; }
body.single-product .related.products li.product .jm-s2-ph--size{ display: flex !important; }
body.single-product .related.products li.product .jm-s2-ph--brand{ display: flex !important; }
body.single-product .related.products li.product .jm-s2-ph::after{ font-size: 11.5px; font-weight: 600; color: var(--rdc-val); text-align: end; }
body.single-product .related.products li.product .jm-s2-ph--size::before{ content: "Delivery"; }
body.single-product .related.products li.product .jm-s2-ph--size::after{ content: "2–4 business days"; }
body.single-product .related.products li.product .jm-s2-ph--brand::before{ content: "Payment"; }
body.single-product .related.products li.product .jm-s2-ph--brand::after{ content: "Cash on delivery"; }
body.single-product .related.products li.product .astra-shop-summary-wrap::after{ content: "100% original  · Easy returns within 5 days"; display: block; border-top: 1px solid var(--rdc-line); padding: 6px 0px 0px; margin: 0px 0px 9px; font-size: 10px; font-weight: 600; letter-spacing: 0.01em; color: rgb(138, 122, 155); }
body.single-product .related.products li.product a.button{ width: 100% !important; min-height: 40px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0px !important; padding: 10px 14px !important; }
body.single-product .related.products li.product a:focus-visible{ outline: rgb(110, 59, 143) solid 2px !important; outline-offset: 2px !important; }
body.single-product .related.products li.product button:focus-visible{ outline: rgb(110, 59, 143) solid 2px !important; outline-offset: 2px !important; }
body.single-product .related.products li.product:not(:has(.jm-product-size-loop)) .jmx-stock{ margin-top: auto !important; }
body.single-product .related.products li.product.onbackorder .jm-s2-ph--size{ display: none !important; }
body.single-product .related.products li.product.outofstock .jm-s2-ph--size{ display: none !important; }
body.single-product .related.products li.product .price:has(.woocommerce-Price-amount ~ .woocommerce-Price-amount){ font-size: 13.5px !important; line-height: 1.35 !important; }
body.single-product .related.products #content li.product .jm-product-brand-loop{ font-size: 10px !important; line-height: 1.3 !important; letter-spacing: 0.13em !important; color: var(--jmx-violet-l) !important; }
body.single-product .related.products #content li.product h2{ font-size: 14.5px !important; line-height: 1.42 !important; color: var(--jmx-ink) !important; }
body.single-product .related.products #content li.product .price{ font-size: 17px !important; }
body.single-product .related.products #content li.product .price:has(.woocommerce-Price-amount ~ .woocommerce-Price-amount){ font-size: 13.5px !important; }
body.single-product .related.products #content li.product .jm-product-size-loop{ font-size: 11.5px !important; line-height: 1.35 !important; color: var(--rdc-val) !important; }
body.single-product .related.products #content li.product .jmx-stock{ font-size: 11.5px !important; line-height: 1.35 !important; color: var(--rdc-val) !important; }
body.single-product .related.products #content li.product .jmx-stock--in{ color: var(--jmx-teal) !important; }
body.single-product .related.products #content li.product .jmx-stock--pre{ color: var(--jmx-amber) !important; }
body.single-product .related.products #content li.product .jm-s2-ph{ font-size: 0px !important; }
body.single-product .related.products #content li.product .astra-shop-summary-wrap::after{ font-size: 10px !important; line-height: 1.35 !important; }
body.single-product .related.products li.product .jmx-stock span{ text-align: end; flex: 0 1 auto !important; min-width: 0px !important; }
body.single-product .related.products #content ul.products li.product{ padding: 0px !important; margin: 0px !important; }
body.single-product .related.products #content li.product .astra-shop-thumbnail-wrap{ padding: 0px !important; margin: 0px !important; }
body.single-product .related.products #content li.product .jm-product-brand-loop{ margin: 0px 0px 5px !important; max-width: none !important; }
body.single-product .related.products #content li.product h2{ margin: 0px 0px 6px !important; max-width: none !important; }
body.single-product .related.products #content li.product .price{ margin: 0px 0px 5px !important; max-width: none !important; }
body.single-product .related.products #content li.product .jm-product-size-loop{ padding: 6px 0px !important; margin: 0px !important; max-width: none !important; }
body.single-product .related.products #content li.product .jmx-stock{ padding: 6px 0px !important; margin: 0px !important; max-width: none !important; }
body.single-product .related.products #content li.product .jm-s2-ph{ padding: 6px 0px !important; margin: 0px !important; max-width: none !important; }
body.single-product .related.products #content li.product .jm-product-size-loop{ margin-top: auto !important; }
body.single-product .related.products #content li.product:not(:has(.jm-product-size-loop)) .jmx-stock{ margin-top: auto !important; }
@media (max-width: 781px){
body.single-product .related.products li.product h2{ font-size: 13px !important; }
body.single-product .related.products .jmx-stock{ font-size: 10.5px; }
body.single-product .related.products li.product a.button{ font-size: 10.5px !important; }
}
@media (max-width: 600px){
body.single-product .related.products li.product .jm-s2-ph--brand{ display: none !important; }
body.single-product .related.products li.product .astra-shop-summary-wrap::after{ display: none !important; }
body.single-product .related.products li.product .jm-product-size-loop{ padding: 5px 0px !important; font-size: 10.5px !important; }
body.single-product .related.products li.product .jmx-stock{ padding: 5px 0px !important; font-size: 10.5px !important; }
body.single-product .related.products li.product .jm-s2-ph{ padding: 5px 0px !important; font-size: 10.5px !important; }
body.single-product .related.products li.product .jm-product-size-loop::before{ font-size: 9px; }
body.single-product .related.products li.product .jmx-stock::before{ font-size: 9px; }
body.single-product .related.products li.product .jm-s2-ph::before{ font-size: 9px; }
body.single-product .related.products li.product .jm-s2-ph::after{ font-size: 10.5px; }
body.single-product .related.products li.product .price{ font-size: 15px !important; }
}

/* ============================================================
   END: Jmaloo PDP - Concept 2 fixes (v2)
   ============================================================ */

/* BEGIN: Jmaloo PDP - review gating polish (v4) */
#content #primary #reviews .woocommerce-noreviews{
  font-size:13px;line-height:1.55;margin:0;color:#6B5E7A;
}
#content #primary #reviews .woocommerce-verification-required{
  display:block;max-width:560px;margin:12px 0 0;padding:12px 14px;
  font-size:12.5px;line-height:1.5;font-weight:600;letter-spacing:.01em;
  color:#4A3760;background:#FAF8FB;
  border:1px solid #EAE0F2;border-left:3px solid #773F90;border-radius:10px;
}
@media (max-width:600px){
  #content #primary #reviews .woocommerce-verification-required{
    font-size:12px;padding:10px 12px;margin-top:10px;
  }
}
/* END: Jmaloo PDP - review gating polish (v4) */

/* ================================================================
   BEGIN: JM QA fix 12 - mobile horizontal overflow on shop and
   product category archives (18px LTR / 32px RTL).
   The shop utility bar could not shrink below its min-content
   width, so the page scrolled sideways on phones. Letting the row
   wrap fixes it without clipping the filter button.
   ================================================================ */
@media (max-width: 782px) {
  #jm-s2-util .jm-s2-util__in {
    flex-wrap: wrap !important;
    min-width: 0 !important;
  }
  #jm-s2-util .jm-s2-util__a,
  #jm-s2-util .jm-s2-util__b,
  #jm-s2-util .wc-block-product-filters {
    min-width: 0 !important;
  }
}
/* END: JM QA fix 12 */


/* ============================================================
   BEGIN: JM QA fix 18 - Arabic copy for CSS-generated labels
   These labels are produced by CSS content:"" so TranslatePress
   cannot reach them, and they were rendering in English on /ar/.
   Header and footer selectors are deliberately left untouched.
   ============================================================ */
body.translatepress-ar .wp-block-woocommerce-product-filter-price > h1::after,
body.translatepress-ar .wp-block-woocommerce-product-filter-price > h2::after,
body.translatepress-ar .wp-block-woocommerce-product-filter-price > h3::after,
body.translatepress-ar .wp-block-woocommerce-product-filter-price > h4::after,
body.translatepress-ar .wp-block-woocommerce-product-filter-price > h5::after,
body.translatepress-ar .wp-block-woocommerce-product-filter-price > h6::after{content:"(ج.م)"}
body.translatepress-ar.single-product div.summary form.cart::after{content:"بدون بطاقة - ادفع للمندوب نقدًا عند وصول طلبك"}
body.translatepress-ar.single-product .woocommerce-tabs #tab-description::before{content:"عن المنتج دة"}
body.translatepress-ar.single-product .product.product_cat-perfumes .woocommerce-tabs #tab-description::before{content:"عن هذا العطر"}
body.translatepress-ar.single-product .woocommerce-tabs #tab-additional_information::before{content:"تفاصيل المنتج"}
body.translatepress-ar.single-product .woocommerce-tabs #tab-reviews::before{content:"تقييمات العملاء"}
body.translatepress-ar.jm-shop2.jm-shop2 li.product .jm-product-size-loop::before,
body.translatepress-ar.single-product .related.products li.product .jm-product-size-loop::before{content:"الحجم"}
body.translatepress-ar.jm-shop2.jm-shop2 li.product .jmx-stock::before,
body.translatepress-ar.single-product .related.products li.product .jmx-stock::before{content:"التوفر"}
body.translatepress-ar.jm-shop2.jm-shop2 li.product .jm-s2-ph--size::before,
body.translatepress-ar.single-product .related.products li.product .jm-s2-ph--size::before{content:"التوصيل"}
body.translatepress-ar.jm-shop2.jm-shop2 li.product .jm-s2-ph--size::after,
body.translatepress-ar.single-product .related.products li.product .jm-s2-ph--size::after{content:"2–4 أيام عمل"}
body.translatepress-ar.jm-shop2.jm-shop2 li.product .jm-s2-ph--brand::before,
body.translatepress-ar.single-product .related.products li.product .jm-s2-ph--brand::before{content:"الدفع"}
body.translatepress-ar.jm-shop2.jm-shop2 li.product .jm-s2-ph--brand::after,
body.translatepress-ar.single-product .related.products li.product .jm-s2-ph--brand::after{content:"الدفع عند الاستلام"}
body.translatepress-ar.jm-shop2.jm-shop2 li.product .astra-shop-summary-wrap::after,
body.translatepress-ar.single-product .related.products li.product .astra-shop-summary-wrap::after{content:"أصلي 100% · إرجاع سهل خلال 5 أيام"}
html body.translatepress-ar #nx #best article.pc.pc .stk::before{content:"التوفر"}
html body.translatepress-ar #nx #best article.pc.pc .pb::before{content:"✓  التوصيل في 2 إلى 4 أيام عمل"}
html body.translatepress-ar #nx #best article.pc.pc .pb::after{content:"✓  الدفع عند الاستلام — ادفع عند بابك"}
html body.translatepress-ar #nx #best article.pc.pc::after{content:"أصلي 100% · إرجاع سهل خلال 5 أيام"}
/* END: JM QA fix 18 */

/* START: JM pagination active color fix (match brand purple) */
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce-account .woocommerce-pagination span.current,
nav.woocommerce-pagination ul li span.current{
  background:#773F90 !important;
  background-color:#773F90 !important;
  border-color:#773F90 !important;
  color:#fff !important;
  box-shadow:0 6px 14px rgba(119,63,144,.25) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus{
  background:#773F90 !important;
  border-color:#773F90 !important;
  color:#fff !important;
}
/* END: JM pagination active color fix */

/* START: JM filter chip rows (replaces square filter checkboxes) */
.wc-block-product-filter-checkbox-list__input-wrapper.wc-block-product-filter-checkbox-list__input-wrapper.wc-block-product-filter-checkbox-list__input-wrapper{
  display:none !important;
  width:0 !important;
}
.wc-block-product-filter-checkbox-list__label.wc-block-product-filter-checkbox-list__label{
  border-radius:999px !important;
  padding:9px 16px !important;
  margin:2px -6px !important;
  transition:background .16s ease, color .16s ease !important;
}
.wc-block-product-filter-checkbox-list__label.wc-block-product-filter-checkbox-list__label:hover{
  background:#faf6fb !important;
}
.wc-block-product-filter-checkbox-list__label.wc-block-product-filter-checkbox-list__label:has(input:checked){
  background:#7A1F7A !important;
}
.wc-block-product-filter-checkbox-list__label.wc-block-product-filter-checkbox-list__label:has(input:checked) .wc-block-product-filter-checkbox-list__text,
.wc-block-product-filter-checkbox-list__label.wc-block-product-filter-checkbox-list__label:has(input:checked) .jmx-fc{
  color:#fff !important;
  font-weight:600 !important;
}
/* END: JM filter chip rows */

/* === MOBILE FIX: shop card meta rows (size / availability / delivery / payment) ===
   Added 2026-08-26 - keeps label+value inside the card on narrow screens. */
@media (max-width: 921px){
  html body.jm-shop2.jm-shop2 #content ul.products li.product .jm-product-size-loop,
  html body.jm-shop2.jm-shop2 #content ul.products li.product .jmx-stock,
  html body.jm-shop2.jm-shop2 #content ul.products li.product .jm-s2-ph{
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: baseline !important;
    align-self: stretch !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    column-gap: 6px !important;
    row-gap: 1px !important;
    border-radius: 0 !important;
    overflow-wrap: anywhere !important;
  }
  html body.jm-shop2.jm-shop2 #content ul.products li.product .jm-product-size-loop::before,
  html body.jm-shop2.jm-shop2 #content ul.products li.product .jmx-stock::before,
  html body.jm-shop2.jm-shop2 #content ul.products li.product .jm-s2-ph::before{
    margin-inline-end: auto !important;
    max-width: 100% !important;
  }
  html body.jm-shop2.jm-shop2 #content ul.products li.product .jm-s2-ph::after,
  html body.jm-shop2.jm-shop2 #content ul.products li.product .jmx-stock > span{
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: right !important;
    white-space: normal !important;
  }
}
@media (max-width: 600px){
  html body.jm-shop2.jm-shop2 #content ul.products li.product .jmx-stock::before{
    flex: 0 0 100% !important;
  }
  html body.jm-shop2.jm-shop2 #content ul.products li.product .jmx-stock > svg{
    margin-inline-start: auto !important;
  }
}
/* === END MOBILE FIX === */

/* Fix: ghost/secondary buttons hover — white text on dark overlay (AR + EN) */
#nx#nx .btn:not(.pri):hover{ color:#fff !important; border-color:#2C1A3A !important; }


/* ==========================================================================
   JMALOO BEAUTY — Product card (loop) fix
   Added via Claude, 2026-09-21. Safe to remove this whole block to revert.
   ========================================================================== */
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product{display:flex !important;flex-direction:column !important;background:#fff;border:1px solid #EDE4F2;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(74,26,92,.04);transition:box-shadow .22s ease, transform .22s ease, border-color .22s ease}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product:hover{transform:translateY(-3px);border-color:#DFCDEA;box-shadow:0 10px 28px rgba(74,26,92,.12)}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product:focus-within{border-color:#5B2266;box-shadow:0 0 0 3px rgba(91,34,102,.18)}

#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-thumbnail-wrap{position:relative;background:#FAF7FC;border-bottom:1px solid #EDE4F2}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-thumbnail-wrap img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;padding:14px;background:transparent;transition:transform .35s ease}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product:hover .astra-shop-thumbnail-wrap img{transform:scale(1.035)}

#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jmx-stock{position:absolute !important;bottom:10px;inset-inline-start:10px;z-index:5;width:auto !important;margin:0 !important;padding:5px 10px !important;display:inline-flex !important;align-items:center !important;gap:6px;font-size:11.5px !important;font-weight:700;line-height:1;color:#15603A !important;background:#E7F4EC !important;border:1px solid #C8E6D3 !important;border-radius:999px !important;box-shadow:0 1px 3px rgba(21,96,58,.12)}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jmx-stock::before{content:none !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jmx-stock svg{flex:0 0 12px !important;width:12px;height:12px;margin:0}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jmx-stock--out,#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jmx-stock--outofstock{color:#8E2020 !important;background:#FBECEC !important;border-color:#F0CFCF !important}

#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jm-s2-badge{font-size:11px !important;font-weight:700;line-height:1;padding:5px 9px !important;border-radius:999px !important;letter-spacing:.01em}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .yith-add-to-wishlist-button-block,#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .yith-wcwl-add-to-wishlist{width:44px !important;height:44px !important;display:flex;align-items:center;justify-content:center}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .yith-add-to-wishlist-button-block a,#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .yith-wcwl-add-to-wishlist a{width:44px;height:44px;display:flex;align-items:center;justify-content:center}

#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-summary-wrap{flex:1 1 auto;display:grid !important;grid-template-columns:1fr auto !important;grid-template-rows:auto 1fr auto auto auto !important;align-items:start;gap:5px 10px !important;padding:12px 12px 12px !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-summary-wrap > .screen-reader-text{position:absolute !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jm-product-brand-loop{grid-column:1 / -1;margin:0 !important;font-size:11px !important;font-weight:600;letter-spacing:.02em;color:#6E5878 !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .ast-loop-product__link{grid-column:1 / -1}
#content#content :is(.related,.up-sells,.cross-sells) ul.products li.product .woocommerce-loop-product__title{display:-webkit-box !important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 !important;height:auto !important;max-height:none !important;min-height:0 !important;line-height:1.6 !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .price{grid-column:1 !important;align-self:end;margin:0 !important;font-size:20px !important;font-weight:800;line-height:1.15;color:#5B2266 !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jm-product-size-loop{grid-column:2 !important;align-self:end;justify-self:end;margin:0 !important;display:inline-flex !important;align-items:center;gap:5px;padding:4px 9px !important;font-size:11px !important;line-height:1;color:#6B6475 !important;background:#F3EFF7 !important;border:1px solid #E7DFEE !important;border-radius:999px !important;white-space:nowrap}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jm-product-size-loop::before{font-size:11px !important;opacity:.7;margin-inline-end:0 !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-summary-wrap::after{grid-column:1 / -1;margin-top:2px;padding-top:8px;border-top:1px solid #EDE4F2;font-size:11px !important;line-height:1.4;color:#6B6475 !important}

#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-summary-wrap a.button{grid-column:1 / -1;align-self:end;margin:4px 0 0 !important;min-height:46px !important;padding:12px 18px !important;font-size:14px !important;font-weight:700;border-radius:999px;display:flex !important;align-items:center;justify-content:center;transition:filter .2s ease, box-shadow .2s ease}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-summary-wrap a.button:hover{filter:brightness(1.08);box-shadow:0 6px 16px rgba(122,31,120,.28)}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product a:focus-visible,#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product button:focus-visible{outline:3px solid #5B2266;outline-offset:2px}

@media (max-width:600px){
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-summary-wrap{padding:10px !important;gap:4px 6px !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .price{font-size:18px !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jm-product-size-loop{padding:3px 7px !important;font-size:10.5px !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-thumbnail-wrap img{padding:10px}
}

@media (prefers-reduced-motion:reduce){
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product,#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-thumbnail-wrap img,#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-summary-wrap a.button{transition:none !important}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product:hover{transform:none}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product:hover .astra-shop-thumbnail-wrap img{transform:none}
}

/* explicit row placement: products with no brand line keep price/CTA aligned */
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jm-product-brand-loop{grid-row:1}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .ast-loop-product__link{grid-row:2}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .price{grid-row:3}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .jm-product-size-loop{grid-row:3}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-summary-wrap::after{grid-row:4}
#content :is(.related,.up-sells,.cross-sells) ul.products li.product.type-product .astra-shop-summary-wrap a.button{grid-row:5}
/* ===== end JMALOO product card fix ===== */
