/* ============================================================
   LuminaStore — Main Theme Stylesheet
   ============================================================ */

/* ── Custom Properties ─────────────────────────────────────── */
:root {
  --lm-primary:     #111827;
  --lm-secondary:   #4b5563;
  --lm-accent:      #25D366;
  --lm-accent-dark: #1da750;
  --lm-bg:          #f9fafb;
  --lm-surface:     #ffffff;
  --lm-border:      #e5e7eb;
  --lm-text:        #1f2937;
  --lm-text-muted:  #6b7280;
  --lm-radius:      .75rem;
  --lm-radius-sm:   .5rem;
  --lm-shadow:      0 1px 3px 0 rgb(0 0 0/.1), 0 1px 2px -1px rgb(0 0 0/.1);
  --lm-shadow-lg:   0 10px 15px -3px rgb(0 0 0/.1), 0 4px 6px -4px rgb(0 0 0/.1);
  --lm-transition:  .25s ease;
  --lm-font:        'Plus Jakarta Sans', sans-serif;
  --lm-container:   1280px;
  --lm-header-h:    4rem;
}

/* ── Reset / Base ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--lm-font);
  font-size:   1rem;
  line-height: 1.6;
  color:       var(--lm-text);
  background:  var(--lm-bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: var(--lm-primary); text-decoration: none; transition: color var(--lm-transition); }
a:hover { color: var(--lm-secondary); }

img { max-width: 100%; height: auto; display: block; }

button { cursor: pointer; font-family: inherit; }

.sr-only {
  position:absolute; width:1px; height:1px; padding:0;
  margin:-1px; overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

/* ── Layout ─────────────────────────────────────────────────── */
.lumina-container {
  max-width: var(--lm-container);
  margin:    0 auto;
  padding:   0 1.25rem;
}

.lumina-page-wrapper { display:flex; flex-direction:column; min-height:100vh; }

.lumina-main { flex:1; padding: 2rem 0; }

/* ── Store Notice ───────────────────────────────────────────── */
.lumina-store-notice {
  background: var(--lm-primary);
  color: #fff;
  text-align: center;
  padding: .5rem 3rem;
  font-size: .875rem;
  font-weight: 500;
  position: relative;
  z-index: 100;
}

.lumina-notice-close {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #fff;
  opacity: .7;
  padding: .25rem;
  line-height: 1;
  transition: opacity var(--lm-transition);
}

.lumina-notice-close:hover { opacity: 1; }

/* ── Header ─────────────────────────────────────────────────── */
.lumina-header {
  background: var(--lm-surface);
  border-bottom: 1px solid var(--lm-border);
  height: var(--lm-header-h);
  z-index: 90;
  transition: box-shadow var(--lm-transition);
}

.lumina-header.is-sticky { position: sticky; top: 0; }
.lumina-header.scrolled  { box-shadow: var(--lm-shadow-lg); }

.lumina-header-inner {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 1.5rem;
}

/* Logo */
.lumina-site-branding { flex-shrink: 0; }
.lumina-site-branding .custom-logo { height: 44px; width: auto; }
.lumina-site-title {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -.04em;
  color: var(--lm-primary);
}

/* Primary Nav */
.lumina-primary-nav { display: none; }

@media (min-width: 1024px) {
  .lumina-primary-nav { display: block; }

  .lumina-nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: .25rem;
  }

  .lumina-nav-menu li { position: relative; }

  .lumina-nav-menu > li > a {
    display: flex;
    align-items: center;
    padding: .5rem .875rem;
    font-size: .9rem;
    font-weight: 600;
    color: var(--lm-primary);
    border-radius: var(--lm-radius-sm);
    transition: background var(--lm-transition), color var(--lm-transition);
    white-space: nowrap;
  }

  .lumina-nav-menu > li > a:hover,
  .lumina-nav-menu > li.current-menu-item > a {
    background: var(--lm-bg);
    color: var(--lm-primary);
  }

  /* Dropdown */
  .lumina-nav-menu .sub-menu {
    position: absolute;
    top: calc(100% + .5rem);
    left: 0;
    background: var(--lm-surface);
    border: 1px solid var(--lm-border);
    border-radius: var(--lm-radius);
    box-shadow: var(--lm-shadow-lg);
    min-width: 220px;
    list-style: none;
    padding: .5rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all var(--lm-transition);
    z-index: 200;
  }

  .lumina-nav-menu li:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .lumina-nav-menu .sub-menu a {
    display: block;
    padding: .6rem .875rem;
    font-size: .875rem;
    border-radius: var(--lm-radius-sm);
    color: var(--lm-secondary);
  }

  .lumina-nav-menu .sub-menu a:hover { background: var(--lm-bg); color: var(--lm-primary); }
}

/* Header Search */
.lumina-header-search { flex: 1; max-width: 360px; position: relative; }

.lumina-search-form {
  display: flex;
  align-items: center;
  background: var(--lm-bg);
  border: 1.5px solid var(--lm-border);
  border-radius: 2rem;
  overflow: hidden;
  transition: border-color var(--lm-transition), box-shadow var(--lm-transition);
}

.lumina-search-form:focus-within {
  border-color: var(--lm-primary);
  box-shadow: 0 0 0 3px rgb(17 24 39 / .08);
}

.lumina-search-input {
  flex: 1;
  border: none;
  background: transparent;
  padding: .5rem 1rem;
  font-size: .875rem;
  font-family: inherit;
  outline: none;
  color: var(--lm-text);
}

.lumina-search-btn {
  padding: .5rem 1rem;
  background: transparent;
  border: none;
  color: var(--lm-secondary);
  transition: color var(--lm-transition);
}

.lumina-search-btn:hover { color: var(--lm-primary); }

/* Search suggestions */
.lumina-search-suggestions {
  position: absolute;
  top: calc(100% + .5rem);
  left: 0; right: 0;
  background: var(--lm-surface);
  border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius);
  box-shadow: var(--lm-shadow-lg);
  z-index: 300;
  overflow: hidden;
}

.lumina-suggestion-item {
  display: flex; align-items: center; gap: .75rem;
  padding: .75rem 1rem;
  font-size: .875rem;
  cursor: pointer;
  transition: background var(--lm-transition);
}

.lumina-suggestion-item:hover { background: var(--lm-bg); }
.lumina-suggestion-item img { width:40px;height:40px;object-fit:cover;border-radius:.375rem; }

/* Header Actions */
.lumina-header-actions { display:flex; align-items:center; gap:1rem; margin-left:auto; }

.lumina-account-link {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .875rem;
  font-weight: 600;
  color: var(--lm-primary);
  padding: .4rem .75rem;
  border-radius: var(--lm-radius-sm);
  transition: background var(--lm-transition);
}

.lumina-account-link:hover { background: var(--lm-bg); }
.lumina-account-label { display: none; }

@media (min-width:768px) { .lumina-account-label { display:inline; } }

/* Cart button */
.lumina-cart-btn {
  position: relative;
  background: none;
  border: none;
  color: var(--lm-primary);
  font-size: 1.25rem;
  padding: .4rem .5rem;
  border-radius: var(--lm-radius-sm);
  transition: background var(--lm-transition);
  line-height: 1;
}

.lumina-cart-btn:hover { background: var(--lm-bg); }

.lumina-cart-badge {
  position: absolute;
  top: -.25rem;
  right: -.25rem;
  background: var(--lm-primary);
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  height: 1.125rem;
  min-width: 1.125rem;
  padding: 0 .25rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: transform .2s;
}

.lumina-cart-badge.hidden { display: none; }
.lumina-cart-badge.pop { animation: lumina-pop .3s ease; }

@keyframes lumina-pop {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.4); }
  100% { transform: scale(1); }
}

/* Mobile menu btn */
.lumina-mobile-menu-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  padding: .5rem;
  border-radius: var(--lm-radius-sm);
  transition: background var(--lm-transition);
}

@media (min-width:1024px) { .lumina-mobile-menu-btn { display:none; } }

.lumina-mobile-menu-btn:hover { background: var(--lm-bg); }

.hamburger-line {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--lm-primary);
  border-radius: 2px;
  transition: all var(--lm-transition);
}

.lumina-mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.lumina-mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(2) { opacity: 0; }
.lumina-mobile-menu-btn[aria-expanded="true"] .hamburger-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Mini Cart Panel ────────────────────────────────────────── */
.lumina-cart-wrap { position: relative; }

.lumina-mini-cart-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 380px;
  max-width: 95vw;
  height: 100vh;
  background: var(--lm-surface);
  box-shadow: -4px 0 30px rgb(0 0 0/.15);
  z-index: 500;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}

.lumina-mini-cart-panel:not([hidden]) { transform: translateX(0); }
.lumina-mini-cart-panel[hidden] { display: flex !important; transform: translateX(100%); } /* keep in DOM for AJAX */

.lumina-mini-cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--lm-border);
}

.lumina-mini-cart-header h3 { margin: 0; font-size: 1.125rem; font-weight: 700; }

.lumina-mini-cart-close {
  background: none;
  border: none;
  font-size: 1.125rem;
  color: var(--lm-secondary);
  padding: .25rem;
  border-radius: .375rem;
  transition: all var(--lm-transition);
}

.lumina-mini-cart-close:hover { background: var(--lm-bg); color: var(--lm-primary); }

.lumina-mini-cart-contents {
  flex: 1;
  overflow-y: auto;
  padding: 1rem 1.5rem;
}

.lumina-mini-cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: var(--lm-text-muted);
  text-align: center;
  gap: .75rem;
}

.lumina-mini-cart-empty i { font-size: 2.5rem; opacity: .3; }

.lumina-mini-cart-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.75rem; }

.lumina-mini-cart-item {
  display: flex;
  align-items: flex-start;
  gap: .875rem;
  padding: .875rem;
  background: var(--lm-bg);
  border-radius: var(--lm-radius-sm);
  position: relative;
}

.lumina-mini-thumb img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: .375rem;
  flex-shrink: 0;
}

.lumina-mini-item-info { flex:1; min-width:0; }

.lumina-mini-item-name {
  font-size: .875rem;
  font-weight: 600;
  color: var(--lm-primary);
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lumina-mini-item-qty-price { font-size: .8rem; color: var(--lm-text-muted); display:block; margin-top:.2rem; }

.lumina-mini-remove-btn {
  position: absolute;
  top: .5rem; right: .5rem;
  background: none; border: none;
  color: var(--lm-text-muted);
  font-size: .75rem;
  padding: .2rem;
  border-radius: .25rem;
  transition: all var(--lm-transition);
  line-height: 1;
}

.lumina-mini-remove-btn:hover { background: #fee2e2; color: #dc2626; }

.lumina-mini-cart-footer {
  padding: 1rem 1.5rem 1.5rem;
  border-top: 1px solid var(--lm-border);
}

.lumina-mini-cart-subtotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  font-size: .9375rem;
}

.lumina-mini-cart-subtotal strong { font-size: 1.125rem; }

.lumina-mini-cart-btns { display: flex; gap: .5rem; }
.lumina-mini-cart-btns .lumina-btn { flex:1; justify-content:center; text-align:center; }

.lumina-mini-wa {
  width:100%;
  margin-top:.75rem;
  justify-content:center;
}

/* ── Overlay ────────────────────────────────────────────────── */
.lumina-overlay {
  position: fixed;
  inset: 0;
  background: rgb(0 0 0/.5);
  z-index: 400;
  backdrop-filter: blur(2px);
  transition: opacity var(--lm-transition);
}

.lumina-overlay[hidden] { display:none; }

/* ── Mobile Nav ─────────────────────────────────────────────── */
.lumina-mobile-nav {
  position: fixed;
  top: 0; left: 0;
  width: 300px;
  height: 100vh;
  background: var(--lm-surface);
  z-index: 500;
  transform: translateX(-100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  overflow-y: auto;
}

.lumina-mobile-nav:not([hidden]) { transform: translateX(0); }
.lumina-mobile-nav[hidden] { display:flex !important; transform:translateX(-100%); }

.lumina-mobile-nav-inner { display:flex; flex-direction:column; height:100%; padding:1.25rem; }

.lumina-mobile-nav-close {
  align-self: flex-end;
  background: none; border: none;
  font-size: 1.25rem;
  color: var(--lm-secondary);
  padding: .25rem;
  margin-bottom: 1.25rem;
}

.lumina-mobile-search {
  display: flex;
  border: 1.5px solid var(--lm-border);
  border-radius: 2rem;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.lumina-mobile-search input {
  flex:1; border:none; padding:.5rem 1rem;
  font-size:.875rem; font-family:inherit; outline:none;
}

.lumina-mobile-search button {
  padding:.5rem 1rem; background:none; border:none;
  color:var(--lm-secondary);
}

.lumina-mobile-menu { list-style:none; margin:0; padding:0; }

.lumina-mobile-menu a {
  display:block; padding:.75rem .875rem;
  font-size:.9375rem; font-weight:600;
  color:var(--lm-primary);
  border-radius:var(--lm-radius-sm);
  transition:background var(--lm-transition);
}

.lumina-mobile-menu a:hover { background:var(--lm-bg); }

.lumina-mobile-menu .sub-menu { list-style:none; padding-left:1rem; }
.lumina-mobile-menu .sub-menu a { font-weight:400; font-size:.875rem; color:var(--lm-secondary); }

.lumina-mobile-nav-footer {
  margin-top:auto; padding-top:1.5rem;
  border-top:1px solid var(--lm-border);
  display:flex; flex-direction:column; gap:.5rem;
}

.lumina-mobile-account-link, .lumina-mobile-logout-link {
  display:flex; align-items:center; gap:.5rem;
  padding:.625rem .875rem; font-size:.9rem; font-weight:600;
  color:var(--lm-primary);
  border-radius:var(--lm-radius-sm);
  transition:background var(--lm-transition);
}

.lumina-mobile-account-link:hover { background:var(--lm-bg); }
.lumina-mobile-logout-link { color:#dc2626; }
.lumina-mobile-logout-link:hover { background:#fff1f2; }

/* ── Buttons ────────────────────────────────────────────────── */
.lumina-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .625rem 1.5rem;
  border-radius: var(--lm-radius-sm);
  font-size: .875rem;
  font-weight: 700;
  font-family: inherit;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--lm-transition);
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.4;
}

.lumina-btn--primary {
  background: var(--lm-primary);
  color: #fff;
  border-color: var(--lm-primary);
}

.lumina-btn--primary:hover {
  background: #374151;
  border-color: #374151;
  color: #fff;
}

.lumina-btn--outline {
  background: #fff;
  color: var(--lm-primary);
  border-color: var(--lm-border);
}

.lumina-btn--outline:hover {
  border-color: var(--lm-primary);
  background: var(--lm-bg);
  color: var(--lm-primary);
}

.lumina-btn--disabled {
  background: var(--lm-border);
  color: var(--lm-text-muted);
  cursor: not-allowed;
  border-color: var(--lm-border);
}

/* WhatsApp button */
.lumina-wa-btn {
  background: #f0fdf4;
  color: #15803d;
  border: 2px solid var(--lm-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .625rem 1.5rem;
  border-radius: var(--lm-radius-sm);
  font-size: .875rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: all var(--lm-transition);
  white-space: nowrap;
  width: 100%;
  margin-top: .5rem;
}

.lumina-wa-btn:hover {
  background: var(--lm-accent);
  color: #fff;
}

.lumina-wa-btn .fab { font-size: 1.1rem; }

/* Add to Cart state animations */
.lumina-atc-btn.loading { opacity:.7; pointer-events:none; }
.lumina-atc-btn.added   { background:var(--lm-primary); color:#fff; border-color:var(--lm-primary); }

/* ── Shop Page ──────────────────────────────────────────────── */
.lumina-shop-hero {
  background: var(--lm-surface);
  border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius);
  padding: 1.5rem 2rem;
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.lumina-shop-hero h1, .lumina-shop-hero .woocommerce-products-header__title {
  font-size: 1.75rem;
  font-weight: 800;
  margin: 0 0 .25rem;
}

.lumina-shop-hero-info { text-align:right; font-size:.875rem; color:var(--lm-text-muted); }
.lumina-shop-hero-info p { margin:.2rem 0; }

/* Shop Toolbar */
.lumina-shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--lm-border);
  flex-wrap: wrap;
  gap: .75rem;
}

.woocommerce-result-count { font-size:.875rem; color:var(--lm-text-muted); margin:0; }

.lumina-toolbar-right { display:flex; align-items:center; gap:.75rem; }

.woocommerce-ordering select {
  border: 1.5px solid var(--lm-border);
  border-radius: var(--lm-radius-sm);
  padding: .4rem .75rem;
  font-size: .875rem;
  font-family: inherit;
  background: var(--lm-surface);
  color: var(--lm-text);
  cursor: pointer;
  outline: none;
}

.lumina-view-switcher { display:flex; gap:.25rem; }

.lumina-view-btn {
  background: none; border: 1.5px solid var(--lm-border);
  padding: .35rem .5rem; border-radius: .375rem;
  color: var(--lm-text-muted); transition: all var(--lm-transition);
}

.lumina-view-btn.active, .lumina-view-btn:hover {
  background: var(--lm-primary); color:#fff; border-color: var(--lm-primary);
}

/* Shop layout */
.lumina-shop-layout { display:flex; gap:2rem; align-items:flex-start; }

.lumina-shop-sidebar { width:240px; flex-shrink:0; }
.lumina-shop-main { flex:1; min-width:0; }

/* ── Product Grid ───────────────────────────────────────────── */
.lumina-products-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem;
  list-style: none;
  margin: 0; padding: 0;
}

@media (min-width:640px)  { .lumina-products-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width:1024px) { .lumina-products-grid.columns-3 { grid-template-columns: repeat(3,1fr); } }
@media (min-width:1024px) { .lumina-products-grid.columns-4 { grid-template-columns: repeat(4,1fr); } }

/* List view */
.lumina-products-grid.list-view {
  grid-template-columns: 1fr !important;
}

.lumina-products-grid.list-view .lumina-product-card {
  flex-direction: row;
  max-height: 180px;
}

.lumina-products-grid.list-view .lumina-product-thumb-wrap { width: 180px; flex-shrink:0; }
.lumina-products-grid.list-view .lumina-product-thumb-wrap a img { height:180px; }

/* ── Product Card ───────────────────────────────────────────── */
.lumina-product-card {
  background: var(--lm-surface);
  border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--lm-transition), transform var(--lm-transition);
}

.lumina-product-card:hover {
  box-shadow: var(--lm-shadow-lg);
  transform: translateY(-2px);
}

/* Thumb */
.lumina-product-thumb-wrap {
  position: relative;
  overflow: hidden;
  background: #f3f4f6;
  aspect-ratio: 1 / 1;
}

.lumina-product-thumb-wrap a img,
.lumina-product-thumb-wrap .woocommerce-placeholder { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; display:block; }

.lumina-product-card:hover .lumina-product-thumb-wrap img { transform: scale(1.05); }

/* Badges */
.lumina-product-badges { position:absolute; top:.625rem; left:.625rem; display:flex; flex-direction:column; gap:.3rem; }

.lumina-sale-badge {
  background: #ef4444; color:#fff;
  font-size:.7rem; font-weight:700;
  padding:.2rem .5rem; border-radius:2rem;
  letter-spacing:.03em;
}

.lumina-outofstock-badge {
  background: var(--lm-text-muted); color:#fff;
  font-size:.7rem; font-weight:700;
  padding:.2rem .5rem; border-radius:2rem;
}

.lumina-product-cat-badge {
  background: rgb(255 255 255/.85);
  color: var(--lm-primary);
  font-size:.65rem; font-weight:700;
  padding:.2rem .5rem; border-radius:2rem;
  letter-spacing:.05em; text-transform:uppercase;
}

/* Hover actions */
.lumina-product-hover-actions {
  position:absolute; top:.625rem; right:.625rem;
  display:flex; flex-direction:column; gap:.3rem;
  opacity:0; transform:translateX(6px);
  transition: all var(--lm-transition);
}

.lumina-product-card:hover .lumina-product-hover-actions { opacity:1; transform:translateX(0); }

.lumina-hover-action {
  width:32px; height:32px;
  background:var(--lm-surface);
  border:1px solid var(--lm-border);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--lm-primary); font-size:.8rem;
  transition: all var(--lm-transition); box-shadow:var(--lm-shadow);
}

.lumina-hover-action:hover { background:var(--lm-primary); color:#fff; }

/* Card body */
.lumina-product-body {
  padding: 1.125rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.lumina-product-title {
  font-size: .9375rem;
  font-weight: 700;
  margin: 0 0 .4rem;
  line-height: 1.35;
}

.lumina-product-title a { color:var(--lm-primary); }
.lumina-product-title a:hover { color:var(--lm-secondary); }

.lumina-product-rating { margin-bottom:.375rem; }
.lumina-product-rating .star-rating { font-size:.75rem; }

.lumina-product-price {
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--lm-primary);
  margin-bottom: 1rem;
  margin-top: auto;
}

.lumina-product-price del { color:var(--lm-text-muted); font-weight:400; font-size:.875rem; }
.lumina-product-price ins { text-decoration:none; }

.lumina-product-actions { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }

/* ── Single Product ─────────────────────────────────────────── */
.lumina-single-product-panel {
  background: var(--lm-surface);
  border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius);
  padding: 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-bottom: 2rem;
}

@media (max-width:768px) {
  .lumina-single-product-panel { grid-template-columns:1fr; gap:1.5rem; padding:1.25rem; }
}

.lumina-single-gallery { position:relative; }

/* Summary */
.lumina-single-summary {}

.lumina-single-summary .product_title {
  font-size: 2rem;
  font-weight: 800;
  margin: 0 0 .75rem;
  line-height: 1.2;
  letter-spacing: -.03em;
}

.lumina-single-summary .woocommerce-product-rating { margin-bottom:1rem; }
.lumina-single-summary .star-rating { margin-right:.5rem; }

.lumina-single-summary .price {
  font-size: 1.875rem;
  font-weight: 800;
  color: var(--lm-primary);
  display:block;
  margin-bottom:1.25rem;
}

.lumina-single-summary .price del { color:var(--lm-text-muted); font-size:1.25rem; font-weight:400; }
.lumina-single-summary .price ins { text-decoration:none; }

.lumina-single-summary .woocommerce-product-details__short-description {
  color: var(--lm-secondary);
  margin-bottom:1.5rem;
  line-height:1.7;
}

/* Stock status */
.lumina-single-summary .stock {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.875rem; font-weight:600;
  padding:.3rem .875rem; border-radius:.375rem;
  margin-bottom:1.25rem;
}

.in-stock  { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.out-of-stock { background:#fef2f2; color:#b91c1c; border:1px solid #fecaca; }

/* Add to cart form */
.lumina-single-summary .cart {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin-bottom: 1rem;
}

.lumina-single-summary .cart .qty-and-atc {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}

.lumina-single-summary .quantity {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--lm-border);
  border-radius: var(--lm-radius-sm);
  overflow: hidden;
  background: var(--lm-surface);
}

.lumina-single-summary .quantity input[type="number"] {
  width: 3rem;
  text-align: center;
  border: none;
  padding: .625rem .25rem;
  font-size: 1rem;
  font-weight: 600;
  font-family: inherit;
  outline: none;
  background: transparent;
  -moz-appearance: textfield;
}

.lumina-single-summary .quantity input[type="number"]::-webkit-inner-spin-button,
.lumina-single-summary .quantity input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; }

.lumina-qty-minus, .lumina-qty-plus {
  background: none; border: none;
  padding: .625rem .875rem;
  color: var(--lm-secondary);
  font-size: .875rem;
  transition: all var(--lm-transition);
}

.lumina-qty-minus:hover, .lumina-qty-plus:hover { background:var(--lm-bg); color:var(--lm-primary); }

/* single_add_to_cart_button (WC default button) */
.lumina-single-summary .single_add_to_cart_button {
  flex: 1;
  background: #fff;
  border: 2px solid var(--lm-primary);
  color: var(--lm-primary);
  padding: .75rem 1.5rem;
  border-radius: var(--lm-radius-sm);
  font-size: .9375rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: all var(--lm-transition);
  min-width: 160px;
}

.lumina-single-summary .single_add_to_cart_button:hover {
  background: var(--lm-primary); color: #fff;
}

.lumina-single-summary .single_add_to_cart_button.loading { opacity:.7; }
.lumina-single-summary .single_add_to_cart_button.added  { background:var(--lm-primary); color:#fff; }

/* Trust badges */
.lumina-trust-badges {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin-top: 1.25rem;
  padding: 1rem;
  background: var(--lm-bg);
  border-radius: var(--lm-radius-sm);
  border: 1px solid var(--lm-border);
}

.lumina-badge {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  font-size: .8rem;
  color: var(--lm-text-muted);
  line-height: 1.4;
}

.lumina-badge i { color: var(--lm-primary); margin-top:.1rem; flex-shrink:0; }

/* Product meta */
.lumina-single-summary .product_meta { font-size:.875rem; color:var(--lm-text-muted); }
.lumina-single-summary .product_meta span { display:block; margin:.2rem 0; }
.lumina-single-summary .product_meta a { color:var(--lm-primary); font-weight:600; }

/* ── Product Tabs ───────────────────────────────────────────── */
.lumina-product-tabs-wrap {
  background: var(--lm-surface);
  border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius);
  overflow: hidden;
  margin-bottom: 2rem;
}

.woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  border-bottom: 1px solid var(--lm-border);
  background: var(--lm-bg);
  overflow-x: auto;
}

.woocommerce-tabs ul.tabs li {
  margin: 0; padding: 0;
}

.woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 1rem 1.5rem;
  font-size: .875rem;
  font-weight: 600;
  color: var(--lm-text-muted);
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: all var(--lm-transition);
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--lm-primary);
  border-bottom-color: var(--lm-primary);
  background: var(--lm-surface);
}

.woocommerce-tabs ul.tabs li a:hover { color: var(--lm-primary); }

.woocommerce-tabs .panel { padding: 2rem; }

/* ── Cart Page ──────────────────────────────────────────────── */
.lumina-cart-page { padding: 0 0 3rem; }
.lumina-cart-layout { display:grid; grid-template-columns:1fr; gap:2rem; }
@media (min-width:1024px) { .lumina-cart-layout { grid-template-columns:2fr 1fr; } }

.lumina-cart-items-panel {
  background: var(--lm-surface);
  border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius);
  padding: 1.5rem;
}

.lumina-cart-table {
  width:100%; border-collapse:collapse;
}

.lumina-cart-table thead th {
  text-align:left; padding:.75rem 1rem;
  font-size:.8125rem; font-weight:700;
  color:var(--lm-text-muted); text-transform:uppercase; letter-spacing:.06em;
  border-bottom:2px solid var(--lm-border);
}

.lumina-cart-row { border-bottom: 1px solid var(--lm-border); }
.lumina-cart-row td { padding:1.25rem 1rem; vertical-align:middle; }

.cart-col-remove { width:50px; }

.lumina-cart-remove-btn {
  background:none; border:none;
  color:var(--lm-text-muted);
  padding:.3rem; border-radius:.375rem;
  transition:all var(--lm-transition);
  line-height:1;
}

.lumina-cart-remove-btn:hover { color:#dc2626; background:#fff1f2; }

.lumina-cart-product-img { display:flex; align-items:center; }
.lumina-cart-product-img img { width:72px; height:72px; object-fit:cover; border-radius:.5rem; border:1px solid var(--lm-border); flex-shrink:0; }

.cart-col-product td { display:flex; gap:1rem; align-items:center; }
.lumina-cart-product-name { font-weight:700; color:var(--lm-primary); }
.lumina-cart-product-name:hover { text-decoration:underline; }

.quantity { display:flex; align-items:center; border:1.5px solid var(--lm-border); border-radius:var(--lm-radius-sm); background:var(--lm-surface); width:fit-content; }
.quantity input { width:2.5rem; text-align:center; border:none; background:transparent; font-family:inherit; font-size:.875rem; outline:none; padding:.4rem 0; }

.lumina-cart-actions {
  display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:1rem;
  margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--lm-border);
}

.lumina-coupon-label { display:block; font-size:.875rem; font-weight:600; margin-bottom:.5rem; }
.lumina-coupon-row { display:flex; gap:.5rem; }
.lumina-coupon-input { width:200px; }
.lumina-input {
  border:1.5px solid var(--lm-border); border-radius:var(--lm-radius-sm);
  padding:.5rem .875rem; font-family:inherit; font-size:.875rem; outline:none;
  transition:border-color var(--lm-transition);
}
.lumina-input:focus { border-color:var(--lm-primary); }

/* Cart Totals */
.lumina-cart-totals-panel {}

.cart-collaterals .cart_totals {
  background: var(--lm-bg);
  border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius);
  padding: 1.5rem;
}

.cart_totals h2 { font-size:1.125rem; font-weight:700; margin:0 0 1rem; padding-bottom:1rem; border-bottom:1px solid var(--lm-border); }

.woocommerce-shipping-calculator { margin-top:1rem; }

.cart-subtotal td, .order-total td { font-weight:700; }
.cart-subtotal th, .order-total th, .cart-subtotal td, .order-total td { padding:.5rem 0; }
.order-total th, .order-total td { font-size:1.0625rem; }

.checkout-button, .wc-proceed-to-checkout .checkout-button {
  display:block; width:100%;
  background:var(--lm-primary); color:#fff;
  border:none; border-radius:var(--lm-radius-sm);
  padding:1rem; font-family:inherit;
  font-size:1rem; font-weight:700; cursor:pointer;
  text-align:center; text-decoration:none;
  transition:background var(--lm-transition);
  margin-top:1rem;
}

.checkout-button:hover { background:#374151; color:#fff; }

/* ── Checkout ───────────────────────────────────────────────── */
.lumina-checkout-page {}

.lumina-checkout-layout {
  display:grid; grid-template-columns:1fr;
  gap:2rem;
}

@media (min-width:1024px) { .lumina-checkout-layout { grid-template-columns:3fr 2fr; } }

.lumina-checkout-panel {
  background:var(--lm-surface); border:1px solid var(--lm-border);
  border-radius:var(--lm-radius); padding:1.75rem; margin-bottom:1.5rem;
}

.lumina-checkout-panel h2 {
  font-size:1.125rem; font-weight:700;
  margin:0 0 1.5rem; padding-bottom:1rem; border-bottom:1px solid var(--lm-border);
}

/* WC form fields */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper { display:flex; flex-wrap:wrap; gap:.25rem; }

.woocommerce-input-wrapper { width:100%; }

.form-row {
  margin-bottom:1rem !important;
}

.form-row label { display:block; font-size:.875rem; font-weight:600; margin-bottom:.375rem; color:var(--lm-primary); }

.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"],
.form-row input[type="number"],
.form-row input[type="password"],
.form-row select,
.form-row textarea {
  width:100%; border:1.5px solid var(--lm-border);
  border-radius:var(--lm-radius-sm); padding:.625rem .875rem;
  font-family:inherit; font-size:.9375rem; outline:none;
  transition:border-color var(--lm-transition), box-shadow var(--lm-transition);
  background:var(--lm-surface); color:var(--lm-text);
}

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
  border-color:var(--lm-primary);
  box-shadow:0 0 0 3px rgb(17 24 39/.08);
}

.form-row.form-row-first { width:calc(50% - .25rem); display:inline-block; margin-right:.25rem; }
.form-row.form-row-last  { width:calc(50% - .25rem); display:inline-block; }

/* Landmark field highlight */
.lumina-landmark-field .woocommerce-input-wrapper { background:#eff6ff; border-radius:var(--lm-radius-sm); padding:.75rem; border:1px solid #bfdbfe; }
.lumina-landmark-field label { color:#1d4ed8; }
.lumina-landmark-field .description { font-size:.75rem; color:#3b82f6; margin-top:.375rem; display:block; }

/* Checkout summary sticky */
.lumina-sticky-checkout-summary { position:sticky; top:5rem; }

/* Order review table */
.woocommerce-checkout-review-order-table { width:100%; border-collapse:collapse; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td { padding:.625rem 0; font-size:.9rem; border-bottom:1px solid var(--lm-border); }
.woocommerce-checkout-review-order-table tfoot .order-total td,
.woocommerce-checkout-review-order-table tfoot .order-total th { font-size:1.0625rem; font-weight:800; border-top:2px solid var(--lm-primary); padding-top:1rem; }

/* Payment methods */
.woocommerce-checkout #payment { background:transparent; }
.woocommerce-checkout #payment ul.payment_methods { list-style:none; margin:0; padding:0; }
.woocommerce-checkout #payment ul.payment_methods li { background:var(--lm-bg); border:1.5px solid var(--lm-border); border-radius:var(--lm-radius-sm); padding:1rem; margin-bottom:.75rem; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label { font-weight:700; cursor:pointer; }
.woocommerce-checkout #payment div.payment_box { background:#fff; border:1px solid var(--lm-border); border-radius:var(--lm-radius-sm); padding:1rem; margin-top:.75rem; font-size:.875rem; color:var(--lm-text-muted); }

/* Place order button */
#place_order {
  width:100%; background:var(--lm-primary); color:#fff;
  border:none; border-radius:var(--lm-radius-sm); padding:1.125rem;
  font-family:inherit; font-size:1rem; font-weight:700; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  transition:background var(--lm-transition);
}

#place_order:hover { background:#374151; }

.lumina-checkout-delivery-info {
  margin:1.25rem 0;
  background:var(--lm-bg); padding:1rem; border-radius:var(--lm-radius-sm);
  border:1px solid var(--lm-border);
}

.lumina-checkout-delivery-info h4 { font-size:.875rem; font-weight:700; margin:0 0 .5rem; }
.lumina-checkout-delivery-info ul { list-style:none; margin:0; padding:0; font-size:.8125rem; color:var(--lm-text-muted); }
.lumina-checkout-delivery-info li { padding:.2rem 0; }

.lumina-checkout-trust {
  display:flex; gap:1rem; flex-wrap:wrap; font-size:.8rem; color:var(--lm-text-muted); margin-top:1rem;
}

.lumina-checkout-trust span { display:flex; align-items:center; gap:.375rem; }

/* ── Thank You ──────────────────────────────────────────────── */
.lumina-thankyou-page { max-width:640px; margin:0 auto; text-align:center; padding:2rem 0 4rem; }
.lumina-thankyou-hero { margin-bottom:2rem; }
.lumina-thankyou-icon { font-size:4rem; color:#22c55e; margin-bottom:1rem; }
.lumina-thankyou-title { font-size:1.875rem; font-weight:800; margin:0 0 .75rem; }
.lumina-thankyou-sub { color:var(--lm-text-muted); font-size:1.0625rem; margin:0; }

.lumina-thankyou-meta {
  list-style:none; margin:0 0 2rem; padding:0;
  background:var(--lm-surface); border:1px solid var(--lm-border);
  border-radius:var(--lm-radius); overflow:hidden;
  text-align:left;
}

.lumina-thankyou-meta li {
  display:flex; justify-content:space-between;
  padding:.875rem 1.25rem; border-bottom:1px solid var(--lm-border);
  font-size:.9375rem;
}

.lumina-thankyou-meta li:last-child { border-bottom:none; }
.lumina-meta-label { font-weight:600; }

.lumina-thankyou-actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ── My Account ─────────────────────────────────────────────── */
.lumina-account-nav { background:var(--lm-surface); border:1px solid var(--lm-border); border-radius:var(--lm-radius); overflow:hidden; }
.lumina-account-nav ul { list-style:none; margin:0; padding:.5rem; }
.lumina-account-nav-item a { display:flex; align-items:center; gap:.625rem; padding:.75rem 1rem; border-radius:var(--lm-radius-sm); font-size:.9rem; font-weight:600; color:var(--lm-primary); transition:all var(--lm-transition); }
.lumina-account-nav-item a:hover { background:var(--lm-bg); }
.lumina-account-nav-item.is-active a { background:var(--lm-primary); color:#fff; }
.lumina-account-nav-item i { width:1rem; text-align:center; }

.woocommerce-account .woocommerce {
  display:grid; gap:2rem;
}

@media (min-width:768px) {
  .woocommerce-account .woocommerce { grid-template-columns:240px 1fr; }
}

/* ── Mobile Sticky Bar ──────────────────────────────────────── */
.lumina-mobile-sticky-bar {
  position:fixed; bottom:0; left:0; right:0;
  background:var(--lm-surface); border-top:1px solid var(--lm-border);
  padding:1rem 1.25rem; z-index:80;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  box-shadow: 0 -4px 12px rgb(0 0 0/.08);
  transform:translateY(100%);
  transition:transform .3s ease;
}

@media (min-width:768px) { .lumina-mobile-sticky-bar { display:none !important; } }

.lumina-mobile-sticky-bar.visible { transform:translateY(0); }

.lumina-sticky-info { flex:1; min-width:0; overflow:hidden; }
.lumina-sticky-title { font-size:.8125rem; font-weight:600; color:var(--lm-text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin:0; }
.lumina-sticky-price { font-size:1.1rem; font-weight:800; color:var(--lm-primary); margin:0; }

.lumina-sticky-actions { display:flex; gap:.5rem; flex-shrink:0; }

.lumina-sticky-btn {
  border:none; border-radius:var(--lm-radius-sm);
  padding:.625rem 1rem; font-family:inherit; font-size:.875rem; font-weight:700; cursor:pointer;
  transition:all var(--lm-transition);
}

.lumina-sticky-btn--outline { background:#fff; border:2px solid var(--lm-primary); color:var(--lm-primary); padding:.5rem .75rem; }
.lumina-sticky-btn--primary { background:var(--lm-primary); color:#fff; }

/* ── Footer ─────────────────────────────────────────────────── */
.lumina-footer {
  background: var(--lm-primary);
  color: #9ca3af;
  padding: 3rem 0 0;
  margin-top: auto;
  position: relative;
  z-index: 20;
}

.lumina-footer-default {
  display:grid; grid-template-columns:repeat(1,1fr);
  gap:2rem; margin-bottom:2.5rem;
}

@media (min-width:768px) { .lumina-footer-default { grid-template-columns:repeat(3,1fr); } }

.lumina-footer-site-name { font-size:1.5rem; font-weight:800; color:#fff; letter-spacing:-.04em; }
.lumina-footer .custom-logo { filter:brightness(0) invert(1); opacity:.9; max-height:40px; }

.lumina-footer-address { font-style:normal; font-size:.875rem; color:#9ca3af; margin-top:.75rem; line-height:1.8; }
.lumina-footer-address a { color:#9ca3af; text-decoration:underline; }

.lumina-footer-links h4, .lumina-footer-trust h4 { color:#e5e7eb; font-size:.875rem; font-weight:700; margin:0 0 .875rem; }
.lumina-footer-links ul { list-style:none; margin:0; padding:0; }
.lumina-footer-links ul li { margin-bottom:.4rem; }
.lumina-footer-links ul li a { color:#9ca3af; font-size:.875rem; transition:color var(--lm-transition); }
.lumina-footer-links ul li a:hover { color:#fff; }

.lumina-payment-icons { display:flex; gap:.875rem; font-size:1.75rem; color:#6b7280; margin-bottom:.75rem; }
.lumina-paystack-badge { font-size:.8125rem; color:#6b7280; display:flex; align-items:center; gap:.375rem; }

.lumina-footer-nav { margin-bottom:1.5rem; }
.lumina-footer-menu { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:1.5rem; }
.lumina-footer-menu a { color:#6b7280; font-size:.875rem; transition:color var(--lm-transition); }
.lumina-footer-menu a:hover { color:#fff; }

.lumina-footer-bottom {
  border-top:1px solid #1f2937; padding:1.25rem 0;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem;
}

.lumina-copyright, .lumina-powered { font-size:.8rem; color:#6b7280; margin:0; }
.lumina-powered a { color:#9ca3af; text-decoration:underline; }
.lumina-copyright a { color:#9ca3af; }

/* ── 404 ────────────────────────────────────────────────────── */
.lumina-404 { display:flex; align-items:center; justify-content:center; min-height:60vh; }
.lumina-404-inner { text-align:center; }
.lumina-404-code { font-size:8rem; font-weight:900; color:var(--lm-border); display:block; line-height:1; }
.lumina-404 h1 { font-size:2rem; font-weight:800; margin:.5rem 0; }
.lumina-404 p { color:var(--lm-text-muted); margin-bottom:2rem; }

/* ── Empty states ───────────────────────────────────────────── */
.lumina-no-products, .lumina-no-results {
  display:flex; flex-direction:column; align-items:center;
  text-align:center; padding:4rem 1.5rem;
}

.lumina-no-products-icon, .lumina-no-results-icon {
  font-size:3rem; color:var(--lm-border); margin-bottom:1rem;
}

.lumina-no-products-text { color:var(--lm-text-muted); margin-bottom:1.5rem; }
.lumina-no-results h2 { font-size:1.5rem; font-weight:800; margin:0 0 .5rem; }
.lumina-no-results p { color:var(--lm-text-muted); margin-bottom:1.5rem; }

/* ── Breadcrumb ─────────────────────────────────────────────── */
.lumina-breadcrumb, .woocommerce-breadcrumb {
  font-size:.8125rem; color:var(--lm-text-muted);
  margin-bottom:1.5rem; display:flex; align-items:center;
  flex-wrap:wrap; gap:.25rem; list-style:none; padding:0;
}

.lumina-breadcrumb a, .woocommerce-breadcrumb a { color:var(--lm-text-muted); }
.lumina-breadcrumb a:hover, .woocommerce-breadcrumb a:hover { color:var(--lm-primary); text-decoration:underline; }

/* ── Sale flash ─────────────────────────────────────────────── */
.lumina-sale-badge, .onsale {
  background:#ef4444 !important; color:#fff !important;
  font-size:.7rem; font-weight:700;
  padding:.2rem .5rem; border-radius:2rem;
  letter-spacing:.03em;
}

/* ── Notices ─────────────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  padding:.875rem 1.25rem;
  border-radius:var(--lm-radius-sm);
  font-size:.9375rem;
  margin-bottom:1.25rem;
  list-style:none;
  display:flex; align-items:center; gap:.75rem;
}

.woocommerce-message { background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; }
.woocommerce-error   { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; }
.woocommerce-info    { background:#eff6ff; border:1px solid #bfdbfe; color:#1e40af; }

/* ── Pagination ─────────────────────────────────────────────── */
.woocommerce-pagination { margin-top:2rem; text-align:center; }
.woocommerce-pagination ul { list-style:none; display:inline-flex; gap:.375rem; padding:0; margin:0; flex-wrap:wrap; justify-content:center; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display:flex; align-items:center; justify-content:center;
  width:2.25rem; height:2.25rem;
  border:1.5px solid var(--lm-border);
  border-radius:var(--lm-radius-sm);
  font-size:.875rem; font-weight:600;
  color:var(--lm-primary); transition:all var(--lm-transition);
}

.woocommerce-pagination ul li a:hover { background:var(--lm-primary); color:#fff; border-color:var(--lm-primary); }
.woocommerce-pagination ul li span.current { background:var(--lm-primary); color:#fff; border-color:var(--lm-primary); }

/* ── Filter sidebar toggle (mobile) ─────────────────────────── */
.lumina-filter-toggle {
  display:none;
  align-items:center; gap:.5rem;
  background:var(--lm-surface); border:1.5px solid var(--lm-border);
  border-radius:var(--lm-radius-sm); padding:.5rem 1rem;
  font-size:.875rem; font-weight:600; margin-bottom:1.25rem;
  cursor:pointer; transition:all var(--lm-transition);
}

@media (max-width:1023px) {
  .lumina-filter-toggle { display:flex; }
  .lumina-shop-sidebar {
    position:fixed; top:0; left:0; height:100vh;
    width:280px; z-index:500;
    background:var(--lm-surface); border-right:1px solid var(--lm-border);
    padding:1.25rem; overflow-y:auto;
    transform:translateX(-100%);
    transition:transform .3s ease;
  }
  .lumina-shop-sidebar.open { transform:translateX(0); }
  .lumina-sidebar-close { display:flex !important; }
}

.lumina-sidebar-close {
  display:none !important;
  align-items:center; gap:.375rem; margin-bottom:1rem;
  background:none; border:none; font-size:.875rem; font-weight:600; color:var(--lm-secondary); cursor:pointer;
}

/* ── Utility ─────────────────────────────────────────────────── */
.lumina-mobile-only  { display:flex !important; }
@media (min-width:1024px) { .lumina-mobile-only { display:none !important; } }

.lumina-spin { animation: lumina-spin .8s linear infinite; }
@keyframes lumina-spin { to { transform:rotate(360deg); } }

/* Skeleton loaders */
.lumina-skeleton {
  background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);
  background-size:200% 100%;
  animation:lumina-shimmer 1.5s infinite;
  border-radius:var(--lm-radius-sm);
}

@keyframes lumina-shimmer { from{background-position:200% 0} to{background-position:-200% 0} }

/* Focus visible */
:focus-visible {
  outline:2px solid var(--lm-primary);
  outline-offset:2px;
}
