/* ═══════════════════════════════════════════════════════════════════════════
   Animal Express – Main CSS
   Matches: animalexpress.e-shop6.co.il
   Color scheme: Primary pink accent, professional green, clean neutrals
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── Custom Properties ─────────────────────────────────────────────────── */
:root {
  --ae-pink:          #e8197d;
  --ae-pink-dark:     #c2156a;
  --ae-pink-light:    #ff5ba7;
  --ae-green:         #8bc73c;
  --ae-green-dark:    #1f6b42;
  --ae-orange:        #f7941d;
  --ae-red:           #e02020;
  --ae-dark:          #111827;
  --ae-text:          #374151;
  --ae-text-muted:    #6b7280;
  --ae-bg:            #f9fafb;
  --ae-white:         #ffffff;
  --ae-border:        #e5e7eb;
  --ae-nav-bg:        #ffffff;
  --ae-footer-bg:     #1f2937;
  --ae-radius:        8px;
  --ae-radius-sm:     5px;
  --ae-shadow:        0 4px 16px rgba(0,0,0,0.10);
  --ae-shadow-sm:     0 1px 8px rgba(0,0,0,0.07);
  --ae-shadow-hover:  0 12px 40px rgba(232,25,125,0.16);
  --ae-shadow-card:   0 2px 12px rgba(0,0,0,0.07);
  --ae-transition:    0.22s ease;
  --ae-font:          'Assistant', 'Heebo', Arial, sans-serif;
  --container:        1280px;
}

/* ─── Reset ─────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; direction: rtl; }
body {
  font-family: var(--ae-font);
  color: var(--ae-text);
  background: var(--ae-bg);
  direction: rtl;
  text-align: right;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a    { color: inherit; text-decoration: none; transition: color var(--ae-transition); }
img  { max-width: 100%; height: auto; display: block; }
ul   { list-style: none; }
button { cursor: pointer; font-family: var(--ae-font); border: none; background: none; }

/* ─── Heading Hierarchy ──────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--ae-font);
  font-weight: 800;
  line-height: 1.2;
  color: var(--ae-dark);
  letter-spacing: -0.015em;
}
h1 { font-size: 2.5rem; }
h2 { font-size: 1.875rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.2rem; }
h5 { font-size: 1rem; }
h6 { font-size: 0.875rem; letter-spacing: 0; }

/* ─── Container ─────────────────────────────────────────────────────────── */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 16px;
  width: 100%;
}

/* ═══════════════════════════════════════════════════════════════════════════
   UTILITY BAR (dark top strip — row 1)
═══════════════════════════════════════════════════════════════════════════ */
.ae-utility-bar {
  background: #222222;
  color: rgba(255,255,255,0.82);
  font-size: 0.8rem;
  height: 38px;
}
.ae-utility-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 16px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Phone (right) */
.ae-util-phone {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,0.82);
  font-weight: 600;
  white-space: nowrap;
  transition: color var(--ae-transition);
}
.ae-util-phone:hover { color: var(--ae-pink); }
.ae-util-phone svg { flex-shrink: 0; }

/* Login / Register (center) */
.ae-util-account {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ae-util-account a {
  display: flex;
  align-items: center;
  gap: 4px;
  color: rgba(255,255,255,0.82);
  transition: color var(--ae-transition);
}
.ae-util-account a:hover { color: var(--ae-pink); }
.ae-util-sep { color: rgba(255,255,255,0.3); }

/* Cart (left) */
.ae-util-cart {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ae-pink);
  font-weight: 600;
  transition: opacity var(--ae-transition);
  position: relative;
}
.ae-util-cart:hover { opacity: 0.85; color: var(--ae-pink); }
.ae-util-cart-icon {
  position: relative;
  display: flex;
  align-items: center;
}
.ae-util-cart-icon svg { color: var(--ae-pink); }
.ae-cart-badge {
  position: absolute;
  top: -8px;
  left: -8px;
  background: var(--ae-pink);
  color: #fff;
  font-size: 0.6rem;
  font-weight: 800;
  min-width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.ae-util-cart-label { font-size: large; color: var(--ae-text); }

/* ═══════════════════════════════════════════════════════════════════════════
   MAIN HEADER (white row 2 — logo + search)
═══════════════════════════════════════════════════════════════════════════ */
.ae-header {
  background: var(--ae-white);
  border-bottom: 1px solid var(--ae-border);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 1px 8px rgba(0,0,0,0.08);
}
.ae-header-inner {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  /* RTL: logo on right, search fills middle, hamburger on left */
  flex-direction: row;
  padding: 12px 16px;
}

/* Logo */
.ae-logo-link { display: flex; align-items: center; flex-shrink: 0;  }
.ae-logo-img  { max-height: 98px; max-width: 500px; width: auto; display: block; }
.ae-logo-link .custom-logo { max-height: 64px !important; max-width: 500px; width: auto !important; height: auto !important; }

/* Search — fills available space */
.ae-header-search { flex: 1; }
.ae-search-form {
  display: flex;
  align-items: center;
  border: 2px solid var(--ae-border);
  border-radius: var(--ae-radius);
  overflow: hidden;
  background: #f9fafb;
  transition: border-color var(--ae-transition), box-shadow var(--ae-transition);
}
.ae-search-form:focus-within {
  border-color: var(--ae-pink);
  box-shadow: 0 0 0 3px rgba(232,25,125,0.1);
}
.ae-search-input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 10px 16px;
  font-size: 0.9rem;
  outline: none;
  direction: rtl;
  min-width: 0;
  color: var(--ae-dark);
}
.ae-search-input::placeholder { color: var(--ae-text-muted); }
.ae-search-btn {
  background: var(--ae-pink);
  color: #fff;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background var(--ae-transition);
  border-radius: 0 var(--ae-radius) var(--ae-radius) 0;
}
.ae-search-btn:hover { background: var(--ae-pink-dark); }

/* Hamburger (mobile only) */
.ae-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  flex-shrink: 0;
}
.ae-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--ae-dark);
  border-radius: 2px;
  transition: all var(--ae-transition);
}
.ae-hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.ae-hamburger.active span:nth-child(2) { opacity: 0; }
.ae-hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

.ae-header-left {
  display: flex;
  align-items: center;
  gap: 4px;
}
.ae-mobile-phone-icon {
  display: none;
  align-items: center;
  justify-content: center;
  color: var(--ae-green);
  font-size: 1.15rem;
  padding: 6px 8px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   HEADER TOOLS  (phone · account · cart — inside main white header)
═══════════════════════════════════════════════════════════════════════════ */
.ae-header-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  font-size: 0.8rem;
}
.ae-tool-phone {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ae-dark);
  font-weight: 700;
  font-size: 0.95rem;
  white-space: nowrap;
  transition: color var(--ae-transition);
}
.ae-tool-phone:hover { color: var(--ae-pink); }
.ae-tool-phone i { font-size: 1rem; color: var(--ae-green); }
.ae-tool-sep { color: #ddd; padding: 0 6px; line-height: 1; font-size: 1rem; }
.ae-tool-account {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ae-tool-account a {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ae-text);
  font-weight: 500;
  font-size: 0.9rem;
  white-space: nowrap;
  transition: color var(--ae-transition);
}
.ae-tool-account a i { font-size: 1rem; color: var(--ae-green); }
.ae-tool-account a:hover,
.ae-tool-account a:hover i { color: var(--ae-green); }
.ae-tool-cart {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ae-dark);
  font-weight: 600;
  font-size: 0.9rem;
  white-space: nowrap;
  transition: color var(--ae-transition);
  position: relative;
}
.ae-tool-cart:hover,
.ae-tool-cart:hover .ae-util-cart-label { color: var(--ae-pink); }
.ae-tool-cart-icon {
  position: relative;
  display: flex;
  align-items: center;
}
.ae-tool-cart-icon i { font-size: 1.2rem; color: var(--ae-green); }
.ae-util-cart-label { font-size: 0.9rem; color: var(--ae-text); transition: color var(--ae-transition); }

/* FA icons in mobile menu */
.ae-mobile-util-link i { font-size: 1rem; color: var(--ae-green); width: 18px; text-align: center; }

/* FA icon in search button */
.ae-search-btn i { font-size: 1rem; }

/* ═══════════════════════════════════════════════════════════════════════════
   NAVIGATION 2
═══════════════════════════════════════════════════════════════════════════ */
.ae-nav {
  background: var(--ae-white);
  border-top: 1px solid var(--ae-border);
  position: relative;
  z-index: 900;
}
.ae-nav-list {
  display: flex;
  align-items: center;
  flex-direction: row;
}
.ae-nav-list > li > a {
  display: block;
  padding: 12px 14px;
  color: var(--ae-dark);
  font-size: calc(1.2rem + 2px);
  font-weight: 900;
  white-space: nowrap;
  transition: color var(--ae-transition);
  position: relative;
}
/* Animated underline on hover */
.ae-nav-list > li > a::after {
  content: '';
  position: absolute;
  bottom: 6px;
  right: 14px;
  left: 14px;
  height: 2px;
  background: var(--ae-pink);
  transform: scaleX(0);
  transition: transform 0.22s ease;
  border-radius: 2px;
}
.ae-nav-list > li > a:hover::after,
.ae-nav-list > li.current-menu-item > a::after { transform: scaleX(1); }
.ae-nav-list > li > a:hover,
.ae-nav-list > li.current-menu-item > a { color: var(--ae-pink); }

/* Highlighted nav items */
.ae-nav-list > li.menu-item-sale > a {
  background: var(--ae-pink);
  color: #fff;
  border-radius: var(--ae-radius-sm);
  margin: 5px 4px;
  padding: 6px 16px;
}
.ae-nav-list > li.menu-item-sale > a::after { display: none; }
.ae-nav-list > li.menu-item-sale > a:hover { background: var(--ae-pink-dark); color: #fff; }

/* Dropdown */
.ae-nav-list .sub-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background: #fff;
  min-width: 210px;
  box-shadow: var(--ae-shadow);
  border-top: 2px solid var(--ae-pink);
  border-radius: 0 0 var(--ae-radius) var(--ae-radius);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: all var(--ae-transition);
  z-index: 200;
}
.ae-nav-list li { position: relative; }
.ae-nav-list li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.ae-nav-list .sub-menu li a {
  display: block;
  padding: 10px 18px;
  font-size: 0.87rem;
  color: var(--ae-text);
  border-bottom: 1px solid #f0f0f0;
  transition: all var(--ae-transition);
}
.ae-nav-list .sub-menu li:last-child a { border-bottom: none; }
.ae-nav-list .sub-menu li a:hover { color: var(--ae-pink); padding-right: 24px; background: #fafafa; }

/* Sub-text strip under nav */
.ae-nav-subtext {
  text-align: center;
  padding: 5px 0 6px;
  font-size: 0.8rem;
  color: var(--ae-text-muted);
  border-bottom: 1px solid var(--ae-border);
}
.ae-nav-subtext .ae-subtext-badge {
  background: var(--ae-pink);
  color: #fff;
  padding: 1px 8px;
  border-radius: 10px;
  font-size: 0.72rem;
  font-weight: 700;
  margin-right: 4px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   MEGA MENU  (desktop dropdown per animal category)
═══════════════════════════════════════════════════════════════════════════ */

.ae-nav-list .ae-has-mega { position: static; }

/* Dropdown panel */
.ae-mega-menu {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  background: var(--ae-white);
  border-top: 3px solid var(--ae-pink);
  border-bottom: 3px solid var(--ae-green);
  box-shadow: 0 12px 40px rgba(0,0,0,0.14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
  z-index: 999;
}
.ae-has-mega:hover > .ae-mega-menu,
.ae-has-mega:focus-within > .ae-mega-menu,
.ae-has-mega.ae-mega-open > .ae-mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Inner layout: products right + categories left (RTL) */
.ae-mega-inner {
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 24px 20px 28px;
}

/* ── Products panel ─────────────────────────────────────────────────────── */
.ae-mega-products {
  display: flex;
  gap: 14px;
  flex-shrink: 0;
  width: 34%;
  max-width: 360px;
  padding-left: 28px;
  border-left: 1px solid #eee;
}
.ae-mega-product--hidden { display: none !important; }
.ae-mega-product {
  flex: 1;
  position: relative;
  min-width: 0;
}
.ae-mega-product-img-link {
  display: block;
  border: 1px solid #eee;
  border-radius: var(--ae-radius);
  overflow: hidden;
  background: #fafafa;
  transition: border-color var(--ae-transition), box-shadow var(--ae-transition);
}
.ae-mega-product-img-link:hover {
  border-color: var(--ae-pink);
  box-shadow: 0 4px 12px rgba(232,25,125,0.12);
}
.ae-mega-product-img-link img {
  width: 100%;
  height: 130px;
  object-fit: contain;
  padding: 10px;
  transition: transform 0.3s ease;
}
.ae-mega-product-img-link:hover img { transform: scale(1.06); }
.ae-mega-product-name {
  font-size: 0.78rem;
  color: var(--ae-text);
  margin-top: 8px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ae-mega-product-name a:hover { color: var(--ae-pink); }
.ae-mega-product-price {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 5px;
  flex-wrap: wrap;
}
.ae-mega-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  background: var(--ae-pink);
  color: #fff;
  font-size: 0.64rem;
  font-weight: 800;
  text-align: center;
  line-height: 1.15;
  padding: 3px 6px;
  border-radius: var(--ae-radius-sm);
}
.ae-mega-badge span { font-size: 0.58rem; font-weight: 600; display: block; }

/* ── Categories panel ───────────────────────────────────────────────────── */
.ae-mega-cats {
  flex: 1;
  padding-right: 28px;
  min-width: 0;
}
.ae-mega-cat-heading {
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--ae-dark);
  border-bottom: 2px solid var(--ae-green);
  padding-bottom: 8px;
  margin-bottom: 14px;
  transition: color var(--ae-transition);
}
.ae-mega-cat-heading:hover { color: var(--ae-pink); }
.ae-mega-cat-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px 14px;
}
.ae-mega-cat-list li a {
  font-size: 0.85rem;
  color: var(--ae-text);
  padding: 5px 0 5px 2px;
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color var(--ae-transition), padding-right var(--ae-transition);
  border-bottom: 1px solid transparent;
}
.ae-mega-cat-list li a::before {
  content: '›';
  color: var(--ae-green);
  font-weight: 700;
  font-size: 1em;
  flex-shrink: 0;
  transition: color var(--ae-transition);
}
.ae-mega-cat-list li a:hover { color: var(--ae-pink); padding-right: 4px; }
.ae-mega-cat-list li a:hover::before { color: var(--ae-pink); }
.ae-mega-view-all a {
  color: var(--ae-pink) !important;
  font-weight: 700;
  font-size: 0.85rem;
}
.ae-mega-view-all a::before { content: '«' !important; color: var(--ae-pink) !important; }

/* ── Special nav items ────────────────────────────────────────────────── */
.ae-nav-hot-sale > a {
  color: #000 !important;
  font-weight: 800 !important;
  position: relative;
}
.ae-nav-hot-sale > a:hover { color: var(--ae-pink) !important; }

.ae-nav-grooming > a { font-style: italic; color: var(--ae-green) !important; }
.ae-nav-grooming > a:hover { color: var(--ae-pink) !important; }

.ae-nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ae-nav-whatsapp-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  background: var(--ae-pink);
  color: #fff !important;
  border-radius: 20px;
  font-size: 0.87rem;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none !important;
  flex-shrink: 0;
  transition: background var(--ae-transition), transform var(--ae-transition);
}
.ae-nav-whatsapp-btn:hover {
  background: var(--ae-pink-dark);
  transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE MENU
═══════════════════════════════════════════════════════════════════════════ */
.ae-mobile-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 1100;
  opacity: 0; visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.ae-mobile-overlay.active { opacity: 1; visibility: visible; }
.ae-mobile-menu {
  position: fixed;
  top: 0; right: -300px;
  width: 288px; height: 100vh;
  background: #fff;
  z-index: 1200;
  overflow: hidden;
  transition: right 0.3s ease;
  padding: 16px 20px;
  display: flex; flex-direction: column; gap: 0;
  box-shadow: -4px 0 24px rgba(0,0,0,0.15);
}
.ae-mobile-menu.active { right: 0; }
.ae-mobile-close {
  align-self: flex-start;
  font-size: 1.4rem;
  padding: 0px 10px;
  color: #777;
  border-radius: var(--ae-radius-sm);
  transition: color var(--ae-transition), background var(--ae-transition);
}
.ae-mobile-close:hover { color: var(--ae-pink); background: #fdf2f7; }
.ae-mobile-logo-link { display: block; padding: 4px 0 10px; border-bottom: 1px solid var(--ae-border); }
.ae-mobile-nav-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; flex: 1; min-height: 0; overflow-y: auto; }
.ae-mobile-nav-list li { list-style: none; }
.ae-mobile-nav-list li a {
  display: flex; align-items: center;
  padding: 13px 2px;
  border-bottom: 1px solid var(--ae-border);
  font-weight: 600; font-size: 0.95rem;
  color: var(--ae-text);
  transition: color var(--ae-transition);
}
.ae-mobile-nav-list li a:hover { color: var(--ae-pink); }
.ae-mobile-actions { margin-top: auto; }
/* Utility links at the bottom of the mobile drawer */
.ae-mobile-util {
  border-top: 1px solid var(--ae-border);
  padding-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ae-mobile-util-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 2px;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ae-text);
  border-bottom: 1px solid var(--ae-border);
  transition: color var(--ae-transition);
}
.ae-mobile-util-link:last-child { border-bottom: none; }
.ae-mobile-util-link:hover { color: var(--ae-pink); }
.ae-mobile-whatsapp-link { color: var(--ae-pink) !important; font-weight: 700; }

/* ═══════════════════════════════════════════════════════════════════════════
   ACCESSIBILITY WIDGET
═══════════════════════════════════════════════════════════════════════════ */

/* Floating trigger button */
.ae-a11y-btn {
    position: fixed;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 99998;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: 52px;
    padding: 10px 6px;
    background: var(--ae-pink);
    color: #fff;
    border: none;
    border-radius: 0 10px 10px 0;
    cursor: pointer;
    box-shadow: 3px 2px 14px rgba(0,0,0,0.22);
    transition: width .2s, background .15s;
    font-family: inherit;
}
.ae-a11y-btn:hover,
.ae-a11y-btn[aria-expanded="true"] { background: #c91070; width: 58px; }
.ae-a11y-btn-label { font-size: 0.65rem; font-weight: 700; line-height: 1; letter-spacing: 0.02em; }
@media (max-width: 768px) {
    .ae-a11y-btn-label { display: none; }
    .ae-a11y-btn { width: 40px; padding: 10px 4px; }
    .ae-a11y-btn:hover, .ae-a11y-btn[aria-expanded="true"] { width: 44px; }
}

/* hide button while panel is open */
.ae-a11y-btn--hidden { opacity: 0 !important; pointer-events: none !important; }

/* Panel */
.ae-a11y-panel {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 310px;
    max-width: 92vw;
    z-index: 99999;
    background: #fff;
    z-index: 99997;
    display: flex;
    flex-direction: column;
    box-shadow: 4px 0 28px rgba(0,0,0,0.18);
    transform: translateX(-100%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
    overflow: hidden;
}
.ae-a11y-panel.ae-a11y-panel--open { transform: translateX(0); }

/* Panel header */
.ae-a11y-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: #111;
    color: #fff;
    flex-shrink: 0;
    direction: rtl;
}
.ae-a11y-title { font-size: 1rem; font-weight: 700; }
.ae-a11y-close-btn {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    opacity: 0.75;
    transition: opacity .15s;
    border-radius: 50%;
}
.ae-a11y-close-btn:hover { opacity: 1; }

/* Panel body */
.ae-a11y-body {
    flex: 1;
    overflow-y: auto;
    padding: 14px 12px;
    direction: rtl;
}

/* Toggle grid */
.ae-a11y-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin-bottom: 18px;
}
.ae-a11y-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 10px 4px 8px;
    border: 1.5px solid #ddd;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    font-size: 0.68rem;
    color: #333;
    font-family: inherit;
    text-align: center;
    line-height: 1.3;
    transition: border-color .15s, background .15s, color .15s;
    min-height: 76px;
    justify-content: center;
}
.ae-a11y-toggle:hover { border-color: #bbb; background: #f7f7f7; }
.ae-a11y-toggle[aria-pressed="true"] { border-color: #4caf50; background: #f1faf1; color: #2d7a32; }
.ae-a11y-icon { display: flex; align-items: center; justify-content: center; }

/* Sliders */
.ae-a11y-slider-group { margin-bottom: 16px; }
.ae-a11y-slider-title { font-size: 0.78rem; font-weight: 700; text-align: center; margin-bottom: 8px; text-decoration: underline; }
.ae-a11y-slider-row { display: flex; align-items: center; gap: 6px; direction: ltr; }
.ae-a11y-step {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1.5px solid #ccc;
    background: #fff;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-family: inherit;
    transition: border-color .15s, color .15s;
}
.ae-a11y-step:hover { border-color: #4caf50; color: #2d7a32; }
.ae-a11y-range { flex: 1; accent-color: #4caf50; cursor: pointer; height: 5px; }
.ae-a11y-range-val {
    min-width: 38px;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 700;
    border: 1.5px solid #ccc;
    border-radius: 20px;
    padding: 2px 5px;
}
.ae-a11y-slider-labels {
    display: flex;
    justify-content: space-between;
    font-size: 0.62rem;
    color: #999;
    margin-top: 5px;
    direction: rtl;
}

/* Reset button */
.ae-a11y-reset {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 16px;
    border: 1.5px solid #ddd;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font-size: 0.82rem;
    font-family: inherit;
    color: #555;
    justify-content: center;
    margin-bottom: 14px;
    transition: border-color .15s, color .15s;
}
.ae-a11y-reset:hover { border-color: #999; color: #111; }

.ae-a11y-footer { text-align: center; font-size: 0.72rem; padding-bottom: 4px; }
.ae-a11y-footer a { color: #aaa; text-decoration: underline; }

/* Reading guide */
.ae-a11y-guide {
    position: fixed;
    left: 0;
    right: 0;
    height: 32px;
    background: rgba(255,255,100,0.35);
    border-top: 2px solid rgba(200,200,0,0.5);
    border-bottom: 2px solid rgba(200,200,0,0.5);
    pointer-events: none;
    z-index: 99990;
    display: none;
    transform: translateY(-50%);
}
.ae-a11y-guide.ae-a11y-guide--active { display: block; }

/* ── Body-level accessibility classes ─────────────────────────────────────── */
body.ae-a11y-grayscale        { filter: grayscale(1); }
body.ae-a11y-invert           { filter: invert(1) hue-rotate(180deg); }
body.ae-a11y-high-contrast    { filter: contrast(1.8) brightness(1.1); }

body.ae-a11y-highlight-links a { background: #ff0 !important; color: #000 !important; text-decoration: underline !important; outline: 2px solid #000 !important; border-radius: 2px; }

body.ae-a11y-hide-images img,
body.ae-a11y-hide-images svg:not(.ae-a11y-icon svg) { visibility: hidden !important; }

body.ae-a11y-readable-font,
body.ae-a11y-readable-font * { font-family: Arial, Helvetica, sans-serif !important; }

body.ae-a11y-highlight-headings h1,
body.ae-a11y-highlight-headings h2,
body.ae-a11y-highlight-headings h3,
body.ae-a11y-highlight-headings h4,
body.ae-a11y-highlight-headings h5,
body.ae-a11y-highlight-headings h6 { outline: 3px solid #4caf50 !important; background: #fffff0 !important; padding: 2px 4px !important; }

body.ae-a11y-no-anim *,
body.ae-a11y-no-anim *::before,
body.ae-a11y-no-anim *::after { animation: none !important; transition-duration: .001s !important; }

body.ae-a11y-cursor-light * { cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='48' viewBox='0 0 40 48'><path d='M6 2 L6 42 L15 33 L21 46 L26 44 L20 31 L32 31 Z' fill='white' stroke='black' stroke-width='2' stroke-linejoin='round'/></svg>") 6 2, auto !important; }
body.ae-a11y-cursor-dark  * { cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='48' viewBox='0 0 40 48'><path d='M6 2 L6 42 L15 33 L21 46 L26 44 L20 31 L32 31 Z' fill='%23111' stroke='white' stroke-width='1.5' stroke-linejoin='round'/></svg>") 6 2, auto !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   POPUPS
═══════════════════════════════════════════════════════════════════════════ */
.ae-popup { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px; }
.ae-popup[hidden] { display: none !important; }

.ae-popup-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.55); cursor: pointer; }

.ae-popup-inner {
    position: relative;
    background: #fff;
    border-radius: 12px;
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    animation: ae-popup-in .25s ease;
}
@keyframes ae-popup-in {
    from { opacity: 0; transform: scale(.93) translateY(16px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}

.ae-popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(0,0,0,0.45);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    padding: 0;
    transition: background .15s;
}
.ae-popup-close:hover { background: rgba(0,0,0,0.7); }

.ae-popup-body { flex: 1; overflow-y: auto; }
.ae-popup-img  { display: block; width: 100%; height: auto; }
.ae-popup-img--copyable { cursor: copy; transition: filter .2s; }
.ae-popup-img--copyable:hover { filter: brightness(1.04); }
.ae-popup-img--copyable:focus-visible { outline: 3px solid var(--ae-pink); outline-offset: 2px; }
.ae-popup-placeholder { min-height: 300px; background: #fff; }

/* Copy-confirmation toast pinned to the bottom of the popup body. */
.ae-popup-body { position: relative; }
.ae-popup-toast {
    position: absolute;
    inset-inline: 12px;
    bottom: 12px;
    padding: 10px 14px;
    background: rgba(46, 125, 50, 0.96);
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    text-align: center;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.25);
    direction: rtl;
    pointer-events: none;
    animation: aePopupToastIn .18s ease-out;
}
.ae-popup-toast[hidden] { display: none; }
.ae-popup-toast--error { background: rgba(180, 35, 35, 0.96); }
@keyframes aePopupToastIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ae-popup-footer {
    padding: 10px 16px;
    border-top: 1px solid var(--ae-border);
    background: #fafafa;
    display: flex;
    justify-content: center;
}
.ae-popup-no-show {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--ae-text-muted);
    text-decoration: underline;
    font-family: inherit;
    padding: 4px 8px;
    transition: color .15s;
}
.ae-popup-no-show:hover { color: var(--ae-dark); }

/* ═══════════════════════════════════════════════════════════════════════════
   HERO SLIDER (MetaSlider)
═══════════════════════════════════════════════════════════════════════════ */
.ae-hero-slider-section { width: 100%; line-height: 0; }
.ae-hero-slider-section .metaslider { width: 100% !important; max-width: 100% !important; }
.ae-hero-slider-section .metaslider .flexslider,
.ae-hero-slider-section .metaslider .nivoSlider,
.ae-hero-slider-section .metaslider .coin-slider { width: 100% !important; max-width: 100% !important; border: none !important; margin: 0 !important; border-radius: 0 !important; }
.ae-hero-slider-section img { width: 100%; height: auto; display: block; }

/* ═══════════════════════════════════════════════════════════════════════════
   CATEGORY BANNER GRID  (6 green boxes)
═══════════════════════════════════════════════════════════════════════════ */
.ae-cat-grid { background: var(--ae-white); padding: 10px 0; }
.ae-cat-grid-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 4px;
}
.ae-cat-banner {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--ae-radius-sm);
}
.ae-cat-banner img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}
.ae-cat-banner:hover img { transform: scale(1.04); }
.ae-cat-banner-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 12px 14px;
  pointer-events: none;
}
.ae-cat-banner-label {
  display: none; /* labels are part of the image */
}
.ae-cat-banner-btn {
  display: inline-block;
  background: var(--ae-pink);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 20px;
  opacity: 0;
  transform: translateY(6px);
  transition: all var(--ae-transition);
}
.ae-cat-banner:hover .ae-cat-banner-btn {
  opacity: 1;
  transform: translateY(0);
}

/* ═══════════════════════════════════════════════════════════════════════════
   BRANDS SLIDER
═══════════════════════════════════════════════════════════════════════════ */
.ae-brands-slider {
  background: var(--ae-white);
  padding: 18px 0;
  border-top: 1px solid var(--ae-border);
  border-bottom: 1px solid var(--ae-border);
  overflow: hidden;
}
.ae-swiper-brands { width: 100%; margin: 0 auto; }
.ae-brand-slide {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 24px;
  width: auto !important;
  filter: grayscale(40%);
  transition: filter var(--ae-transition);
}
.ae-brand-slide:hover { filter: grayscale(0); }
.ae-brand-slide img { max-height: 64px; width: auto; object-fit: contain; }

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT SECTIONS
═══════════════════════════════════════════════════════════════════════════ */
.ae-products-section { padding: 32px 0; background: var(--ae-bg); }
.ae-products-section + .ae-products-section { border-top: 1px solid var(--ae-border); }

.ae-section-heading {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--ae-dark);
  letter-spacing: -0.02em;
  margin-bottom: 20px;
  text-align: center;
  position: relative;
  display: inline-block;
  width: 100%;
}
.ae-section-heading::after {
  content: '';
  display: block;
  width: 52px;
  height: 4px;
  background: var(--ae-pink);
  margin: 8px auto 0;
  border-radius: 4px;
}
.ae-stock-badge {
  display: inline-block;
  background: #e30613;
  color: #fff !important;
  font-size: 0.78em;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 4px;
  margin-inline-end: 6px;
  line-height: 1.4;
  vertical-align: middle;
}

/* Carousel wrapper — bleeds beyond the container on large screens */
.ae-products-section { overflow: hidden; }
.ae-products-carousel-wrap {
  position: relative;
}
@media (min-width: 1200px) {
  .ae-products-carousel-wrap {
    --bleed: 120px;
    width: calc(100% + var(--bleed) * 2);
    margin-left: calc(-1 * var(--bleed));
    margin-right: calc(-1 * var(--bleed));
  }
}
@media (min-width: 1440px) {
  .ae-products-carousel-wrap {
    --bleed: 180px;
  }
}
.ae-carousel-prev,
.ae-carousel-next {
  display: none;
}

/* Equal-height slides — stretch all cards to the tallest in the view */
.ae-swiper-products .swiper-wrapper { align-items: stretch; }
.ae-swiper-products .swiper-slide   { height: auto; }

/* ── Product card ──────────────────────────────────────────────────────── */
.ae-product-card {
  background: #fff;
  border: 1px solid var(--ae-border);
  border-radius: 16px;
  padding: 16px 16px 20px;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: var(--ae-shadow-card);
  transition: box-shadow var(--ae-transition), transform var(--ae-transition), border-color var(--ae-transition);
  overflow: hidden;
}
.ae-product-card:hover {
  box-shadow: var(--ae-shadow-hover);
  transform: translateY(-4px);
  border-color: rgba(232,25,125,0.2);
}

/* Badges */
.ae-product-badges {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 2;
}
.ae-discount-badge {
  display: inline-block;
  background: var(--ae-orange);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  letter-spacing: 0.01em;
}
.ae-new-badge {
  display: inline-block;
  background: var(--ae-pink);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  letter-spacing: 0.01em;
}

/* Image wrapper + brand logo overlay */
.ae-card-img-wrap {
  position: relative;
  line-height: 0;
  border-radius: 10px;
  overflow: hidden;
  background: #f9fafb;
}
.ae-card-img-link {
  display: block;
  line-height: 0;
}
.ae-card-img-link img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  transition: transform 0.35s ease;
}
.ae-product-card:hover .ae-card-img-link img { transform: scale(1.05); }

/* Brand logo — top-left of image */
.ae-brand-logo-link {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 3;
  display: block;
  line-height: 0;
}
.ae-brand-logo {
  height: 52px;
  width: auto;
  max-width: 100px;
  object-fit: contain;
  border-radius: 4px;
  background: rgba(255,255,255,0.85);
  padding: 2px 4px;
}
.ae-brand-logo-text {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 3;
  font-size: 10px;
  font-weight: 700;
  color: var(--ae-text-muted);
  background: rgba(255,255,255,0.85);
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Info */
.ae-card-info {
  padding: 14px 4px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

/* Brand */
.ae-product-brand {
  font-size: 11px;
  font-weight: 700;
  color: var(--ae-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Name */
a.ae-card-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--ae-dark);
  line-height: 1.4;
  flex: 1;
  text-decoration: none;
  transition: color var(--ae-transition);
}
a.ae-card-name:hover { color: var(--ae-pink); }

/* Price */
.ae-card-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 2px 0;
}
.ae-price-current {
  font-size: 20px;
  font-weight: 700;
  color: var(--ae-green);
}
.ae-price-regular {
  font-size: 14px;
  color: var(--ae-text-muted);
  text-decoration: line-through;
}

/* Range modifier — variations show "₪min – ₪max", needs a bit less space */
.ae-price-current--range { font-size: 16px; white-space: nowrap; }
.ae-price-regular--range { font-size: 12px; white-space: nowrap; }

/* Variation select */
.ae-variation-wrap { display: flex; flex-direction: column; gap: 2px; }
.ae-variation-label { font-size: 11px; color: var(--ae-text-muted); }
.ae-variation-select {
  width: 100%;
  padding: 6px 10px 6px 32px;
  border: 1px solid var(--ae-border);
  border-radius: var(--ae-radius-sm);
  font-size: 14px;
  font-family: var(--ae-font);
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat 8px 50%;
  color: #333;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.ae-variation-select:focus { outline: none; border-color: var(--ae-green); }

/* Bottom row: button + unit price */
.ae-card-bottom {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 10px;
}
.ae-btn-cart {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 11px 16px;
  background: var(--ae-green);
  color: #fff;
  border: none;
  border-radius: 24px;
  font-size: 13px;
  font-weight: 700;
  font-family: var(--ae-font);
  letter-spacing: 0.03em;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--ae-transition), box-shadow var(--ae-transition), transform var(--ae-transition);
}
.ae-btn-cart:hover {
  background: var(--ae-green-dark);
  box-shadow: 0 6px 20px rgba(46,139,87,0.35);
  transform: translateY(-1px);
}
.ae-btn-cart svg { flex-shrink: 0; }

/* Unit price */
.ae-unit-price {
  font-size: 11px;
  color: var(--ae-text-muted);
  line-height: 1.3;
  text-align: center;
}

/* loading/added states */
.ae-add-to-cart.loading { opacity: 0.6; pointer-events: none; }
.ae-add-to-cart.added   { background: var(--ae-green-dark) !important; }
.ae-add-to-cart.error   { background: #c0392b !important; pointer-events: none; }

.ae-no-products {
  text-align: center;
  color: var(--ae-text-muted);
  font-size: 0.9rem;
  padding: 30px 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PROMO BANNER
═══════════════════════════════════════════════════════════════════════════ */
.ae-promo-banner-img { width: 100%; max-width: var(--container); margin: 0 auto; display: block; }

/* ═══════════════════════════════════════════════════════════════════════════
   CATEGORY ARCHIVE PAGE
═══════════════════════════════════════════════════════════════════════════ */
.ae-cat-archive-header {
  background: var(--ae-white);
  border-bottom: 1px solid var(--ae-border);
  padding: 20px 0 12px;
}
.ae-cat-archive-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--ae-text);
  margin: 0 0 4px;
}
.ae-cat-archive-desc {
  color: var(--ae-text-muted);
  font-size: 0.9rem;
  margin: 0 0 8px;
}

/* Sub-category grid – constrained within container */
.ae-subcat-section {
  background: var(--ae-bg);
  padding: 20px 0;
  border-top: none;
}
.ae-subcat-section .ae-cat-grid-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 16px;
  gap: 12px;
  grid-template-columns: repeat(var(--subcat-cols, 3), 1fr);
}
.ae-subcat-section .ae-cat-banner img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  display: block;
  background: #fff;
}
.ae-subcat-section .ae-cat-banner {
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10);
  overflow: hidden;
  transition: box-shadow var(--ae-transition), transform var(--ae-transition);
}
.ae-subcat-section .ae-cat-banner:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.14); transform: translateY(-2px); }
.ae-subcat-section .ae-cat-banner:hover img { transform: none; }
/* Hide overlay – images already contain category text */
.ae-subcat-section .ae-cat-banner-overlay { display: none; }

/* Products section below sub-category grid */
.ae-cat-products-below {
  padding: 32px 0;
}
.ae-cat-products-below .ae-section-title {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--ae-text);
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--ae-pink);
  display: inline-block;
}
.ae-cat-products-section { padding: 24px 0; }
.ae-no-products {
  text-align: center;
  padding: 60px 0;
  color: var(--ae-text-muted);
  font-size: 1rem;
}

/* Subcat grid responsive — !important needed to beat the inline --subcat-cols from PHP */
@media (max-width: 900px) {
  .ae-subcat-section .ae-cat-grid-inner { --subcat-cols: 3 !important; gap: 8px; }
}
@media (max-width: 768px) {
  .ae-subcat-section .ae-cat-grid-inner { --subcat-cols: 2 !important; gap: 6px; }
  .ae-cat-banner-label { font-size: 0.82rem; }
}
@media (max-width: 480px) {
  .ae-subcat-section .ae-cat-grid-inner { --subcat-cols: 2 !important; gap: 4px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MAGAZINE SECTION
═══════════════════════════════════════════════════════════════════════════ */
.ae-magazine-section {
  padding: 32px 0;
  background: var(--ae-bg);
}
.ae-magazine-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.ae-magazine-card {
  display: block;
  border-radius: var(--ae-radius);
  overflow: hidden;
  transition: box-shadow var(--ae-transition), transform var(--ae-transition);
}
.ae-magazine-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.14); transform: translateY(-3px); }
.ae-magazine-img-wrap {
  position: relative;
  overflow: hidden;
}
.ae-magazine-img-wrap img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.ae-magazine-card:hover .ae-magazine-img-wrap img { transform: scale(1.04); }
.ae-magazine-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.80) 0%, transparent 100%);
  padding: 24px 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ae-magazine-title {
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
}
.ae-magazine-read {
  color: rgba(255,255,255,0.75);
  font-size: 0.78rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   NEWSLETTER
═══════════════════════════════════════════════════════════════════════════ */
.ae-newsletter-section { background: var(--ae-white); }
.ae-newsletter-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: var(--container);
  margin: 0 auto;
}
.ae-newsletter-img-wrap { position: relative; overflow: hidden; min-height: 320px; }
/* Swiper fills the grid column completely — prevents height collapse and image cropping */
.ae-swiper-newsletter {
  position: absolute;
  inset: 0;
  height: 100%;
}
.ae-swiper-newsletter .swiper-wrapper,
.ae-swiper-newsletter .swiper-slide { height: 100% !important; }
.ae-swiper-newsletter .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ae-nl-prev, .ae-nl-next { color: #fff !important; }
.ae-nl-prev::after, .ae-nl-next::after { font-size: 16px !important; }

.ae-newsletter-form-wrap {
  padding: 40px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  background: var(--ae-bg);
}
.ae-newsletter-form-wrap h2 { font-size: 1.5rem; font-weight: 800; color: var(--ae-dark); letter-spacing: -0.02em; }
.ae-newsletter-form-wrap > p { font-size: 0.9rem; color: var(--ae-text-muted); line-height: 1.6; }
.ae-newsletter-form {
  display: flex;
  gap: 0;
  border: 2px solid var(--ae-border);
  border-radius: var(--ae-radius);
  overflow: hidden;
  background: #fff;
  transition: border-color var(--ae-transition), box-shadow var(--ae-transition);
}
.ae-newsletter-form:focus-within {
  border-color: var(--ae-pink);
  box-shadow: 0 0 0 3px rgba(232,25,125,0.1);
}
.ae-newsletter-form input {
  flex: 1;
  border: none;
  padding: 11px 14px;
  font-size: 0.88rem;
  font-family: var(--ae-font);
  direction: rtl;
  outline: none;
  background: transparent;
  min-width: 0;
}
.ae-newsletter-form input::placeholder { color: var(--ae-text-muted); }
.ae-btn-primary {
  background: var(--ae-pink);
  color: #fff;
  border: none;
  padding: 11px 22px;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: var(--ae-radius);
  cursor: pointer;
  transition: background var(--ae-transition), box-shadow var(--ae-transition), transform var(--ae-transition);
  font-family: var(--ae-font);
  flex-shrink: 0;
}
.ae-btn-primary:hover {
  background: var(--ae-pink-dark);
  box-shadow: 0 4px 16px rgba(232,25,125,0.35);
  transform: translateY(-1px);
}
.ae-newsletter-small { font-size: 0.72rem; color: var(--ae-text-muted); line-height: 1.5; }
.ae-newsletter-small a { color: var(--ae-pink); }

/* ═══════════════════════════════════════════════════════════════════════════
   FEATURES BAR
═══════════════════════════════════════════════════════════════════════════ */
.ae-features-section {
  padding: 32px 0;
  background: var(--ae-white);
  border-top: 1px solid var(--ae-border);
}
.ae-features-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}
.ae-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  padding: 12px 8px;
}
.ae-feature img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  margin: 0 auto;
}
.ae-feature span {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ae-text);
  line-height: 1.35;
}

/* ═══════════════════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════════════════ */
.ae-footer { background: var(--ae-footer-bg); color: rgba(255,255,255,0.8); }
.ae-footer-top { padding: 40px 0 28px; }
.ae-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
  gap: 32px;
}
.ae-footer-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.25rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 10px;
}
.ae-footer-tagline { font-size: 0.85rem; margin-bottom: 16px; opacity: 0.7; }
.ae-social-links { display: flex; gap: 8px; }
.ae-social-link {
  width: 36px; height: 36px;
  background: rgba(255,255,255,0.08);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.8);
  transition: all var(--ae-transition);
}
.ae-social-link:hover { background: var(--ae-pink); color: #fff; transform: translateY(-2px); }
.ae-footer-heading {
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(255,255,255,0.12);
  letter-spacing: 0.01em;
}
.ae-footer-links { display: flex; flex-direction: column; gap: 7px; }
.ae-footer-links li a { font-size: 0.84rem; color: rgba(255,255,255,0.65); transition: color var(--ae-transition); }
.ae-footer-links li a:hover { color: var(--ae-pink); }
.ae-footer-cat-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ae-footer-cat-toggle {
  background: none;
  border: none;
  color: rgba(255,255,255,0.45);
  cursor: pointer;
  padding: 2px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  transition: color var(--ae-transition), transform var(--ae-transition);
}
.ae-footer-cat-toggle:hover { color: var(--ae-pink); }
.ae-footer-cat-item.is-open .ae-footer-cat-toggle { transform: rotate(180deg); color: var(--ae-pink); }
.ae-footer-subcats {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 4px;
  padding-right: 12px;
  border-right: 2px solid rgba(255,255,255,0.12);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.28s ease, margin-top 0.28s ease;
  margin-top: 0;
}
.ae-footer-cat-item.is-open .ae-footer-subcats { max-height: 400px; margin-top: 6px; }
.ae-footer-subcats li a { font-size: 0.78rem; color: rgba(255,255,255,0.45); }
.ae-footer-subcats li a:hover { color: var(--ae-pink); }
.ae-footer-contact { display: flex; flex-direction: column; gap: 10px; }
.ae-footer-contact li { display: flex; align-items: flex-start; gap: 7px; font-size: 0.82rem; color: rgba(255,255,255,0.65); }
.ae-footer-contact li a { color: rgba(255,255,255,0.65); }
.ae-footer-contact li a:hover { color: var(--ae-pink); }
.ae-footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding: 16px 0; }
.ae-footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; }
.ae-copyright { font-size: 0.78rem; color: rgba(255,255,255,0.45); }
.ae-payment-icons { display: flex; gap: 6px; }
.ae-payment-icon {
  background: rgba(255,255,255,0.10);
  padding: 4px 9px;
  border-radius: 4px;
  font-size: 0.7rem;
  color: rgba(255,255,255,0.7);
  font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════════════════
   WOOCOMMERCE – SHOP / SINGLE / CHECKOUT
═══════════════════════════════════════════════════════════════════════════ */
.ae-woo-wrapper { display: flex; gap: 24px; padding: 28px 24px 50px; }
.ae-main-content { flex: 1; min-width: 0; }
.ae-shop-sidebar { width: 240px; flex-shrink: 0; }

.ae-breadcrumb { margin-bottom: 16px; font-size: 0.82rem; color: var(--ae-text-muted); }
.ae-breadcrumb a { color: var(--ae-pink); }

/* Product loop */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.woocommerce ul.products li.product {
  background: var(--ae-white);
  border: 1px solid var(--ae-border);
  border-radius: var(--ae-radius);
  overflow: hidden;
  box-shadow: var(--ae-shadow-card);
  transition: box-shadow var(--ae-transition), transform var(--ae-transition);
  margin: 0 !important; float: none !important; width: auto !important;
}
.woocommerce ul.products li.product:hover {
  box-shadow: var(--ae-shadow-hover);
  transform: translateY(-3px);
}
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 8px; margin: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 8px 12px 4px; font-size: 0.88rem; font-weight: 600; color: var(--ae-dark); }
.woocommerce ul.products li.product .price { padding: 0 12px 8px; font-weight: 800; color: var(--ae-green); }
.woocommerce ul.products li.product .button {
  margin: 0 12px 12px; display: block;
  background: var(--ae-green); color: #fff;
  border: none; padding: 10px; border-radius: 20px;
  text-align: center; font-size: 0.82rem; font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer; transition: background var(--ae-transition), box-shadow var(--ae-transition), transform var(--ae-transition);
  font-family: var(--ae-font);
}
.woocommerce ul.products li.product .button:hover {
  background: var(--ae-green-dark);
  box-shadow: 0 4px 14px rgba(46,139,87,0.35);
  transform: translateY(-1px);
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { display: flex !important; gap: 4px; justify-content: center; list-style: none; margin-top: 28px; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: var(--ae-radius-sm);
  border: 1px solid var(--ae-border);
  font-size: 0.88rem; font-weight: 600; color: var(--ae-dark);
  transition: all var(--ae-transition);
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ae-pink); border-color: var(--ae-pink); color: #fff; }

/* Notices */
.woocommerce-message { background: #d4edda; color: #155724; border-right: 3px solid #28a745; padding: 12px 16px; border-radius: var(--ae-radius-sm); margin-bottom: 16px; font-size: 0.88rem; }
.woocommerce-info    { background: #d1ecf1; color: #0c5460; border-right: 3px solid #17a2b8; padding: 12px 16px; border-radius: var(--ae-radius-sm); margin-bottom: 16px; font-size: 0.88rem; }
.woocommerce-error   { background: #f8d7da; color: #721c24; border-right: 3px solid #dc3545; padding: 12px 16px; border-radius: var(--ae-radius-sm); margin-bottom: 16px; font-size: 0.88rem; }
.woocommerce-message::before, .woocommerce-info::before { display: none; }

/* Single product */
.ae-single-product-main { padding-top: 8px; }
.single-product div.product { max-width: 1400px; margin: 0 auto; }
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }

/* Tabs + related products: span both columns so they get full width */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products { grid-column: 1 / -1; }

/* Gallery */
.woocommerce div.product .woocommerce-product-gallery {
  position: relative;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 12px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}
.woocommerce div.product .woocommerce-product-gallery__wrapper {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 16px;
}
.woocommerce div.product .woocommerce-product-gallery__image img {
  border-radius: 8px;
  border: 1px solid #eaeaea;
  display: block;
  width: 100%;
  max-height: 580px;
  object-fit: contain;
}

/* Zoom trigger icon – absolutely positioned over main image, top-left corner */
.woocommerce-product-gallery__trigger {
  position: absolute;
  top: 16px;
  left: 16px;
  right: auto;
  z-index: 99;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(4px);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  transition: background 0.2s, transform 0.2s;
}
.woocommerce-product-gallery__trigger:hover {
  background: rgba(255, 255, 255, 1);
  transform: scale(1.08);
}
.woocommerce-product-gallery__trigger img { width: 20px; height: 20px; display: block; }
/* Gallery thumbnails */
.woocommerce div.product .woocommerce-product-gallery .flex-control-nav {
  display: flex; gap: 8px; padding: 0; margin: 0; list-style: none; flex-wrap: wrap;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-nav li { line-height: 0; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-nav li img {
  width: 68px; height: 68px; object-fit: cover;
  border-radius: 8px; border: 1px solid #eaeaea;
  cursor: pointer; transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce div.product .woocommerce-product-gallery .flex-control-nav li img.flex-active,
.woocommerce div.product .woocommerce-product-gallery .flex-control-nav li img:hover {
  border-color: var(--ae-pink);
  box-shadow: 0 0 0 2px rgba(232,25,125,0.15);
}

/* Summary */
.woocommerce div.product div.summary { display: flex; flex-direction: column; gap: 24px; padding: 6px 0; }
.woocommerce div.product .product_title { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.25; padding-bottom: 4px; }
.woocommerce div.product .woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin-top: -8px; }
.woocommerce div.product .price {
  font-size: 1.6rem; font-weight: 800; color: var(--ae-green);
  padding: 10px 16px; background: #f7fdf0; border-radius: 8px;
  display: inline-flex; align-items: center; gap: 10px; align-self: flex-start;
}
.woocommerce div.product .price del { font-size: 1rem; color: var(--ae-text-muted); font-weight: 500; }
.woocommerce div.product .price ins { text-decoration: none; }
.woocommerce div.product .short-description { color: var(--ae-text); font-size: 0.9rem; line-height: 1.7; border-top: 1px solid var(--ae-border); padding-top: 20px; }

/* Variation dropdowns */
.woocommerce div.product form.cart table.variations { width: 100%; margin-bottom: 4px; border-collapse: collapse; }
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations th { padding: 12px 0; border-bottom: 1px solid #f0f0f0; text-align: right; vertical-align: middle; }
.woocommerce div.product form.cart table.variations th { font-size: 0.88rem; font-weight: 700; color: var(--ae-dark); white-space: nowrap; padding-left: 16px; }
.woocommerce div.product form.cart table.variations select {
  width: 100%; padding: 12px 16px 12px 44px;
  border-radius: 10px; border: 1.5px solid #e0e0e0;
  background-color: #fafafa;
  background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4%206l4%204%204-4%22%20stroke%3D%22%23e8197d%22%20stroke-width%3D%221.8%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat; background-position: left 14px center;
  font-size: 0.95rem; font-family: var(--ae-font); color: var(--ae-dark);
  cursor: pointer; appearance: none; -webkit-appearance: none;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  transition: border-color var(--ae-transition), box-shadow var(--ae-transition), background-color var(--ae-transition);
}
.woocommerce div.product form.cart table.variations select:hover {
  border-color: var(--ae-pink); background-color: #fff;
}
.woocommerce div.product form.cart table.variations select:focus {
  border-color: var(--ae-pink); outline: none; background-color: #fff;
  box-shadow: 0 0 0 3px rgba(232,25,125,0.1);
}
/* "Clear" / reset variations button */
.woocommerce div.product form.cart .reset_variations {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 0.78rem; font-weight: 600; font-family: var(--ae-font);
  color: var(--ae-text-muted);
  background: #f5f5f5; border: 1px solid #e0e0e0;
  border-radius: 20px; padding: 5px 14px;
  cursor: pointer; text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.woocommerce div.product form.cart .reset_variations:hover {
  background: #fde8f3; color: var(--ae-pink); border-color: rgba(232,25,125,0.3);
}

/* Add-to-cart area */
.woocommerce div.product form.cart {
  display: flex; gap: 16px; flex-wrap: wrap; align-items: center;
  padding: 18px 20px; background: var(--ae-bg-gray); border-radius: 12px;
  border: 1px solid var(--ae-border);
}
/* Variable products: qty + button live inside this nested wrapper */
.woocommerce div.product .woocommerce-variation-add-to-cart {
  display: flex; gap: 16px; align-items: center; flex-wrap: wrap; width: 100%;
}
.woocommerce div.product form.cart div.quantity { flex-shrink: 0; margin: 0; }
.woocommerce div.product form.cart .qty {
  width: 72px; padding: 12px 14px;
  border: 1.5px solid var(--ae-border); border-radius: 10px;
  font-size: 1rem; font-family: var(--ae-font); text-align: center;
  transition: border-color var(--ae-transition), box-shadow var(--ae-transition);
}
.woocommerce div.product form.cart .qty:focus { border-color: var(--ae-pink); outline: none; box-shadow: 0 0 0 3px rgba(232,25,125,0.1); }
.woocommerce div.product form.cart .button {
  background: var(--ae-pink); color: #fff;
  border: none; padding: 13px 32px;
  border-radius: 10px;
  font-size: 1rem; font-weight: 700; letter-spacing: 0.02em; cursor: pointer;
  transition: background var(--ae-transition), box-shadow var(--ae-transition), transform var(--ae-transition);
  font-family: var(--ae-font);
  flex: 1;
}
.woocommerce div.product form.cart .button:hover {
  background: var(--ae-pink-dark);
  box-shadow: 0 6px 20px rgba(232,25,125,0.35);
  transform: translateY(-1px);
}
/* Product meta (SKU, category) */
.woocommerce div.product .product_meta { font-size: 0.82rem; color: var(--ae-text-muted); border-top: 1px solid var(--ae-border); padding-top: 12px; }
.woocommerce div.product .product_meta span { display: block; margin-bottom: 4px; }
.woocommerce div.product .product_meta a { color: var(--ae-pink); }
/* Tabs (description, reviews) */
.woocommerce-tabs { margin-top: 40px; border-top: 2px solid var(--ae-border); }
.woocommerce-tabs ul.tabs { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; border-bottom: 2px solid var(--ae-border); }
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs li a {
  display: block; padding: 12px 22px;
  font-weight: 700; font-size: 0.9rem; color: var(--ae-text-muted);
  border-bottom: 3px solid transparent; margin-bottom: -2px;
  transition: color var(--ae-transition), border-color var(--ae-transition);
}
.woocommerce-tabs ul.tabs li.active a { color: var(--ae-pink); border-bottom-color: var(--ae-pink); }
.woocommerce-tabs ul.tabs li a:hover { color: var(--ae-pink); }
.woocommerce-tabs .woocommerce-Tabs-panel { padding: 24px 0; }
/* Upsells + Related products */
.upsells.products,
.related.products { margin-top: 48px; }
.upsells.products h2,
.related.products h2 { font-size: 1.3rem; font-weight: 800; margin-bottom: 20px; color: var(--ae-dark); }
.related.products .products { grid-template-columns: repeat(4, 1fr) !important; }
@media (max-width: 768px) {
  .woocommerce div.product { grid-template-columns: 1fr; gap: 24px; }
  .woocommerce div.product .product_title { font-size: 1.4rem; }
  .ae-single-product-main { padding-left: 20px; padding-right: 20px; }
  .related.products .products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ── Cart page ──────────────────────────────────────────────────────────── */
.woocommerce-cart { padding: 40px 0 70px; background: var(--ae-bg); }

/* Cart page uses a narrow article template (max-width:760px) — expand it */
body.woocommerce-cart .ae-article-inner { max-width: 1100px; }

/* Checkout page — same narrow-article constraint; widen to ~70% viewport */
body.woocommerce-checkout .ae-article-inner {
  width: 70%;
  max-width: 1500px;
  padding: 40px 24px 60px;
}
@media (max-width: 1024px) {
  body.woocommerce-checkout .ae-article-inner {
    width: 95%;
    padding: 24px 12px 40px;
  }
}

/* Allow the form grid column to respect its allocated 1fr width */
.woocommerce-cart .woocommerce-cart-form { min-width: 0; }

/* Coupon input — constrain so it doesn't push the form wider */
.woocommerce-cart .coupon { display: flex; gap: 8px; align-items: center; }
.woocommerce-cart .coupon #coupon_code { width: 140px; flex-shrink: 0; }

.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 0 24px;
  align-items: start;
}
.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 1; }
.woocommerce-cart .woocommerce-cart-form { grid-column: 1; grid-row: 2; }
.woocommerce-cart .cart-collaterals { grid-column: 2; grid-row: 2; }

/* Cart table */
.woocommerce-cart table.shop_table {
  width: 100%; border-collapse: collapse; table-layout: fixed;
  background: var(--ae-white);
  border-radius: var(--ae-radius); overflow: hidden; box-shadow: var(--ae-shadow-card);
}
.woocommerce-cart table.shop_table thead th {
  background: var(--ae-pink); color: #fff;
  padding: 12px 14px; font-size: 0.85rem; font-weight: 600; text-align: right;
}

/* Suppress any browser rendering artifact on <col> boundaries */
.woocommerce-cart table.shop_table col { border: none !important; }
.woocommerce-cart table.shop_table th.product-price     { width: 90px; }
.woocommerce-cart table.shop_table th.product-quantity  { width: 120px; }
.woocommerce-cart table.shop_table th.product-subtotal  { width: 100px; }

/* th-specific styles */
.woocommerce-cart table.shop_table thead th.product-remove    { background: var(--ae-pink-dark); text-align: center; }
.woocommerce-cart table.shop_table thead th.product-thumbnail { text-align: center; }


.woocommerce-cart table.shop_table tbody td {
  padding: 14px 14px; border-bottom: 1px solid var(--ae-border);
  vertical-align: middle; text-align: right;
}
.woocommerce-cart table.shop_table tbody tr:last-child td { border-bottom: none; }
.woocommerce-cart table.shop_table tbody tr:hover td { background: #fdf2f8; }

/* WooCommerce sets display:flex on td.actions which breaks colspan — restore table-cell */
.woocommerce-cart table.shop_table td.actions { display: table-cell !important; }

/* Remove button cell */
.woocommerce-cart table.shop_table td.product-remove {
  padding: 8px 10px !important; text-align: center;
}

/* Thumbnail cell */
.woocommerce-cart table.shop_table td.product-thumbnail {
  width: 100px !important; padding: 10px 8px !important;
}
.woocommerce-cart table.shop_table td.product-thumbnail a {
  display: block !important; line-height: 0;
}
.woocommerce-cart table.shop_table td.product-thumbnail img {
  width: 80px !important; height: 80px !important;
  max-width: 80px !important; min-width: 80px !important;
  object-fit: contain !important; display: block !important;
  border-radius: 8px; background: var(--ae-bg);
  border: 1px solid var(--ae-border); padding: 4px;
}

/* Product name */
.woocommerce-cart td.product-name { overflow-wrap: break-word; word-break: break-word; }
.woocommerce-cart td.product-name a { font-weight: 600; color: var(--ae-dark); font-size: 0.95rem; line-height: 1.4; }
.woocommerce-cart td.product-name a:hover { color: var(--ae-pink); }
.woocommerce-cart td.product-name .variation { font-size: 0.78rem; color: var(--ae-text-muted); margin-top: 4px; }

/* Price columns */
.woocommerce-cart td.product-price { color: var(--ae-text-muted); font-size: 0.9rem; }
.woocommerce-cart td.product-subtotal { font-weight: 700; color: var(--ae-pink); font-size: 1rem; }

/* Remove button */
.woocommerce-cart td.product-remove a {
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  margin: 0 auto;
  background: var(--ae-bg); color: var(--ae-text-muted);
  font-size: 1rem; font-weight: 700;
  border: 1px solid var(--ae-border);
  transition: all var(--ae-transition);
}
.woocommerce-cart td.product-remove a:hover { background: #fee2e2; color: var(--ae-red); border-color: #fca5a5; }

/* Qty input (bare) */
.woocommerce-cart td.product-quantity .qty {
  width: 60px; padding: 8px 10px;
  border: 2px solid var(--ae-border); border-radius: var(--ae-radius-sm);
  text-align: center; font-family: var(--ae-font); font-size: 0.9rem; font-weight: 600;
}
.woocommerce-cart td.product-quantity .qty:focus { border-color: var(--ae-pink); outline: none; }

/* Qty stepper (JS-injected wrapper) */
.ae-qty-stepper {
  display: inline-flex; align-items: center;
  border: 2px solid var(--ae-border); border-radius: var(--ae-radius-sm);
  overflow: hidden; background: var(--ae-white);
}
.ae-qty-stepper .qty {
  width: 52px !important; border: none !important; border-radius: 0 !important;
  border-inline: 2px solid var(--ae-border) !important;
  padding: 8px 4px !important; font-weight: 700 !important;
}
.ae-qty-stepper .qty:focus { outline: none !important; box-shadow: none !important; border-color: var(--ae-border) !important; }
.ae-qty-btn {
  width: 34px; height: 38px; display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem; font-weight: 700; color: var(--ae-text);
  background: var(--ae-white); border: none; cursor: pointer;
  transition: background var(--ae-transition), color var(--ae-transition);
  font-family: var(--ae-font); flex-shrink: 0;
  user-select: none;
}
.ae-qty-btn:hover { background: var(--ae-pink); color: #fff; }

/* Cart actions row (coupon + update) */
.woocommerce-cart .actions {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px; background: var(--ae-white);
  border-top: 1px solid var(--ae-border);
  gap: 12px; flex-wrap: wrap;
  border-radius: 0 0 var(--ae-radius) var(--ae-radius);
}
.woocommerce-cart .coupon { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.woocommerce-cart .coupon label { font-size: 0.85rem; font-weight: 600; color: var(--ae-text); }
.woocommerce-cart .coupon #coupon_code {
  padding: 10px 14px;
  border: 2px solid var(--ae-border); border-radius: var(--ae-radius-sm);
  font-family: var(--ae-font); font-size: 0.88rem;
  transition: border-color var(--ae-transition);
}
.woocommerce-cart .coupon #coupon_code:focus { border-color: var(--ae-pink); outline: none; }
.woocommerce-cart .coupon .button {
  padding: 10px 18px; background: var(--ae-dark); color: #fff;
  border: none; border-radius: var(--ae-radius-sm);
  font-family: var(--ae-font); font-size: 0.85rem; font-weight: 600;
  cursor: pointer; transition: background var(--ae-transition);
}
.woocommerce-cart .coupon .button:hover { background: var(--ae-pink); }
.woocommerce-cart .button[name="update_cart"] {
  padding: 10px 18px; background: transparent; color: var(--ae-text);
  border: 2px solid var(--ae-border); border-radius: var(--ae-radius-sm);
  font-family: var(--ae-font); font-size: 0.85rem; font-weight: 600;
  cursor: pointer; transition: all var(--ae-transition);
}
.woocommerce-cart .button[name="update_cart"]:hover { background: var(--ae-pink); color: #fff; border-color: var(--ae-pink); }

/* Cart totals card */
.cart-collaterals { }
.cart_totals {
  background: var(--ae-white);
  border-radius: var(--ae-radius); box-shadow: var(--ae-shadow-card);
  overflow: hidden; border-top: 4px solid var(--ae-pink);
  width: 100%;
}
.cart_totals h2 {
  padding: 18px 20px 14px; font-size: 1.1rem; font-weight: 700;
  color: var(--ae-dark); margin: 0; border-bottom: 1px solid var(--ae-border);
}
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals table th,
.cart_totals table td { padding: 14px 20px; border-bottom: 1px solid var(--ae-border); text-align: right; vertical-align: middle; }
.cart_totals table tr:last-child th,
.cart_totals table tr:last-child td { border-bottom: none; }
.cart_totals table th { font-size: 0.85rem; font-weight: 600; color: var(--ae-text); width: 40%; }
.cart_totals .order-total th,
.cart_totals .order-total td { font-size: 1.1rem; font-weight: 700; }
.cart_totals .order-total td { color: var(--ae-pink); }

/* Proceed to checkout */
.wc-proceed-to-checkout { padding: 16px 20px; }
.wc-proceed-to-checkout .checkout-button {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; padding: 15px;
  background: var(--ae-pink); color: #fff;
  border-radius: 24px; font-weight: 700; font-size: 1.05rem;
  font-family: var(--ae-font);
  transition: background var(--ae-transition), transform var(--ae-transition), box-shadow var(--ae-transition);
  text-decoration: none;
}
.wc-proceed-to-checkout .checkout-button:hover {
  background: var(--ae-pink-dark); color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(232,25,125,0.35);
}

/* Empty cart */
.woocommerce-cart .woocommerce-info {
  grid-column: 1 / -1; padding: 50px 20px; text-align: center;
  background: var(--ae-white); border-radius: var(--ae-radius);
  border: none; border-top: 4px solid var(--ae-pink);
  box-shadow: var(--ae-shadow-card); font-size: 1rem; color: var(--ae-text);
}
.woocommerce-cart .woocommerce-info::before { display: none; }
.woocommerce-cart .return-to-shop { grid-column: 1 / -1; text-align: center; margin-top: 20px; }
.woocommerce-cart .return-to-shop .button {
  display: inline-block; padding: 12px 32px;
  background: var(--ae-pink); color: #fff;
  border-radius: 24px; font-weight: 700;
  font-family: var(--ae-font); font-size: 0.95rem;
  transition: background var(--ae-transition), transform var(--ae-transition);
}
.woocommerce-cart .return-to-shop .button:hover { background: var(--ae-pink-dark); color: #fff; transform: translateY(-2px); }

/* Cart mobile */
@media (max-width: 860px) {
  .woocommerce-cart .woocommerce { display: block; }
  .woocommerce-cart .cart-collaterals { margin-top: 24px; }
  .woocommerce-cart table.shop_table thead th.product-price { display: none; }
  .woocommerce-cart td.product-price { display: none; }
}

/* ── Empty cart ──────────────────────────────────────────────────────────── */
.ae-empty-cart {
  grid-column: 1 / -1;
  text-align: center;
  padding: 60px 24px 48px;
  background: var(--ae-white);
  border-radius: var(--ae-radius);
  border-top: 4px solid var(--ae-pink);
  box-shadow: var(--ae-shadow-card);
}
.ae-empty-cart-icon {
  color: #d1d5db;
  margin: 0 auto 24px;
  width: 72px; height: 72px;
}
.ae-empty-cart-icon svg { width: 72px; height: 72px; }
.ae-empty-cart-title {
  font-size: 1.5rem; font-weight: 700; color: var(--ae-dark);
  margin-bottom: 12px;
}
.ae-empty-cart-text {
  color: var(--ae-text-muted); font-size: 0.95rem; line-height: 1.7; margin-bottom: 32px;
}
.ae-empty-cart-btn {
  display: inline-block; padding: 14px 40px;
  background: var(--ae-pink); color: #fff;
  border-radius: 24px; font-weight: 700; font-size: 1rem;
  font-family: var(--ae-font);
  transition: background var(--ae-transition), transform var(--ae-transition), box-shadow var(--ae-transition);
}
.ae-empty-cart-btn:hover {
  background: var(--ae-pink-dark); color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(232,25,125,0.3);
}
.ae-empty-cart-recommended {
  grid-column: 1 / -1;
  margin-top: 48px;
}
.ae-empty-cart-recommended .ae-section-title {
  font-size: 1.3rem; font-weight: 700; color: var(--ae-dark);
  margin-bottom: 20px; text-align: center;
}
.ae-empty-cart-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 900px) {
  .ae-empty-cart-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .ae-empty-cart-grid { grid-template-columns: repeat(2, 1fr); }
  .ae-empty-cart { padding: 40px 16px 32px; }
}

/* Checkout form */
.woocommerce-checkout { padding: 32px 0 50px; }
.woocommerce form .form-row label { font-size: 0.85rem; font-weight: 600; margin-bottom: 4px; display: block; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  width: 100%; padding: 10px 12px;
  border: 2px solid var(--ae-border); border-radius: var(--ae-radius-sm);
  font-family: var(--ae-font); font-size: 0.88rem;
  transition: border-color var(--ae-transition), box-shadow var(--ae-transition); direction: rtl;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--ae-pink);
  box-shadow: 0 0 0 3px rgba(232,25,125,0.1);
  outline: none;
}
#place_order {
  background: var(--ae-pink) !important; color: #fff !important;
  width: 100%; padding: 14px !important;
  font-size: 1rem !important; font-weight: 700 !important; letter-spacing: 0.02em !important;
  border-radius: 24px !important; cursor: pointer !important;
  font-family: var(--ae-font) !important; border: none !important;
  transition: background var(--ae-transition), box-shadow var(--ae-transition), transform var(--ae-transition) !important;
}
#place_order:hover {
  background: var(--ae-pink-dark) !important;
  box-shadow: 0 6px 20px rgba(232,25,125,0.35) !important;
  transform: translateY(-1px) !important;
}

/* Toolbar (shop page) */
.ae-shop-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.ae-shop-result-count { font-size: 0.82rem; color: var(--ae-text-muted); }
.woocommerce .woocommerce-ordering select {
  border: 1px solid var(--ae-border); border-radius: var(--ae-radius-sm);
  padding: 6px 10px; font-size: 0.82rem; direction: rtl; font-family: var(--ae-font);
}

/* ═══════════════════════════════════════════════════════════════════════════
   ARTICLE / PAGE  (single.php + page.php)
═══════════════════════════════════════════════════════════════════════════ */

/* Hero image */
.ae-article-hero {
  width: 100%;
  max-height: 480px;
  overflow: hidden;
  background: var(--ae-dark);
}
.ae-article-hero-img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  object-position: center top;
  display: block;
  opacity: 0.92;
}

/* Outer wrapper */
.ae-article-outer { padding: 44px 0 72px; }

/* Narrow reading column */
.ae-article-inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Breadcrumb */
.ae-article-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 6px;
  font-size: 0.82rem;
  color: #999;
  margin-bottom: 20px;
}
.ae-article-breadcrumb a { color: #999; text-decoration: none; transition: color 0.2s; }
.ae-article-breadcrumb a:hover { color: var(--ae-pink); }
.ae-bc-sep { color: #ccc; font-size: 0.75rem; }

/* Title */
.ae-article-title {
  font-size: clamp(1.6rem, 4vw, 2.5rem);
  font-weight: 900;
  line-height: 1.25;
  color: var(--ae-dark);
  margin-bottom: 18px;
  border-right: 5px solid var(--ae-pink);
  padding-right: 16px;
}
.ae-article--page .ae-article-title { margin-bottom: 28px; }

/* Meta row */
.ae-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  font-size: 0.85rem;
  color: #888;
  padding-bottom: 24px;
  border-bottom: 1px solid #ececec;
  margin-bottom: 36px;
}
.ae-article-meta i { margin-left: 5px; color: var(--ae-pink); }
.ae-article-meta a { color: #888; text-decoration: none; }
.ae-article-meta a:hover { color: var(--ae-pink); }

/* Body content */
.ae-article-body { font-size: 1.05rem; line-height: 1.85; color: #333; }

.ae-article-body > * + * { margin-top: 0; }
.ae-article-body p { margin-bottom: 22px; }

.ae-article-body h2 {
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--ae-dark);
  margin: 44px 0 16px;
  padding-right: 14px;
  border-right: 4px solid var(--ae-green);
}
.ae-article-body h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--ae-dark);
  margin: 30px 0 12px;
}
.ae-article-body h4 {
  font-size: 1rem;
  font-weight: 700;
  margin: 22px 0 10px;
}

.ae-article-body a { color: var(--ae-pink); text-decoration: underline; }
.ae-article-body a:hover { opacity: 0.8; }

.ae-article-body img {
  max-width: 100%;
  border-radius: 10px;
  display: block;
  margin: 8px 0 28px;
}
.ae-article-body figure { margin: 28px 0; }
.ae-article-body figcaption {
  text-align: center;
  font-size: 0.82rem;
  color: #999;
  margin-top: 8px;
  font-style: italic;
}

.ae-article-body ul,
.ae-article-body ol {
  padding-right: 22px;
  margin-bottom: 22px;
}
.ae-article-body li { margin-bottom: 9px; }

.ae-article-body blockquote {
  border-right: 4px solid var(--ae-pink);
  padding: 18px 22px;
  margin: 32px 0;
  background: #fef6fa;
  border-radius: 0 10px 10px 0;
  font-size: 1.1rem;
  font-style: italic;
  color: #555;
}
.ae-article-body blockquote p:last-child { margin-bottom: 0; }

.ae-article-body hr {
  border: none;
  border-top: 2px solid #ececec;
  margin: 40px 0;
}

.ae-article-body table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
  font-size: 0.95rem;
}
.ae-article-body th,
.ae-article-body td {
  text-align: right;
  padding: 10px 14px;
  border: 1px solid #e5e5e5;
}
.ae-article-body th { background: var(--ae-bg); font-weight: 700; }

/* Tags */
.ae-article-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid #ececec;
}
.ae-article-tags > i { color: #bbb; margin-left: 4px; }
.ae-article-tag {
  background: var(--ae-bg);
  border: 1px solid #ddd;
  color: #666;
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 0.82rem;
  text-decoration: none;
  transition: background 0.18s, border-color 0.18s, color 0.18s;
}
.ae-article-tag:hover {
  background: var(--ae-pink);
  border-color: var(--ae-pink);
  color: #fff;
}

/* Author box */
.ae-author-box {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-top: 44px;
  padding: 24px;
  background: var(--ae-bg);
  border-radius: 14px;
  border: 1px solid #ececec;
}
.ae-author-avatar {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50%;
  flex-shrink: 0;
  border: 3px solid var(--ae-pink);
}
.ae-author-info { flex: 1; }
.ae-author-label {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ae-pink);
  font-weight: 700;
  margin-bottom: 3px;
}
.ae-author-name { font-size: 1rem; font-weight: 800; color: var(--ae-dark); }
.ae-author-bio { font-size: 0.88rem; color: #777; margin-top: 6px; margin-bottom: 0; }

/* ═══════════════════════════════════════════════════════════════════════════
   MISC
═══════════════════════════════════════════════════════════════════════════ */
.ae-blog-wrap, .ae-page-wrap, .ae-single-wrap { padding: 28px 0 50px; }
.ae-page-title, .ae-shop-title { font-size: 1.4rem; font-weight: 800; margin-bottom: 20px; }
.ae-404-wrap { padding: 60px 0; text-align: center; }
.ae-404-title { font-size: 4rem; font-weight: 900; color: var(--ae-pink); }
.ae-404-subtitle { font-size: 1.2rem; font-weight: 700; margin: 8px 0; }
.ae-404-desc { color: var(--ae-text-muted); margin-bottom: 20px; }
.ae-404-icon { font-size: 64px; margin-bottom: 12px; }

/* Animate on scroll */
.ae-animate { opacity: 0; transform: translateY(16px); transition: opacity 0.4s ease, transform 0.4s ease; }
.ae-animate.ae-visible { opacity: 1; transform: translateY(0); }

/* ═══════════════════════════════════════════════════════════════════════════
   FLOATING CART DRAWER
═══════════════════════════════════════════════════════════════════════════ */
.ae-cart-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 1290;
}
.ae-cart-overlay.active { display: block; }

.ae-cart-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 360px;
  height: 100vh;
  background: var(--ae-white);
  z-index: 1300;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  box-shadow: 4px 0 24px rgba(0,0,0,0.15);
}
.ae-cart-drawer.active { transform: translateX(0); }

@media (max-width: 400px) {
  .ae-cart-drawer { width: 100vw; }
}

/* Header */
.ae-cart-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: var(--ae-footer-bg);
  color: #fff;
  flex-shrink: 0;
}
.ae-cart-drawer-title { font-size: 1rem; font-weight: 700; margin: 0; }
.ae-cart-drawer-count { font-size: 0.8rem; color: rgba(255,255,255,0.7); }
.ae-cart-drawer-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 1.2rem;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background var(--ae-transition);
}
.ae-cart-drawer-close:hover { background: rgba(255,255,255,0.15); }

/* Body */
.ae-cart-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 12px 0;
}
.ae-cart-drawer-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  color: var(--ae-text-muted);
  font-size: 1.4rem;
}
.ae-cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 160px;
  color: var(--ae-text-muted);
  font-size: 0.9rem;
}
.ae-cart-empty i { font-size: 2.5rem; opacity: 0.3; }

/* Items */
.ae-cart-items-list { list-style: none; margin: 0; padding: 0; }
.ae-cart-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--ae-border);
  position: relative;
}
.ae-cart-item:last-child { border-bottom: none; }
.ae-cart-item-img { width: 64px; height: 64px; object-fit: contain; border-radius: 6px; background: var(--ae-bg); flex-shrink: 0; }
.ae-cart-item-details { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ae-cart-item-name { font-size: 0.83rem; font-weight: 500; color: var(--ae-dark); line-height: 1.3; }
.ae-cart-item-name:hover { color: var(--ae-pink); }
.ae-cart-item-price { font-size: 0.85rem; font-weight: 700; color: var(--ae-pink); }
.ae-cart-item-qty {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.ae-qty-btn {
  width: 24px;
  height: 24px;
  border: 1px solid var(--ae-border);
  background: var(--ae-white);
  border-radius: 50%;
  cursor: pointer;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--ae-transition);
  color: var(--ae-dark);
}
.ae-qty-btn:hover { border-color: var(--ae-pink); color: var(--ae-pink); }
.ae-qty-val { font-size: 0.85rem; font-weight: 600; min-width: 20px; text-align: center; }
.ae-cart-item-remove {
  position: absolute;
  top: 8px;
  left: 12px;
  background: none;
  border: none;
  color: var(--ae-text-muted);
  font-size: 1.1rem;
  cursor: pointer;
  padding: 2px 5px;
  line-height: 1;
  transition: color var(--ae-transition);
}
.ae-cart-item-remove:hover { color: var(--ae-red); }

/* Footer */
.ae-cart-drawer-footer {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 20px;
  border-top: 2px solid var(--ae-border);
  background: var(--ae-white);
  flex-shrink: 0;
}
.ae-cart-drawer-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1rem;
  font-weight: 700;
  color: var(--ae-dark);
}
.ae-cart-drawer-checkout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px;
  background: var(--ae-pink);
  color: #fff;
  border-radius: 24px;
  font-weight: 700;
  font-size: 0.95rem;
  transition: background var(--ae-transition);
  text-decoration: none;
}
.ae-cart-drawer-checkout:hover { background: var(--ae-pink-dark); color: #fff; }
.ae-cart-drawer-view-cart {
  text-align: center;
  font-size: 0.83rem;
  color: var(--ae-text-muted);
  text-decoration: underline;
}
.ae-cart-drawer-view-cart:hover { color: var(--ae-dark); }

/* ═══════════════════════════════════════════════════════════════════════════
   LIVE SEARCH DROPDOWN
═══════════════════════════════════════════════════════════════════════════ */
.ae-search-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  background: var(--ae-white);
  border: 1px solid var(--ae-border);
  border-radius: var(--ae-radius);
  box-shadow: var(--ae-shadow);
  z-index: 1100;
  overflow: hidden;
}
.ae-search-dropdown--open { display: block; }

.ae-search-results-list { list-style: none; margin: 0; padding: 0; }

.ae-search-result-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--ae-border);
  transition: background var(--ae-transition);
}
.ae-search-result-item:last-child { border-bottom: none; }
.ae-search-result-item:hover { background: var(--ae-bg); }

.ae-search-result-link {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
  color: inherit;
}
.ae-search-result-img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border-radius: var(--ae-radius-sm);
  flex-shrink: 0;
  background: var(--ae-bg);
}
.ae-search-result-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ae-search-result-name {
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--ae-dark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ae-search-result-price { font-size: 0.82rem; color: var(--ae-pink); font-weight: 600; }
.ae-search-result-price .woocommerce-Price-amount { color: var(--ae-pink); }

.ae-search-result-cart {
  flex-shrink: 0;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 5px;
  padding: 7px 12px;
  background: var(--ae-green);
  color: #fff;
  border: none;
  border-radius: 24px;
  font-size: 12px;
  font-weight: 700;
  font-family: var(--ae-font);
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--ae-transition), box-shadow var(--ae-transition);
}
.ae-search-result-cart:hover { background: var(--ae-green-dark); box-shadow: 0 4px 12px rgba(46,139,87,0.35); color: #fff; }
.ae-search-result-cart.added { background: var(--ae-green-dark); }
.ae-search-result-cart svg { flex-shrink: 0; }

.ae-search-loading,
.ae-search-no-results {
  padding: 16px;
  text-align: center;
  color: var(--ae-text-muted);
  font-size: 0.9rem;
}
.ae-search-results-footer {
  padding: 8px 12px;
  background: var(--ae-bg);
  border-top: 1px solid var(--ae-border);
  text-align: center;
}
.ae-search-all-link {
  font-size: 0.83rem;
  color: var(--ae-pink);
  font-weight: 600;
}
.ae-search-all-link:hover { text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   Scale-UP  (min-width): 1440 · 1600
   Scale-DOWN (max-width): 1280 · 1100 · 900 · 768 · 480 · 360
═══════════════════════════════════════════════════════════════════════════ */

/* ─── Large desktop 1440–1599px ──────────────────────────────────────────── */
@media (min-width: 1440px) {
  :root { --container: 1400px; }
  .container { padding-right: 32px; padding-left: 32px; }
  .ae-section-heading { font-size: 1.75rem; }
  .ae-products-section { padding: 16px 0; }
  a.ae-card-name { font-size: 15px; }
  .ae-price-current { font-size: 18px; }
  .ae-btn-cart { padding: 10px 14px; font-size: 0.82rem; }
  .ae-features-section { padding: 44px 0; }
  .ae-feature img { width: 72px; height: 72px; }
  .ae-feature span { font-size: 0.88rem; }
  .ae-newsletter-form-wrap { padding: 52px 72px; }
  .ae-newsletter-form-wrap h2 { font-size: 1.875rem; }
  .ae-nav-list > li > a { font-size: calc(1rem + 2px); padding: 13px 18px; }
  .ae-nav-list > li > a::after { right: 18px; left: 18px; }
  .ae-mega-cat-list li a { font-size: 0.9rem; }
  .ae-mega-cat-heading { font-size: 1.1rem; }
  .ae-mega-product-name { font-size: 0.82rem; }
  .ae-mega-product-img-link img { height: 145px; }
  .ae-mega-products { max-width: 400px; }
  .ae-header-inner { padding: 0 28px; gap: 20px; }
  .ae-search-input { font-size: 0.95rem; padding: 11px 18px; }
}

/* ─── XL desktop 1600px+ ─────────────────────────────────────────────────── */
@media (min-width: 1600px) {
  :root { --container: 1540px; }
  .ae-section-heading { font-size: 2rem; }
  a.ae-card-name { font-size: 17px; }
  .ae-price-current { font-size: 22px; }
  .ae-products-section { padding: 10px 0;  }
  .ae-features-section { padding: 52px 0; }
  .ae-feature img { width: 80px; height: 80px; }
  .ae-newsletter-form-wrap h2 { font-size: 2rem; }
  /* Nav & mega: full "large" scale */
  .ae-nav-list > li > a { font-size: calc(1.125rem + 2px); padding: 14px 20px; font-weight: 700; }
  .ae-nav-list > li > a::after { right: 20px; left: 20px; }
  .ae-mega-cat-list li a { font-size: large; }
  .ae-mega-cat-heading { font-size: 1.25rem; }
  .ae-mega-product-name { font-size: 0.9rem; }
  .ae-mega-product-img-link img { height: 160px; }
  .ae-mega-products { max-width: 460px; width: 32%; }
  .ae-mega-inner { padding: 28px 24px 32px; }
  .ae-mega-cat-list { gap: 4px 18px; }
  .ae-price-current { font-size: 19px; }
}

/* ─── Standard desktop cap ≤1280px ──────────────────────────────────────── */
@media (max-width: 1280px) {
  .container { padding-right: 2px; padding-left: 2px; }
}

/* ─── Laptop ≤1100px ─────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .ae-features-row { grid-template-columns: repeat(3, 1fr); }
  .ae-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; }
  .ae-mega-cat-list { grid-template-columns: repeat(3, 1fr); }
  .ae-mega-products { width: 30%; max-width: 280px; }
  .ae-mega-product-img-link img { height: 110px; }
  .ae-nav-list > li > a { font-size: calc(0.85rem + 2px); padding: 11px 10px; }
  .ae-nav-list > li > a::after { right: 10px; left: 10px; }
}

/* ─── Tablet landscape ≤900px ────────────────────────────────────────────── */
@media (max-width: 900px) {
  .ae-cat-grid-inner { grid-template-columns: repeat(2, 1fr); }
  .ae-magazine-grid { grid-template-columns: repeat(2, 1fr); }
  .ae-newsletter-inner { grid-template-columns: 1fr; }
  .ae-newsletter-img-wrap { display: none; }
  .ae-section-heading { font-size: 1.3rem; }
  .ae-products-section { padding: 12px 0; }
}

/* ─── Article mobile ────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .ae-article-hero-img { height: 260px; }
  .ae-article-outer { padding: 28px 0 52px; }
  .ae-article-inner { padding: 0 16px; }
  .ae-article-title { font-size: 1.55rem; padding-right: 12px; }
  .ae-article-meta { gap: 6px 16px; }
  .ae-author-box { flex-direction: column; gap: 14px; }
}

/* ─── Tablet portrait ≤768px ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .ae-header-tools { display: none; }
  .ae-header-inner { flex-wrap: wrap; flex-direction: row; justify-content: space-between; padding: 0 10px 10px 10px; }
  .ae-logo-link { order: 1; }
  .ae-header-left { order: 2; }
  .ae-hamburger { display: flex; }
  .ae-mobile-phone-icon { display: flex; }
  .ae-header-search { order: 3; flex-basis: 100%; }
  .ae-nav { display: none; }
  .ae-cat-grid-inner { grid-template-columns: 1fr; }
  .ae-features-row { grid-template-columns: repeat(2, 1fr); }
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .ae-footer-grid { grid-template-columns: 1fr; }
  .ae-footer-top { padding: 32px 16px 24px; }
  .ae-footer-bottom { padding: 12px 16px; }
  .ae-footer-bottom-inner { flex-direction: column; gap: 10px; }
  .ae-products-carousel-wrap { padding: 0 16px; }
  .ae-carousel-prev, .ae-carousel-next { display: none; }
  .ae-newsletter-form-wrap { padding: 28px 24px; }
  .ae-section-heading { font-size: 1.2rem; }
  .ae-brand-logo { max-width: 80px; height: 44px; }
}

/* ─── Mobile landscape ≤480px ────────────────────────────────────────────── */
@media (max-width: 480px) {
  .ae-cat-grid-inner { grid-template-columns: 1fr; gap: 3px; }
  .ae-magazine-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .ae-features-row { grid-template-columns: repeat(2, 1fr); }
  .ae-newsletter-form-wrap { padding: 24px 20px; }
  .ae-section-heading { font-size: 1.1rem; }
  .ae-products-carousel-wrap { padding: 0 16px; }
  .ae-price-current { font-size: 16px; }
  .ae-brand-logo { max-width: 70px; height: 38px; }
}

/* ─── Mobile portrait ≤360px ─────────────────────────────────────────────── */
@media (max-width: 360px) {
  html { font-size: 15px; }
  .ae-header-inner { padding: 10px 12px; }
  .ae-cat-grid-inner { gap: 2px; }
  .ae-btn-cart { padding: 8px 12px; font-size: 0.72rem; }
  .ae-brand-logo { max-width: 60px; height: 32px; }
  .ae-section-heading { font-size: 1rem; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Archive / taxonomy product grid (WC loop override)
   ═══════════════════════════════════════════════════════════════════════════ */
ul.ae-products-grid {
  display: grid;
  grid-template-columns: repeat(var(--ae-subcat-cols, 4), 1fr);
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}
ul.ae-products-grid > li { display: contents; }

@media (max-width: 1024px) { ul.ae-products-grid { --ae-subcat-cols: 3; } }
@media (max-width: 768px)  { ul.ae-products-grid { --ae-subcat-cols: 2; } }
@media (max-width: 480px)  { ul.ae-products-grid { --ae-subcat-cols: 2; gap: 8px; } }


/* Newsletter subscription feedback messages */
.ae-newsletter-msg {
  font-size: .9rem;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 6px;
  margin-bottom: 10px;
}
.ae-newsletter-msg--ok  { background: #d4edda; color: #155724; }
.ae-newsletter-msg--err { background: #f8d7da; color: #721c24; }

/* ═══════════════════════════════════════════════════════════════════════════
   CUSTOMER REVIEWS SECTION
═══════════════════════════════════════════════════════════════════════════ */
.ae-reviews-section {
  padding: 64px 0 72px;
  background: #fdf8f4;
  position: relative;
  overflow: hidden;
}
.ae-reviews-section::after {
  content: '★';
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 380px;
  line-height: 1;
  color: rgba(232,25,125,0.035);
  pointer-events: none;
}

/* Header */
.ae-reviews-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 40px;
  gap: 16px;
}
.ae-reviews-title {
  font-size: 2rem;
  font-weight: 900;
  color: var(--ae-dark);
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 0 0 6px;
}
.ae-reviews-sub {
  font-size: 0.92rem;
  color: var(--ae-text-muted);
  margin: 0;
}
.ae-reviews-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 10px 18px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  flex-shrink: 0;
}
.ae-reviews-badge-stars { color: #F59E0B; font-size: 1.05rem; letter-spacing: 2px; }
.ae-reviews-badge-text  { font-size: 0.75rem; color: var(--ae-text-muted); font-weight: 600; white-space: nowrap; }

/* Carousel wrap */
.ae-reviews-wrap {
  position: relative;
}
.ae-reviews-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid #e8e8e8;
  box-shadow: 0 3px 12px rgba(0,0,0,0.1);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; line-height: 1;
  color: var(--ae-dark);
  cursor: pointer;
  transition: background var(--ae-transition), color var(--ae-transition), border-color var(--ae-transition), transform var(--ae-transition);
}
.ae-reviews-arrow:hover {
  background: var(--ae-pink);
  color: #fff;
  border-color: var(--ae-pink);
  transform: translateY(-50%) scale(1.08);
}
.ae-reviews-prev { right: -20px; }
.ae-reviews-next { left:  -20px; }

/* Card */
.ae-review-card {
  background: #fff;
  border-radius: 18px;
  padding: 30px 26px 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07);
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ae-review-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to left, var(--ae-pink) 0%, #ff85c1 60%, var(--ae-green) 100%);
}
.ae-review-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.11);
}
.ae-review-watermark {
  position: absolute;
  top: 4px;
  left: 20px;
  font-size: 110px;
  line-height: 1;
  font-family: Georgia, serif;
  color: var(--ae-pink);
  opacity: 0.08;
  pointer-events: none;
  user-select: none;
}
.ae-review-stars {
  color: #F59E0B;
  font-size: 0.95rem;
  letter-spacing: 3px;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}
.ae-review-text {
  flex: 1;
  font-size: 0.9rem;
  line-height: 1.78;
  color: #4a4a4a;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 22px;
}
.ae-review-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: 1px solid #f2f2f2;
  padding-top: 18px;
  margin-top: auto;
}
.ae-review-avatar-wrap { flex-shrink: 0; }
.ae-review-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2.5px solid var(--ae-pink);
  display: block;
}
.ae-review-avatar-fallback {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ae-pink), #ff85c1);
  color: #fff;
  font-weight: 800;
  font-size: 1.1rem;
  display: none;
  align-items: center;
  justify-content: center;
}
.ae-review-meta { flex: 1; min-width: 0; }
.ae-review-name { display: block; font-weight: 700; font-size: 0.88rem; color: var(--ae-dark); }
.ae-review-date { display: block; font-size: 0.74rem; color: var(--ae-text-muted); margin-top: 2px; }
.ae-review-source {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}
.ae-review-source--easy   { color: var(--ae-pink); }
.ae-review-source--google { color: #4285F4; }

/* Mobile adjustments */
@media (max-width: 768px) {
  .ae-reviews-section { padding: 44px 0 52px; }
  .ae-reviews-head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .ae-reviews-title { font-size: 1.5rem; }
  .ae-reviews-badge { align-items: flex-start; }
  .ae-reviews-arrow { display: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   CATEGORY FILTER – Sidebar (leaf pages) & Bar (parent pages)
═══════════════════════════════════════════════════════════════════════════ */

/* Wrapper layout when filter sidebar is present */
.ae-with-filter { align-items: flex-start; }
.ae-with-filter .ae-main-content ul.ae-products-grid { --ae-subcat-cols: 4; }

/* ── Filter Sidebar container ─────────────────────────────────────────────── */
.ae-filter-sidebar {
  width: 256px;
  flex-shrink: 0;
  position: sticky;
  top: 86px;
  align-self: flex-start;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--ae-border) transparent;
}
.ae-filter-sidebar::-webkit-scrollbar { width: 4px; }
.ae-filter-sidebar::-webkit-scrollbar-thumb { background: var(--ae-border); border-radius: 2px; }

/* ── Filter Panel card ────────────────────────────────────────────────────── */
.ae-filter-panel {
  background: #fff;
  border: 1px solid var(--ae-border);
  border-radius: 14px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.06);
  overflow: hidden;
}

/* Panel head */
.ae-fp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 12px;
  border-bottom: 1px solid var(--ae-border);
  background: linear-gradient(135deg, rgba(232,25,125,0.03) 0%, transparent 70%);
}
.ae-fp-title {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--ae-dark);
}
.ae-fp-close {
  display: none; /* shown on mobile only */
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #f3f4f6;
  border: none;
  cursor: pointer;
  color: var(--ae-dark);
  transition: background 0.2s;
}
.ae-fp-close:hover { background: #e5e7eb; }

/* Active filter chips */
.ae-fp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--ae-border);
  background: #fdf7fb;
}
.ae-fp-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  background: rgba(232,25,125,0.08);
  border: 1px solid rgba(232,25,125,0.22);
  border-radius: 20px;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--ae-pink);
  text-decoration: none;
  transition: background 0.2s;
  white-space: nowrap;
}
.ae-fp-chip:hover { background: rgba(232,25,125,0.16); color: var(--ae-pink); }
.ae-fp-chip-clear {
  background: transparent;
  border-color: var(--ae-border);
  color: var(--ae-text-muted);
}
.ae-fp-chip-clear:hover { border-color: var(--ae-pink); color: var(--ae-pink); }

/* Filter groups */
.ae-fp-form { padding: 0; }
.ae-fp-group { border-bottom: 1px solid var(--ae-border); padding: 12px 16px; }

.ae-fp-group-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  font-size: 0.83rem;
  font-weight: 700;
  color: var(--ae-dark);
  padding: 0 0 10px;
  margin: 0;
  text-align: right;
}
.ae-fp-group-hd--static { cursor: default; }
.ae-fp-chevron { transition: transform 0.22s; flex-shrink: 0; }
.ae-fp-group-hd[aria-expanded="false"] .ae-fp-chevron { transform: rotate(-90deg); }
.ae-fp-group-body { }
.ae-fp-group-body--collapsed { display: none; }

/* ── Price Range Slider ───────────────────────────────────────────────────── */
.ae-price-range {
  position: relative;
  height: 32px;
  margin: 4px 4px 2px;
  direction: ltr; /* sliders always LTR */
}
.ae-price-track {
  position: absolute;
  left: 0; right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 5px;
  background: #e5e7eb;
  border-radius: 3px;
  pointer-events: none;
}
.ae-price-fill {
  position: absolute;
  height: 100%;
  background: var(--ae-pink);
  border-radius: 3px;
}
.ae-range {
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: transparent;
  pointer-events: none;
  outline: none;
  margin: 0;
}
.ae-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  pointer-events: all;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: #fff;
  border: 2.5px solid var(--ae-pink);
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
  transition: box-shadow 0.2s, transform 0.1s;
}
.ae-range::-webkit-slider-thumb:hover,
.ae-range:focus::-webkit-slider-thumb { box-shadow: 0 0 0 7px rgba(232,25,125,0.12); transform: scale(1.1); }
.ae-range::-moz-range-thumb {
  pointer-events: all;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: #fff;
  border: 2.5px solid var(--ae-pink);
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
}
.ae-price-outputs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ae-dark);
  margin-top: 8px;
  direction: rtl;
}
.ae-price-dash { color: var(--ae-text-muted); font-weight: 400; }

/* ── Toggle Switch (direction-neutral) ───────────────────────────────────── */
.ae-switch-row {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}
.ae-switch-wrap { position: relative; flex-shrink: 0; }
.ae-switch-wrap input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0; height: 0;
  pointer-events: none;
}
.ae-switch-track {
  display: block;
  width: 40px; height: 22px;
  background: #d1d5db;
  border-radius: 11px;
  direction: ltr; /* keep LTR so thumb positioning is predictable */
  position: relative;
  transition: background 0.25s;
}
.ae-switch-wrap input:checked ~ .ae-switch-track { background: var(--ae-pink); }
.ae-switch-thumb {
  position: absolute;
  top: 2px; left: 2px;
  width: 18px; height: 18px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  transition: transform 0.25s;
}
.ae-switch-wrap input:checked ~ .ae-switch-track .ae-switch-thumb { transform: translateX(18px); }
.ae-switch-text {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--ae-dark);
}

/* ── Filter Select ────────────────────────────────────────────────────────── */
.ae-filter-select {
  width: 100%;
  padding: 8px 12px 8px 32px;
  border: 1.5px solid var(--ae-border);
  border-radius: 8px;
  background: #fafafa url('data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2212%22 height%3D%2212%22 viewBox%3D%220 0 12 12%22%3E%3Cpath d%3D%22M2 4l4 4 4-4%22 stroke%3D%22%23e8197d%22 stroke-width%3D%221.5%22 fill%3D%22none%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E') no-repeat left 10px center;
  font-size: 0.86rem;
  font-family: var(--ae-font);
  color: var(--ae-dark);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.ae-filter-select:focus {
  outline: none;
  border-color: var(--ae-pink);
  box-shadow: 0 0 0 3px rgba(232,25,125,0.1);
}

/* ── Panel footer: Apply + Reset ─────────────────────────────────────────── */
.ae-fp-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
}
.ae-fp-apply {
  flex: 1;
  padding: 10px;
  background: var(--ae-pink);
  color: #fff;
  border: none;
  border-radius: 22px;
  font-size: 0.88rem;
  font-weight: 700;
  font-family: var(--ae-font);
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s, transform 0.1s;
  text-align: center;
}
.ae-fp-apply:hover { background: #d41070; box-shadow: 0 4px 14px rgba(232,25,125,0.32); transform: translateY(-1px); }
.ae-fp-apply:active { transform: none; }
.ae-fp-reset {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ae-text-muted);
  text-decoration: none;
  padding: 8px 12px;
  border: 1px solid var(--ae-border);
  border-radius: 18px;
  white-space: nowrap;
  transition: color 0.2s, border-color 0.2s;
}
.ae-fp-reset:hover { color: var(--ae-pink); border-color: rgba(232,25,125,0.3); }

/* ── Mobile overlay & floating button ────────────────────────────────────── */
.ae-filter-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 1099;
  opacity: 0;
  transition: opacity 0.3s;
}
.ae-filter-overlay.ae-filter-open { display: block; opacity: 1; }

.ae-filter-mobile-btn {
  display: none; /* flex on mobile */
  position: fixed;
  bottom: 22px;
  right: 50%;
  transform: translateX(50%);
  z-index: 1000;
  padding: 12px 22px;
  background: var(--ae-dark);
  color: #fff;
  border: none;
  border-radius: 28px;
  font-size: 0.9rem;
  font-weight: 700;
  font-family: var(--ae-font);
  cursor: pointer;
  align-items: center;
  gap: 7px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.28);
  transition: box-shadow 0.2s, transform 0.2s;
}
.ae-filter-mobile-btn:hover { box-shadow: 0 8px 28px rgba(0,0,0,0.35); }
.ae-filter-mobile-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px; height: 20px;
  padding: 0 4px;
  background: var(--ae-pink);
  border-radius: 10px;
  font-size: 0.72rem;
  font-weight: 800;
}

/* ── Compact Filter Bar (parent category pages) ──────────────────────────── */
.ae-fbar-section { padding: 0 24px 4px; }
.ae-fbar-wrap {
  background: #fff;
  border: 1px solid var(--ae-border);
  border-radius: 12px;
  padding: 10px 18px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.05);
  margin-bottom: 4px;
  margin-left: 20px;
  margin-right:20px;
}
.ae-fbar-wrap--active { border-color: rgba(232,25,125,0.25); }

.ae-fbar-form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
}
.ae-fbar-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ae-dark);
  white-space: nowrap;
}
.ae-fbar-field {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.ae-fbar-field-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ae-text-muted);
  white-space: nowrap;
}
.ae-fbar-price-wrap {
  display: flex;
  align-items: center;
  gap: 4px;
  background: #f5f5f5;
  border: 1.5px solid var(--ae-border);
  border-radius: 8px;
  padding: 4px 8px;
  transition: border-color 0.2s;
}
.ae-fbar-price-wrap:focus-within { border-color: var(--ae-pink); }
.ae-fbar-currency { font-size: 0.8rem; color: var(--ae-text-muted); }
.ae-fbar-num {
  width: 52px;
  border: none;
  background: transparent;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ae-dark);
  font-family: var(--ae-font);
  text-align: center;
  padding: 2px 2px;
}
.ae-fbar-num:focus { outline: none; }
.ae-fbar-num::-webkit-inner-spin-button,
.ae-fbar-num::-webkit-outer-spin-button { -webkit-appearance: none; }
.ae-fbar-dash { color: var(--ae-text-muted); font-size: 0.82rem; }
.ae-fbar-stock-field { cursor: pointer; }
.ae-fbar-select { width: auto; padding: 7px 10px 7px 28px; }
.ae-fbar-apply {
  padding: 8px 18px;
  background: var(--ae-pink);
  color: #fff;
  border: none;
  border-radius: 20px;
  font-size: 0.84rem;
  font-weight: 700;
  font-family: var(--ae-font);
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s, box-shadow 0.2s;
}
.ae-fbar-apply:hover { background: #d41070; box-shadow: 0 3px 12px rgba(232,25,125,0.3); }
.ae-fbar-clear {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ae-text-muted);
  text-decoration: none;
  padding: 6px 11px;
  border: 1px solid var(--ae-border);
  border-radius: 18px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color 0.2s, border-color 0.2s;
}
.ae-fbar-clear:hover { color: var(--ae-pink); border-color: rgba(232,25,125,0.3); }
.ae-fbar-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--ae-border);
}
.ae-fbar-chips .ae-fp-chip { cursor: default; }
.ae-fbar-chips .ae-fp-chip a {
  color: inherit;
  text-decoration: none;
  opacity: 0.7;
  font-size: 0.95em;
  margin-right: 2px;
}
.ae-fbar-chips .ae-fp-chip a:hover { opacity: 1; }

/* ── Result-count when sidebar is active ─────────────────────────────────── */
.ae-with-filter .ae-shop-toolbar {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ae-border);
  margin-bottom: 16px;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .ae-filter-sidebar { width: 220px; }
  .ae-with-filter .ae-main-content ul.ae-products-grid { --ae-subcat-cols: 3; }
}

@media (max-width: 900px) {
  .ae-filter-sidebar { width: 200px; }
  .ae-with-filter .ae-main-content ul.ae-products-grid { --ae-subcat-cols: 2; }
}

@media (max-width: 768px) {
  /* Sidebar becomes a slide-in drawer from the left (RTL: left = secondary side) */
  .ae-filter-sidebar {
    position: fixed;
    top: 0; bottom: 0;
    left: 0; /* slides from left */
    right: auto;
    width: min(300px, 88vw);
    max-height: 100vh;
    height: 100vh;
    z-index: 1100;
    border-radius: 0 14px 14px 0;
    transform: translateX(-110%);
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 4px 0 28px rgba(0,0,0,0.15);
  }
  .ae-filter-sidebar.ae-filter-open { transform: translateX(0); }
  .ae-fp-close { display: flex; }

  .ae-with-filter { flex-direction: column; }
  .ae-with-filter .ae-main-content { width: 100%; }
  .ae-with-filter .ae-main-content ul.ae-products-grid { --ae-subcat-cols: 2; }

  .ae-filter-mobile-btn { display: flex; }

  /* Filter bar: full width, no side margins on mobile */
  .ae-fbar-section { padding: 0 0 4px; }
  .ae-fbar-wrap { border-radius: 0; border-left: none; border-right: none; margin-right: 0; }
  .ae-fbar-form { flex-wrap: nowrap; overflow-x: auto; padding: 0 12px 4px; }
  .ae-fbar-form::-webkit-scrollbar { height: 0; }
}

@media (max-width: 480px) {
  .ae-with-filter .ae-main-content ul.ae-products-grid { --ae-subcat-cols: 2; gap: 8px; }
}

/* ── Category filter list (radio buttons) ─────────────────────────────────── */
.ae-cat-filter-list,
.ae-cat-filter-sublist { list-style: none; padding: 0; margin: 0; }
.ae-cat-filter-item { margin: 0; }

/* Shared row style for <label> (radio) and <a> ("all categories") */
.ae-cat-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 6px;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s;
}
.ae-cat-filter-label:hover { background: rgba(232,25,125,0.06); }

/* Hide native radio */
.ae-cat-filter-input { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }

/* Custom radio circle */
.ae-cat-filter-check {
  flex-shrink: 0;
  width: 16px; height: 16px;
  border-radius: 50%;
  border: 1.5px solid #d1d5db;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.ae-cat-filter-input:checked + .ae-cat-filter-check {
  border-color: var(--ae-pink);
  background: var(--ae-pink);
  box-shadow: inset 0 0 0 3px #fff;
}

.ae-cat-filter-name {
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--ae-text);
  transition: color 0.15s;
}
.ae-cat-filter-input:checked ~ .ae-cat-filter-name { color: var(--ae-pink); font-weight: 700; }

/* "All categories" — first radio, slightly muted when inactive */
.ae-cat-filter-list > li:first-child .ae-cat-filter-name { color: var(--ae-text-muted); font-size: 0.8rem; }
.ae-cat-filter-list > li:first-child .ae-cat-filter-input:checked ~ .ae-cat-filter-name { color: var(--ae-dark); font-weight: 600; }

/* Subcategory list */
.ae-cat-filter-sublist { padding-right: 14px; margin: 2px 0 6px; border-right: 2px solid rgba(232,25,125,0.2); }
.ae-cat-filter-sublist .ae-cat-filter-label { padding: 3px 6px; }
.ae-cat-filter-sublist .ae-cat-filter-name { font-size: 0.8rem; color: var(--ae-text-muted); }
.ae-cat-filter-sublist .ae-cat-filter-input:checked ~ .ae-cat-filter-name { color: var(--ae-pink); font-weight: 700; }

/* ── Attribute filter list (checkboxes – multi-select per attribute) ─────── */
.ae-attr-filter-list { list-style: none; padding: 0; margin: 0; max-height: 220px; overflow-y: auto; }
.ae-attr-filter-list::-webkit-scrollbar { width: 6px; }
.ae-attr-filter-list::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; }
.ae-attr-filter-list::-webkit-scrollbar-thumb:hover { background: var(--ae-pink); }
.ae-attr-filter-item { margin: 0; }
.ae-attr-filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 6px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.ae-attr-filter-label:hover { background: rgba(232,25,125,0.06); }
.ae-attr-filter-input { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.ae-attr-filter-check {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px; height: 16px;
  border-radius: 4px;
  border: 1.5px solid #d1d5db;
  color: #fff;
  background: #fff;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.ae-attr-filter-check svg { opacity: 0; transition: opacity 0.12s; }
.ae-attr-filter-input:checked + .ae-attr-filter-check {
  border-color: var(--ae-pink);
  background: var(--ae-pink);
  box-shadow: 0 0 0 2px rgba(232,25,125,0.18);
}
.ae-attr-filter-input:checked + .ae-attr-filter-check svg { opacity: 1; }
.ae-attr-filter-input:focus-visible + .ae-attr-filter-check { outline: 2px solid var(--ae-pink); outline-offset: 2px; }
.ae-attr-filter-name {
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--ae-text);
  transition: color 0.15s;
}
.ae-attr-filter-input:checked ~ .ae-attr-filter-name { color: var(--ae-pink); font-weight: 700; }

/* No-products inside filter context */
.ae-no-products-li { list-style: none; grid-column: 1 / -1; }
.ae-no-products {
  padding: 40px 0;
  text-align: center;
  color: var(--ae-text-muted);
  font-size: 0.95rem;
}




 / *   - - -   P r o d u c t   P a g e   S p e c i f i c   L a y o u t   F i x e s   - - -   * / 
 
 / *   1 .   M a i n   s c r e e n   c o n t a i n e r   o n   d e s k t o p   * / 
 . s i n g l e - p r o d u c t   . s i t e - m a i n ,   . s i n g l e - p r o d u c t   . c o n t e n t - a r e a   { 
     m a x - w i d t h :   1 4 0 0 p x ; 
     m a r g i n :   0   a u t o ; 
     p a d d i n g :   0   2 0 p x ; 
 } 
 
 / *   C o n t a i n e r   f o r   s t a n d a r d   w o o c o m m e r c e   p r o d u c t   l a y o u t   * / 
 . s i n g l e - p r o d u c t   . w o o c o m m e r c e   d i v . p r o d u c t   { 
     m a x - w i d t h :   1 4 0 0 p x ; 
     m a r g i n :   0   a u t o ; 
     p a d d i n g :   0   2 0 p x ; 
     d i s p l a y :   f l e x ; 
     f l e x - w r a p :   w r a p ; 
     j u s t i f y - c o n t e n t :   s p a c e - b e t w e e n ; 
     g a p :   4 0 p x ;   / *   5 .   G e n e r o u s   s p a c i n g   b e t w e e n   i m a g e   c o l u m n   a n d   d e t a i l s   c o l u m n   * / 
 } 
 
 / *   2 .   C o n s t r a i n   p r o d u c t   i m a g e   g a l l e r y   w i d t h   * / 
 . s i n g l e - p r o d u c t   . w o o c o m m e r c e   d i v . p r o d u c t   . w o o c o m m e r c e - p r o d u c t - g a l l e r y   { 
     m a x - w i d t h :   6 0 0 p x ; 
     f l e x - b a s i s :   4 5 % ; 
     w i d t h :   1 0 0 % ; 
 } 
 
 . s i n g l e - p r o d u c t   . w o o c o m m e r c e   d i v . p r o d u c t   . s u m m a r y   { 
     f l e x - b a s i s :   4 5 % ; 
     f l e x - g r o w :   1 ; 
 } 
 
 / *   3 .   M a r g i n   b e t w e e n   m a i n   i m a g e   a n d   t h u m b n a i l s   * / 
 . s i n g l e - p r o d u c t   . w o o c o m m e r c e   d i v . p r o d u c t   . w o o c o m m e r c e - p r o d u c t - g a l l e r y   . f l e x - v i e w p o r t   { 
     m a r g i n - b o t t o m :   2 0 p x ; 
 } 
 
 . s i n g l e - p r o d u c t   . w o o c o m m e r c e   d i v . p r o d u c t   . w o o c o m m e r c e - p r o d u c t - g a l l e r y   . f l e x - c o n t r o l - t h u m b s   { 
     m a r g i n - t o p :   1 5 p x ; 
 } 
 
 / *   4 .   P o s i t i o n   f u l l - s i z e   z o o m   i c o n   t o   t o p - l e f t   f o r   R T L   * / 
 . s i n g l e - p r o d u c t   . w o o c o m m e r c e   d i v . p r o d u c t   . w o o c o m m e r c e - p r o d u c t - g a l l e r y   { 
     p o s i t i o n :   r e l a t i v e ; 
 } 
 . s i n g l e - p r o d u c t   . w o o c o m m e r c e   d i v . p r o d u c t   . w o o c o m m e r c e - p r o d u c t - g a l l e r y   . w o o c o m m e r c e - p r o d u c t - g a l l e r y _ _ t r i g g e r   { 
     p o s i t i o n :   a b s o l u t e ; 
     t o p :   1 5 p x ; 
     l e f t :   1 5 p x ;   / *   R T L   t o p - l e f t   c o r n e r   * / 
     r i g h t :   a u t o ; 
     z - i n d e x :   9 9 ; 
 } 
 
 / *   E n s u r e   m o b i l e   l a y o u t   s t i l l   w o r k s   * / 
 @ m e d i a   ( m a x - w i d t h :   7 6 8 p x )   { 
     . s i n g l e - p r o d u c t   . w o o c o m m e r c e   d i v . p r o d u c t   { 
         f l e x - d i r e c t i o n :   c o l u m n ; 
         g a p :   2 0 p x ; 
     } 
     . s i n g l e - p r o d u c t   . w o o c o m m e r c e   d i v . p r o d u c t   . w o o c o m m e r c e - p r o d u c t - g a l l e r y   { 
         m a x - w i d t h :   1 0 0 % ; 
         f l e x - b a s i s :   1 0 0 % ; 
     } 
 } 
 
 
 

.ae-whatsapp-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  width: 56px;
  height: 56px;
  background: #25d366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 1px 6px 24px 0 rgba(7, 94, 84, .30);
  transition: background-color .2s linear, transform .2s ease;
  text-decoration: none;
}
.ae-whatsapp-btn:hover {
  background: #1da851;
  transform: scale(1.08);
}
