/* Hide '+ Free Shipping' text on product pages */
.ast-shipping-text { display: none !important; }

/* Replace the chevron arrow with + / - sign on parent menu items (DESKTOP) */
.main-header-menu .menu-item-has-children > .menu-link .dropdown-menu-toggle .ast-icon svg,
.main-header-menu .menu-item-has-children > .menu-link .dropdown-menu-toggle .ast-icon {
	display: none !important;
}
.main-header-menu .menu-item-has-children > .menu-link .dropdown-menu-toggle::after {
	content: "+" !important;
	font-family: inherit !important;
	font-weight: 700 !important;
	font-size: 1.1em !important;
	line-height: 1 !important;
	margin-left: 4px;
	display: inline-block;
	color: inherit;
}
.main-header-menu .menu-item-has-children:hover > .menu-link .dropdown-menu-toggle::after,
.main-header-menu .menu-item-has-children:focus-within > .menu-link .dropdown-menu-toggle::after {
	content: "−" !important;
}

/* MOBILE: replace the toggle button arrow with + / - (covers both #ast-mobile-header and #ast-mobile-popup drawer) */
#ast-mobile-header .menu-item-has-children > .ast-menu-toggle .ast-icon,
#ast-mobile-header .menu-item-has-children > .ast-menu-toggle svg,
#ast-mobile-popup .menu-item-has-children > .ast-menu-toggle .ast-icon,
#ast-mobile-popup .menu-item-has-children > .ast-menu-toggle svg,
.ast-mobile-popup-drawer .menu-item-has-children > .ast-menu-toggle .ast-icon,
.ast-mobile-popup-drawer .menu-item-has-children > .ast-menu-toggle svg {
	display: none !important;
}
#ast-mobile-header .menu-item-has-children > .ast-menu-toggle::before,
#ast-mobile-popup .menu-item-has-children > .ast-menu-toggle::before,
.ast-mobile-popup-drawer .menu-item-has-children > .ast-menu-toggle::before {
	content: "+" !important;
	font-family: inherit !important;
	font-weight: 700 !important;
	font-size: 1.4em !important;
	line-height: 1 !important;
	transform: none !important;
	color: inherit;
	display: inline-block;
}
#ast-mobile-header .menu-item-has-children.ast-submenu-expanded > .ast-menu-toggle::before,
#ast-mobile-popup .menu-item-has-children.ast-submenu-expanded > .ast-menu-toggle::before,
.ast-mobile-popup-drawer .menu-item-has-children.ast-submenu-expanded > .ast-menu-toggle::before {
	content: "−" !important;
}

/* ===== PUZZLES DARK THEME ===== */
/* Catchy dark mood — black base + brand pink (#FB5FAB) + gold accents (#FFD700) */
/* Elementor sections keep their original backgrounds; this affects header, footer, shop pages */

/* Root variables */
:root {
  --puz-bg: #0a0a0a;
  --puz-bg-soft: #141414;
  --puz-bg-card: #1a1a1a;
  --puz-text: #f5f5f5;
  --puz-text-muted: #b8b8b8;
  --puz-pink: #FB5FAB;
  --puz-gold: #FFD700;
  --puz-border: #2a2a2a;
}

/* Body & main background */
body, .site, .ast-container, #page {
  background-color: var(--puz-bg) !important;
  color: var(--puz-text);
}

/* Header — sleek black with subtle pink underline */
.ast-primary-header-bar,
.main-header-bar,
.ast-above-header,
.ast-below-header,
header.site-header {
  background-color: var(--puz-bg) !important;
  border-bottom: 1px solid var(--puz-border);
  box-shadow: 0 2px 20px rgba(251, 95, 171, 0.08);
}

/* Header menu links — light text with gold hover */
.main-header-menu > .menu-item > .menu-link,
.main-header-menu a,
.ast-builder-menu-1 .menu-link {
  color: var(--puz-text) !important;
  transition: color 0.25s ease;
}
.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link {
  color: var(--puz-pink) !important;
}

/* Submenu dropdown — dark with pink accent */
.main-header-menu .sub-menu,
.ast-desktop .main-header-menu .sub-menu {
  background-color: var(--puz-bg-soft) !important;
  border-top: 2px solid var(--puz-pink) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.6) !important;
}
.main-header-menu .sub-menu .menu-link {
  color: var(--puz-text) !important;
  border-bottom: 1px solid var(--puz-border);
}
.main-header-menu .sub-menu .menu-link:hover {
  color: var(--puz-gold) !important;
  background-color: rgba(251, 95, 171, 0.08) !important;
}

/* +/- menu signs stay visible against dark */
.main-header-menu .menu-item-has-children > .menu-link .dropdown-menu-toggle::after,
#ast-mobile-popup .menu-item-has-children > .ast-menu-toggle::before,
.ast-mobile-popup-drawer .menu-item-has-children > .ast-menu-toggle::before {
  color: var(--puz-pink) !important;
}

/* Mobile popup menu — full dark */
#ast-mobile-popup,
.ast-mobile-popup-drawer,
.ast-mobile-popup-content,
.ast-mobile-popup-inner {
  background-color: var(--puz-bg) !important;
}
#ast-mobile-popup .menu-item .menu-link,
.ast-mobile-popup-drawer .menu-link {
  color: var(--puz-text) !important;
  border-bottom: 1px solid var(--puz-border) !important;
}
#ast-mobile-popup .menu-item .menu-link:hover {
  color: var(--puz-pink) !important;
}

/* Search icons (desktop + mobile) — keep pink/white but add glow on dark */
.puzzles-search-trigger,
.puzzles-search-trigger-desktop,
.puzzles-search-trigger-mobile {
  box-shadow: 0 4px 20px rgba(251, 95, 171, 0.45) !important;
}

/* Cart icon */
.ast-site-header-cart .ast-site-header-cart-li > a,
.ast-cart-menu-wrap {
  color: var(--puz-text) !important;
}
.ast-cart-menu-wrap .count {
  background-color: var(--puz-pink) !important;
  color: #fff !important;
}

/* Shop / product archive pages — dark cards */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background-color: var(--puz-bg-card) !important;
  border: 1px solid var(--puz-border) !important;
  border-radius: 12px;
  padding: 14px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  border-color: var(--puz-pink) !important;
  box-shadow: 0 12px 30px rgba(251, 95, 171, 0.25) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  color: var(--puz-text) !important;
  font-weight: 600 !important;
}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount {
  color: var(--puz-gold) !important;
  font-weight: 700 !important;
}
.woocommerce ul.products li.product .price del .amount {
  color: var(--puz-text-muted) !important;
  opacity: 0.7;
}

/* Add to cart buttons — pink with hover lift */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce ul.products li.product .button,
.woocommerce-page button.button.alt,
.wc-block-components-button {
  background-color: var(--puz-pink) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px;
  transition: all 0.25s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce ul.products li.product .button:hover {
  background-color: var(--puz-gold) !important;
  color: #0a0a0a !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(255, 215, 0, 0.35);
}

/* Single product page */
.single-product .product .price,
.single-product .product .price .amount {
  color: var(--puz-gold) !important;
}
.single-product .product_title {
  color: var(--puz-text) !important;
}
.single-product .woocommerce-product-details__short-description,
.single-product .product .description {
  color: var(--puz-text-muted) !important;
}
.single-product .product_meta,
.single-product .product_meta a {
  color: var(--puz-text-muted) !important;
}
.single-product .product_meta a:hover {
  color: var(--puz-pink) !important;
}

/* Cart & Checkout — dark with readable contrast */
.woocommerce-cart .cart_totals,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-checkout #order_review,
.woocommerce table.shop_table,
.woocommerce-checkout form .form-row {
  background-color: var(--puz-bg-card) !important;
  color: var(--puz-text) !important;
  border-color: var(--puz-border) !important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-color: var(--puz-border) !important;
  color: var(--puz-text) !important;
}
.woocommerce-checkout label,
.woocommerce-cart label,
.woocommerce form label {
  color: var(--puz-text) !important;
}
.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="tel"],
.woocommerce form input[type="number"],
.woocommerce form textarea,
.woocommerce form select {
  background-color: var(--puz-bg-soft) !important;
  color: var(--puz-text) !important;
  border: 1px solid var(--puz-border) !important;
  border-radius: 6px !important;
}
.woocommerce form input:focus {
  border-color: var(--puz-pink) !important;
  box-shadow: 0 0 0 2px rgba(251, 95, 171, 0.2) !important;
}

/* Page titles (shop, category, search) */
.woocommerce .woocommerce-products-header__title,
.entry-title,
.page-title,
h1.entry-title {
  color: var(--puz-text) !important;
}
h1, h2, h3, h4, h5, h6 {
  color: var(--puz-text);
}

/* Sidebar widgets */
.widget,
.widget-area .widget {
  background-color: var(--puz-bg-card) !important;
  color: var(--puz-text) !important;
  padding: 18px !important;
  border-radius: 10px;
  border: 1px solid var(--puz-border);
  margin-bottom: 18px;
}
.widget a {
  color: var(--puz-text) !important;
}
.widget a:hover {
  color: var(--puz-pink) !important;
}
.widget-title,
.widgettitle {
  color: var(--puz-gold) !important;
  border-bottom: 1px solid var(--puz-border);
  padding-bottom: 8px;
}

/* Footer */
.site-footer,
.ast-small-footer,
.footer-adv-overlay,
footer.site-footer {
  background-color: #050505 !important;
  color: var(--puz-text-muted) !important;
  border-top: 1px solid var(--puz-border);
}
.site-footer a {
  color: var(--puz-text-muted) !important;
}
.site-footer a:hover {
  color: var(--puz-pink) !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--puz-bg-card) !important;
  color: var(--puz-text) !important;
  border: 1px solid var(--puz-border) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--puz-pink) !important;
  color: #fff !important;
  border-color: var(--puz-pink) !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: linear-gradient(135deg, var(--puz-pink) 0%, var(--puz-gold) 100%) !important;
  color: #0a0a0a !important;
  font-weight: 700 !important;
  border-radius: 50px !important;
  padding: 4px 12px !important;
}

/* Breadcrumb */
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
  color: var(--puz-text-muted) !important;
}
.woocommerce-breadcrumb a:hover {
  color: var(--puz-pink) !important;
}

/* Result count & sorting */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
  color: var(--puz-text) !important;
  background-color: var(--puz-bg-soft) !important;
  border: 1px solid var(--puz-border) !important;
}

/* Quantity input */
.woocommerce .quantity .qty {
  background-color: var(--puz-bg-soft) !important;
  color: var(--puz-text) !important;
  border: 1px solid var(--puz-border) !important;
}

/* My Account page */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
.woocommerce-MyAccount-content {
  background-color: var(--puz-bg-card) !important;
  color: var(--puz-text) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: var(--puz-pink) !important;
  color: #fff !important;
}

/* Notices (success/error) */
.woocommerce-message,
.woocommerce-info {
  background-color: var(--puz-bg-card) !important;
  color: var(--puz-text) !important;
  border-top-color: var(--puz-gold) !important;
}
.woocommerce-error {
  background-color: var(--puz-bg-card) !important;
  color: #ff6b6b !important;
  border-top-color: #ff6b6b !important;
}

/* Subtle gold glow accent on key links across site */
a.ast-button, .ast-button {
  background-color: var(--puz-pink) !important;
  color: #fff !important;
  border-radius: 8px !important;
  transition: all 0.25s ease;
}
a.ast-button:hover, .ast-button:hover {
  background-color: var(--puz-gold) !important;
  color: #0a0a0a !important;
}

/* Scrollbar styling for that premium feel */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: var(--puz-bg);
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--puz-pink), #c93b87);
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--puz-gold);
}

/* Selection color */
::selection {
  background: var(--puz-pink);
  color: #fff;
}

/* Loader spinner */
.woocommerce .blockUI.blockOverlay::before,
.woocommerce .loader::before {
  border-color: var(--puz-pink) !important;
  border-top-color: transparent !important;
}

/* === END PUZZLES DARK THEME === */


/* === DARK THEME PATCH: ensure shop container is also dark === */
.ast-container,
.ast-page-builder-template .entry-content,
.ast-separate-container,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.archive .site-content,
.archive .content-area,
.archive .ast-container,
.woocommerce-page .content-area,
.woocommerce-page .ast-container,
.woocommerce.archive .content-area,
.single-product .content-area,
.single-product .ast-container,
.woocommerce-cart .ast-container,
.woocommerce-checkout .ast-container,
.woocommerce-account .ast-container,
#primary,
#secondary {
  background-color: transparent !important;
  color: var(--puz-text);
}
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post {
  background-color: var(--puz-bg) !important;
}


/* === DARK THEME PATCH 2: aggressive override of white container backgrounds === */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .site-main,
.ast-separate-container .site-main > .ast-row,
.ast-separate-container .entry-content,
.ast-page-builder-template .entry-content,
.ast-plain-container .entry-content,
.ast-single-post .entry-content,
.archive.woocommerce-page .ast-article-post,
.archive.woocommerce-page .site-main,
.woocommerce-page #primary,
.woocommerce-page .site-main {
  background-color: var(--puz-bg) !important;
  box-shadow: none !important;
}
/* Catch-all: white-background div ancestors of shop loop */
.woocommerce-page .site-content > .ast-container,
.woocommerce-page > .site > .site-content,
.woocommerce.archive .site,
.woocommerce.archive .site-content {
  background-color: var(--puz-bg) !important;
}

/* "Showing 1-24 of 3573 results" — make text readable on dark */
.woocommerce .woocommerce-result-count {
  background: transparent !important;
  color: var(--puz-text) !important;
}
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
  color: var(--puz-text-muted) !important;
  background: transparent !important;
}


/* === DARK THEME PATCH 3: kill the .ast-woocommerce-container white background === */
.ast-woocommerce-container,
.woocommerce .ast-woocommerce-container,
body .ast-woocommerce-container {
  background-color: var(--puz-bg) !important;
  color: var(--puz-text) !important;
  box-shadow: none !important;
}
.ast-woocommerce-container .page-title,
.ast-woocommerce-container .woocommerce-products-header__title {
  color: var(--puz-text) !important;
}


/* === MOBILE FIXES & REFINEMENTS === */

/* 1. Shrink the title bar / header on mobile so hero title is visible */
@media (max-width: 921px) {
  .ast-primary-header-bar,
  .main-header-bar,
  header.site-header {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    min-height: 0 !important;
  }
  /* Logo size — shrink the giant P */
  .site-branding img,
  .custom-logo-link img,
  .ast-site-identity .site-branding img {
    max-height: 50px !important;
    width: auto !important;
    height: auto !important;
  }
  .site-title, .site-description {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
  /* Tighter header overall */
  .ast-builder-grid-row,
  .site-header .ast-builder-grid-row {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
}

/* 2. Soften the Elementor pink category buttons to light/pastel pink */
/* Targets the homepage button widgets with hot pink background */
.elementor-button-wrapper .elementor-button,
.elementor-widget-button .elementor-button {
  /* Only override pure pink ones — pastel light pink */
  transition: all 0.3s ease !important;
}
.elementor-element a.elementor-button[style*="rgb(251" i],
.elementor-element a.elementor-button[style*="#fb5fab" i],
.elementor-element a.elementor-button[style*="#FB5FAB" i],
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg {
  background-color: #FFD6E8 !important;   /* soft pastel pink */
  color: #8B2D5C !important;               /* deep rose text for contrast */
  border: 1px solid #FFB4D2 !important;
  box-shadow: 0 2px 8px rgba(251, 95, 171, 0.15) !important;
}
.elementor-element a.elementor-button:hover {
  background-color: #FFB4D2 !important;   /* slightly deeper pink on hover */
  color: #6B1F45 !important;
  transform: translateY(-1px);
}

/* 3. Fix shoe size variation buttons — white text on white was invisible */
.woocommerce .variations_form .variable-items-wrapper .variable-item,
.woocommerce .variations_form ul.variable-items-wrapper li,
.woocommerce-variation-add-to-cart .variable-item,
.product .variations td.value .variable-item,
ul.variable-items-wrapper li.variable-item,
.wcpa_form_outer .variable-item,
.wapf-field-input .button-group-item {
  background-color: #ffffff !important;
  color: #0a0a0a !important;             /* dark text on white tiles */
  border: 1px solid #d4d4d4 !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}
.woocommerce .variations_form ul.variable-items-wrapper li:hover,
ul.variable-items-wrapper li.variable-item:hover {
  background-color: #FFD6E8 !important;
  color: #0a0a0a !important;
  border-color: var(--puz-pink) !important;
}
.woocommerce .variations_form ul.variable-items-wrapper li.selected,
ul.variable-items-wrapper li.variable-item.selected {
  background-color: var(--puz-pink) !important;
  color: #fff !important;
  border-color: var(--puz-pink) !important;
}
/* Generic catch — any "size" looking button on product cards */
.woocommerce ul.products li.product .variations button,
.woocommerce ul.products li.product .button-group span,
.woocommerce ul.products li.product [class*="size"] button,
.woocommerce ul.products li.product [class*="size"] span {
  color: #0a0a0a !important;
  background-color: #ffffff !important;
}

/* 4. Slim down the price filter slider — elegant thin line + small pink dot */
.woocommerce .widget_price_filter .ui-slider,
.price_slider {
  height: 4px !important;             /* thin track */
  background: #2a2a2a !important;     /* dark track */
  border-radius: 2px !important;
  border: none !important;
  margin: 14px 8px !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.price_slider .ui-slider-range {
  background: var(--puz-pink) !important;
  height: 4px !important;
  border-radius: 2px !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.price_slider .ui-slider-handle {
  width: 14px !important;
  height: 14px !important;
  top: -5px !important;
  background: var(--puz-pink) !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 6px rgba(251, 95, 171, 0.4) !important;
  cursor: pointer !important;
}
.woocommerce .widget_price_filter .price_slider_amount {
  font-size: 12px !important;
  color: var(--puz-text-muted) !important;
  margin-top: 6px;
}
.woocommerce .widget_price_filter .price_slider_amount .button {
  padding: 6px 16px !important;
  font-size: 12px !important;
  border-radius: 6px !important;
}

/* Bonus: also slim the "0 / 36000" input fields if present */
.woocommerce .widget_price_filter input[type="text"],
.woocommerce .widget_price_filter input[type="number"] {
  padding: 4px 8px !important;
  font-size: 13px !important;
  border-radius: 6px !important;
}


/* === CFVSW Variation Swatches (Size pills) — DARK READABLE === */
.cfvsw-swatches-option,
.cfvsw-swatches-container .cfvsw-swatches-option,
.cfvsw-shop-container .cfvsw-swatches-option,
li.product .cfvsw-swatches-option {
  background-color: #ffffff !important;
  color: #0a0a0a !important;             /* dark text on white pill */
  border: 1px solid #d4d4d4 !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
}
.cfvsw-swatches-option .cfvsw-swatch-inner,
.cfvsw-swatches-option .cfvsw-label-inner,
.cfvsw-label-option .cfvsw-swatch-inner {
  color: #0a0a0a !important;
  background: transparent !important;
  font-weight: 700 !important;
}
/* Hover/selected states */
.cfvsw-swatches-option:hover {
  background-color: #FFD6E8 !important;
  border-color: var(--puz-pink) !important;
  cursor: pointer;
}
.cfvsw-swatches-option:hover .cfvsw-swatch-inner {
  color: #0a0a0a !important;
}
.cfvsw-swatches-option.cfvsw-selected-swatch,
.cfvsw-swatches-option.selected {
  background-color: var(--puz-pink) !important;
  border-color: var(--puz-pink) !important;
}
.cfvsw-swatches-option.cfvsw-selected-swatch .cfvsw-swatch-inner,
.cfvsw-swatches-option.selected .cfvsw-swatch-inner {
  color: #ffffff !important;
}
/* Disabled/out-of-stock sizes - faded */
.cfvsw-swatches-option.cfvsw-disabled-swatch,
.cfvsw-swatches-option.disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}


/* === MOBILE CATEGORY GRID — LIGHT PINK (was neon hot pink) === */
.pe-mobile-cats a,
nav.pe-mobile-cats a {
  background-color: #FFD6E8 !important;   /* soft pastel pink */
  color: #8B2D5C !important;               /* deep rose text for great contrast */
  border: 1px solid #FFB4D2 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
  box-shadow: 0 2px 8px rgba(251, 95, 171, 0.15) !important;
  transition: all 0.25s ease !important;
}
.pe-mobile-cats a:hover,
.pe-mobile-cats a:active {
  background-color: #FFB4D2 !important;
  color: #6B1F45 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(251, 95, 171, 0.3) !important;
}


/* === MOBILE HEADER COMPACT FIX === */
/* Logo was rendering at 140px tall, making header take huge vertical space on mobile */
@media (max-width: 921px) {
  .custom-logo,
  img.custom-logo,
  .site-branding .custom-logo,
  .ast-mobile-header-logo,
  img.ast-mobile-header-logo,
  .ast-builder-layout-element img.custom-logo {
    max-height: 45px !important;
    max-width: 45px !important;
    width: 45px !important;
    height: auto !important;
  }
  .site-logo-img,
  .site-branding,
  .ast-site-identity {
    padding: 4px 0 !important;
  }
  /* Tighten the entire mobile header */
  .ast-primary-header-bar .ast-primary-header,
  .ast-mobile-header-wrap,
  .main-header-bar-wrap .main-header-bar {
    min-height: 60px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}


/* ============================================
   MOBILE MENU TEXT VISIBILITY FIX
   Force all menu items (including subcategories)
   to be light/white on dark mobile menu
   ============================================ */
@media (max-width: 921px) {
  /* Off-canvas menu container */
  #ast-mobile-popup,
  #ast-mobile-popup .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer .main-header-menu,
  .ast-mobile-popup-drawer .ast-mobile-header-content {
    background: #0a0a0a !important;
  }

  /* All top-level and submenu links */
  #ast-mobile-popup .menu-item > a,
  #ast-mobile-popup .menu-item .menu-link,
  #ast-mobile-popup .sub-menu .menu-item > a,
  #ast-mobile-popup .sub-menu .menu-item .menu-link,
  .ast-mobile-popup-drawer .menu-item > a,
  .ast-mobile-popup-drawer .menu-item .menu-link,
  .ast-mobile-popup-drawer .sub-menu .menu-item > a,
  .ast-mobile-popup-drawer ul.main-header-menu li a,
  .ast-mobile-popup-drawer ul.main-header-menu li.menu-item a,
  .ast-mobile-popup-drawer .main-navigation a {
    color: #ffffff !important;
    opacity: 1 !important;
    font-weight: 500 !important;
  }

  /* HOME (current item) highlight: keep pink-tinted */
  #ast-mobile-popup .current-menu-item > a,
  #ast-mobile-popup .current_page_item > a,
  .ast-mobile-popup-drawer .current-menu-item > a {
    color: #0a0a0a !important;
    background: #FFD6E8 !important;
  }

  /* Separator lines between items */
  #ast-mobile-popup .menu-item,
  .ast-mobile-popup-drawer .menu-item {
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    background: transparent !important;
  }

  /* Submenu (expanded subcategories) */
  #ast-mobile-popup .sub-menu,
  .ast-mobile-popup-drawer .sub-menu {
    background: #141414 !important;
  }
  #ast-mobile-popup .sub-menu .menu-item,
  .ast-mobile-popup-drawer .sub-menu .menu-item {
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  }
  #ast-mobile-popup .sub-menu .menu-item a,
  .ast-mobile-popup-drawer .sub-menu .menu-item a {
    color: #e6e6e6 !important;
    padding-left: 28px !important;
    font-weight: 400 !important;
    font-size: 0.95em !important;
  }

  /* Hover/focus states */
  #ast-mobile-popup .menu-item > a:hover,
  #ast-mobile-popup .menu-item > a:focus,
  .ast-mobile-popup-drawer .menu-item > a:hover {
    color: #FB5FAB !important;
    background: rgba(251,95,171,0.08) !important;
  }

  /* + / - toggle keep pink visible */
  #ast-mobile-popup .ast-menu-toggle,
  .ast-mobile-popup-drawer .ast-menu-toggle {
    color: #FB5FAB !important;
  }

  /* Account icon area */
  #ast-mobile-popup .ast-mobile-header-content .ast-account-action,
  #ast-mobile-popup .ast-header-account-wrap a {
    color: #ffffff !important;
  }

  /* Footer items (ABOUT, CONTACT US) */
  #ast-mobile-popup .menu-item-type-post_type a,
  .ast-mobile-popup-drawer .menu-item-type-post_type a {
    color: #ffffff !important;
  }
}


/* ============================================
   TRANSPARENT HEADER OVER HERO
   Header becomes transparent at top of homepage,
   solid dark on scroll & on inner pages
   ============================================ */
.home .ast-primary-header-bar,
.home #masthead,
.home .site-header,
.home .ast-main-header-bar-alignment,
.home .main-header-bar,
.home .ast-above-header,
.home .ast-below-header {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.home #masthead {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99 !important;
}

/* Push hero up so it sits behind transparent header */
.home .elementor-section:first-of-type,
.home .elementor-edit-mode .elementor-section:first-of-type {
  margin-top: 0 !important;
}

/* Solid dark header on scroll (handled via class added by Astra/sticky) */
.home.ast-header-break-point .ast-primary-header-bar.ast-stick-it,
.home .ast-sticky-active .ast-primary-header-bar {
  background: rgba(10,10,10,0.92) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

/* Inner pages keep solid dark header */
body:not(.home) #masthead,
body:not(.home) .ast-primary-header-bar {
  background: #0a0a0a !important;
}

/* Mobile: header transparent on home top */
@media (max-width: 921px) {
  .home .ast-mobile-header-wrap,
  .home .main-header-bar,
  .home .ast-mobile-header-inline-logo {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-bottom: none !important;
  }
  .home #masthead {
    position: absolute !important;
    top: 0 !important;
    width: 100% !important;
    background: transparent !important;
  }
  /* Logo & icons stay visible (white tint on transparent) */
  .home .ast-mobile-header-wrap .site-logo-img img,
  .home .ast-mobile-header-wrap .custom-logo-link img {
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.8));
  }
  /* Cart + search + menu icons */
  .home .ast-mobile-header-wrap .ast-icon,
  .home .ast-mobile-header-wrap .ast-header-account-wrap a,
  .home .ast-mobile-header-wrap .header-cart-icon a,
  .home .ast-mobile-header-wrap .ast-mobile-menu-buttons a {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.7);
  }
}

/* ============================================
   SLIM BRAND STRIP CAROUSEL
   Reduce brand logo row to a thin elegant strip
   ============================================ */
.elementor-widget-image-carousel .swiper-slide img,
.elementor-image-carousel .swiper-slide img,
.brand-strip .swiper-slide img,
.pe-brand-strip img {
  max-height: 42px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.65 !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
}
.elementor-widget-image-carousel .swiper-slide img:hover,
.elementor-image-carousel .swiper-slide img:hover {
  opacity: 1 !important;
  transform: scale(1.06) !important;
}
.elementor-widget-image-carousel,
.elementor-image-carousel-wrapper {
  padding: 10px 0 !important;
}
.elementor-widget-image-carousel .swiper-slide,
.elementor-image-carousel .swiper-slide {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 60px !important;
}
/* Force carousel section to be slim */
section.brand-strip-section,
.elementor-section:has(.elementor-widget-image-carousel) {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  background: linear-gradient(180deg, rgba(251,95,171,0.04) 0%, transparent 100%) !important;
}

@media (max-width: 921px) {
  .elementor-widget-image-carousel .swiper-slide img,
  .elementor-image-carousel .swiper-slide img {
    max-height: 28px !important;
  }
  .elementor-widget-image-carousel .swiper-slide,
  .elementor-image-carousel .swiper-slide {
    min-height: 44px !important;
  }
}


/* ============================================
   FIX: All Elementor sections on home use dark bg
   (Featured Products / Pre-Order strip light pink fix)
   ============================================ */
.home .elementor-section,
.home .elementor-container,
.home .elementor-widget-wrap,
.home .e-con,
.home .e-con-inner,
.home main.site-main,
.home #content,
.home .ast-container,
.home .site-content {
  background-color: transparent !important;
}

.home .site,
.home #page,
.home body,
body.home {
  background: #0a0a0a !important;
}

/* Featured Products section dark */
.home .elementor-section:not(.elementor-section-boxed) > .elementor-container {
  background: transparent !important;
}

/* Pink section panel behind Featured Products heading */
.home section.elementor-section.elementor-top-section,
.home .elementor-element.elementor-section {
  background-color: transparent !important;
}

/* WooCommerce product titles + prices on home dark */
.home .woocommerce ul.products li.product .woocommerce-loop-product__title,
.home .woocommerce ul.products li.product h2 {
  color: #ffffff !important;
}
.home .woocommerce ul.products li.product .price,
.home .woocommerce ul.products li.product .price .amount {
  color: #FFD700 !important;
}

/* Section headings on home page */
.home h1, .home h2, .home h3, .home h4,
.home .elementor-heading-title {
  color: #ffffff !important;
}

/* "Featured Products" pink underline divider — keep but adjust */
.home .elementor-divider-separator {
  border-top-color: #FB5FAB !important;
  background-color: #FB5FAB !important;
}

/* Limited Time Offer / PRE-ORDER section override */
.home .elementor-widget-text-editor p,
.home .elementor-widget-text-editor,
.home .elementor-text-editor {
  color: #e6e6e6 !important;
}


/* ============================================
   MOBILE MENU - PURPLE TEXT ON DARK BG (FORCE)
   Highest specificity to beat theme white panels
   ============================================ */
@media (max-width: 921px) {

  /* Wipe out the white row panels — force the whole drawer dark */
  #ast-mobile-popup,
  #ast-mobile-popup *,
  .ast-mobile-popup-drawer,
  .ast-mobile-popup-drawer *,
  #ast-mobile-popup .ast-mobile-popup-inner,
  #ast-mobile-popup .ast-mobile-header-content,
  #ast-mobile-popup .main-header-menu,
  #ast-mobile-popup .main-navigation,
  #ast-mobile-popup ul,
  #ast-mobile-popup li,
  #ast-mobile-popup .menu-item,
  #ast-mobile-popup .sub-menu {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
  }

  /* Now color ALL link text PURPLE */
  #ast-mobile-popup a,
  #ast-mobile-popup .menu-link,
  #ast-mobile-popup .menu-item a,
  #ast-mobile-popup .menu-item > a,
  #ast-mobile-popup li a,
  #ast-mobile-popup .menu-item .menu-link span,
  #ast-mobile-popup ul li a,
  #ast-mobile-popup .main-header-menu a,
  #ast-mobile-popup .main-navigation a,
  #ast-mobile-popup .sub-menu a,
  #ast-mobile-popup .sub-menu .menu-item a,
  .ast-mobile-popup-drawer a,
  .ast-mobile-popup-drawer .menu-link,
  .ast-mobile-popup-drawer .menu-item a {
    color: #B57BFF !important;
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
    opacity: 1 !important;
    font-weight: 600 !important;
    text-shadow: none !important;
  }

  /* HOME (current page) - keep soft pink pill for emphasis */
  #ast-mobile-popup .current-menu-item > a,
  #ast-mobile-popup .current_page_item > a,
  #ast-mobile-popup li.current-menu-item a {
    color: #0a0a0a !important;
    background: #FFD6E8 !important;
    background-color: #FFD6E8 !important;
    font-weight: 700 !important;
  }

  /* Separator lines */
  #ast-mobile-popup .menu-item {
    border-bottom: 1px solid rgba(181,123,255,0.18) !important;
  }

  /* Sub-menu (when + is tapped) — slightly lighter purple, indented */
  #ast-mobile-popup .sub-menu {
    background: #141022 !important;
    background-color: #141022 !important;
  }
  #ast-mobile-popup .sub-menu a,
  #ast-mobile-popup .sub-menu .menu-item a {
    color: #D6B6FF !important;
    background: #141022 !important;
    background-color: #141022 !important;
    padding-left: 28px !important;
    font-weight: 500 !important;
    font-size: 0.92em !important;
  }

  /* + / - toggles stay pink (good contrast) */
  #ast-mobile-popup .ast-menu-toggle,
  #ast-mobile-popup button.ast-menu-toggle,
  .ast-mobile-popup-drawer .ast-menu-toggle {
    color: #FB5FAB !important;
    background: transparent !important;
    background-color: transparent !important;
  }

  /* Account icon area */
  #ast-mobile-popup .ast-header-account-wrap a,
  #ast-mobile-popup .ast-account-action,
  #ast-mobile-popup .ast-account-action a,
  #ast-mobile-popup svg {
    color: #B57BFF !important;
    fill: #B57BFF !important;
  }

  /* Close X */
  #ast-mobile-popup .menu-toggle-close {
    color: #B57BFF !important;
    background: transparent !important;
  }
}

/* ============================================
   SLIM TRANSPARENT ANNOUNCEMENT BAR (NO JS)
   Uses 3 stacked layers, each fades in/out
   on its own delayed cycle. 15s total loop.
   ============================================ */

body {
  padding-top: 36px !important;
}

/* Container layer (the dark blur strip) */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 36px;
  background: rgba(10, 10, 10, 0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(251, 95, 171, 0.25);
  z-index: 9998;
  pointer-events: none;
}

/* Single text layer cycling text via opacity animation - we use 3 separate runs */
/* Each message lives in body::after but we use a wrapper trick:
   Use 3 invisible spans with absolute positioning via the html element's pseudos */

html::before {
  content: '🐏  EID DISCOUNT CODE  •  FREE SHIPPING OVER 6,000 EGP';
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ffffff;
  z-index: 9999;
  pointer-events: none;
  text-align: center;
  padding: 0 16px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  animation: pe-msg-1 15s infinite ease-in-out;
}

html::after {
  content: '↻  30 DAYS EXCHANGE & REFUND  •  HASSLE-FREE RETURNS';
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ffffff;
  z-index: 9999;
  pointer-events: none;
  text-align: center;
  padding: 0 16px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  animation: pe-msg-2 15s infinite ease-in-out;
  opacity: 0;
}

/* Third message via body::after */
body::after {
  content: '⌚  5 YEARS WARRANTY ON ALL WATCHES  •  PREMIUM GUARANTEE';
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ffffff;
  z-index: 9999;
  pointer-events: none;
  text-align: center;
  padding: 0 16px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  animation: pe-msg-3 15s infinite ease-in-out;
  opacity: 0;
}

@keyframes pe-msg-1 {
  0%, 28% { opacity: 1; }
  32%, 95% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes pe-msg-2 {
  0%, 32% { opacity: 0; }
  35%, 60% { opacity: 1; }
  65%, 100% { opacity: 0; }
}
@keyframes pe-msg-3 {
  0%, 65% { opacity: 0; }
  68%, 95% { opacity: 1; }
  100% { opacity: 0; }
}

/* Push transparent home header below announcement bar */
.home #masthead {
  top: 36px !important;
}

/* Admin bar adjustments */
.admin-bar html::before,
.admin-bar html::after,
.admin-bar body::after {
  top: 32px;
}
.admin-bar body {
  padding-top: 68px !important;
}

/* Mobile - slimmer */
@media (max-width: 921px) {
  body {
    padding-top: 30px !important;
  }
  body::before {
    height: 30px;
  }
  html::before,
  html::after,
  body::after {
    height: 30px;
    font-size: 10.5px;
    letter-spacing: 0.5px;
    padding: 0 8px;
  }
  .home #masthead {
    top: 30px !important;
  }
  .admin-bar body {
    padding-top: 76px !important;
  }
  .admin-bar html::before,
  .admin-bar html::after,
  .admin-bar body::after {
    top: 46px;
  }
}


/* === ANNOUNCEMENT BAR Z-INDEX OVERRIDE === */
/* Push above WP admin bar (which is z-index 99999) when on front-end */
html::before, html::after, body::after {
  z-index: 100000 !important;
}
body::before {
  z-index: 99999 !important;
}

/* For admin-bar layouts, shift bar down BELOW the admin bar so both visible */
.admin-bar body::before {
  top: 32px !important;
}
.admin-bar html::before,
.admin-bar html::after,
.admin-bar body::after {
  top: 32px !important;
}
.admin-bar {
  padding-top: 0 !important;
}
.admin-bar body {
  padding-top: 36px !important;
}

@media (max-width: 782px) {
  .admin-bar body::before { top: 46px !important; }
  .admin-bar html::before,
  .admin-bar html::after,
  .admin-bar body::after { top: 46px !important; }
  .admin-bar body { padding-top: 30px !important; }
}


/* === FIX: admin-bar selectors corrected === */
body.admin-bar::before {
  top: 32px !important;
}
body.admin-bar::after {
  top: 32px !important;
}
html:has(body.admin-bar)::before,
html:has(body.admin-bar)::after {
  top: 32px !important;
}
@media (max-width: 782px) {
  body.admin-bar::before, body.admin-bar::after,
  html:has(body.admin-bar)::before, html:has(body.admin-bar)::after {
    top: 46px !important;
  }
}
