/*
 * Seanav Theme — Components CSS v1.0
 * WhatsApp float · Back-to-top · Sticky ATC · Mini cart drawer
 * Cookie banner · Image zoom · Wishlist · Trust strip · Page load bar
 * Loads site-wide after seanav-futuristic-v4.css
 */

/* ============================================================
   CSS VARIABLES (inherit from v4 tokens)
   ============================================================ */
:root {
  --comp-green:       #00ff88;
  --comp-green-dim:   #00cc6a;
  --comp-green-glow:  rgba(0,255,136,0.20);
  --comp-surface:     #0d1117;
  --comp-card:        #131b24;
  --comp-border:      rgba(255,255,255,0.08);
  --comp-t:           #c9d1d9;
  --comp-t-muted:     #8b949e;
  --comp-white:       #f0f6fc;
  --comp-shadow:      0 8px 32px rgba(0,0,0,0.5);
  --comp-ease:        cubic-bezier(0.25,0.8,0.25,1);
  --comp-spring:      cubic-bezier(0.34,1.56,0.64,1);
}

/* ============================================================
   1. PAGE LOAD PROGRESS BAR (navigation indicator)
   ============================================================ */
#seanav-page-load-bar {
  position: fixed;
  top: 3px; /* sits just below scroll progress bar */
  left: 0;
  width: 0%;
  height: 2px;
  background: linear-gradient(90deg, var(--comp-green), #00d4ff);
  z-index: 99998;
  pointer-events: none;
  transition: width 0.3s var(--comp-ease), opacity 0.4s ease;
  opacity: 0;
}

#seanav-page-load-bar.is-loading  { opacity: 1; }
#seanav-page-load-bar.is-complete { width: 100% !important; }

/* ============================================================
   2. BACK-TO-TOP BUTTON
   ============================================================ */
#seanav-back-top {
  position: fixed;
  bottom: 90px;
  right: 24px;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(19,27,36,0.92);
  border: 1px solid rgba(0,255,136,0.25);
  color: var(--comp-green);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 9990;
  opacity: 0;
  transform: translateY(16px) scale(0.85);
  transition: opacity 0.3s var(--comp-ease),
              transform 0.35s var(--comp-spring),
              box-shadow 0.2s,
              border-color 0.2s;
  pointer-events: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: var(--comp-shadow);
}

#seanav-back-top.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

#seanav-back-top:hover {
  border-color: var(--comp-green);
  box-shadow: 0 0 20px rgba(0,255,136,0.30), var(--comp-shadow);
  transform: translateY(-3px) scale(1.05);
}

#seanav-back-top svg {
  transition: transform 0.2s var(--comp-spring);
}

#seanav-back-top:hover svg {
  transform: translateY(-2px);
}

/* ============================================================
   3. WHATSAPP FLOAT BUTTON
   ============================================================ */
#seanav-wa-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 54px;
  height: 54px;
  border-radius: 14px;
  background: #25d366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 9991;
  box-shadow: 0 6px 24px rgba(37,211,102,0.40), var(--comp-shadow);
  transition: transform 0.3s var(--comp-spring),
              box-shadow 0.2s var(--comp-ease);
  text-decoration: none;
  animation: waPulse 3s ease-in-out infinite;
}

#seanav-wa-btn:hover {
  transform: scale(1.1) translateY(-3px);
  box-shadow: 0 12px 36px rgba(37,211,102,0.55), var(--comp-shadow);
  animation: none;
  color: #fff;
  text-decoration: none;
}

#seanav-wa-btn svg { flex-shrink: 0; }

@keyframes waPulse {
  0%, 100% { box-shadow: 0 6px 24px rgba(37,211,102,0.40), 0 0 0 0 rgba(37,211,102,0.35); }
  50%       { box-shadow: 0 6px 24px rgba(37,211,102,0.40), 0 0 0 10px rgba(37,211,102,0); }
}

/* WhatsApp tooltip */
#seanav-wa-btn::before {
  content: 'Chat on WhatsApp';
  position: absolute;
  right: 64px;
  top: 50%;
  transform: translateY(-50%) translateX(8px);
  background: rgba(10,14,20,0.95);
  color: var(--comp-white);
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.08);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s, transform 0.2s var(--comp-ease);
  backdrop-filter: blur(8px);
}

#seanav-wa-btn:hover::before {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* ============================================================
   4. STICKY ADD-TO-CART BAR (Single Product)
   ============================================================ */
#seanav-sticky-atc {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9980;
  background: rgba(13,17,23,0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(0,255,136,0.18);
  box-shadow: 0 -8px 32px rgba(0,0,0,0.5);
  transform: translateY(100%);
  transition: transform 0.35s var(--comp-ease);
  padding: 0;
}

#seanav-sticky-atc.is-visible {
  transform: translateY(0);
}

.seanav-sticky-atc-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 24px;
  max-width: 1320px;
  margin: 0 auto;
}

.seanav-sticky-atc-img {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
  background: rgba(255,255,255,0.04);
}

.seanav-sticky-atc-name {
  flex: 1;
  font-family: 'Outfit', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--comp-white);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.seanav-sticky-atc-price {
  font-family: 'Roboto Mono', monospace;
  font-size: 1rem;
  font-weight: 700;
  color: var(--comp-green);
  white-space: nowrap;
  flex-shrink: 0;
}

.seanav-sticky-atc-qty {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
}

.seanav-sticky-atc-qty button {
  width: 30px !important;
  height: 36px !important;
  background: rgba(255,255,255,0.05) !important;
  border: none !important;
  color: var(--comp-t) !important;
  font-size: 1.1rem !important;
  cursor: pointer !important;
  padding: 0 !important;
  border-radius: 0 !important;
  transition: background 0.15s !important;
  box-shadow: none !important;
  letter-spacing: 0 !important;
}

.seanav-sticky-atc-qty button:hover {
  background: rgba(0,255,136,0.12) !important;
  color: var(--comp-green) !important;
}

.seanav-sticky-atc-qty input {
  width: 40px !important;
  height: 36px !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  border-left: 1px solid rgba(255,255,255,0.08) !important;
  border-right: 1px solid rgba(255,255,255,0.08) !important;
  color: var(--comp-white) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.seanav-sticky-atc-btn {
  background: var(--comp-green) !important;
  color: #0d1117 !important;
  border: none !important;
  padding: 9px 22px !important;
  border-radius: 7px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.06em !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.2s !important;
  box-shadow: 0 4px 16px rgba(0,255,136,0.30) !important;
}

.seanav-sticky-atc-btn:hover {
  background: var(--comp-green-dim) !important;
  box-shadow: 0 6px 24px rgba(0,255,136,0.45) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 549px) {
  .seanav-sticky-atc-inner { padding: 10px 14px; gap: 10px; }
  .seanav-sticky-atc-img   { display: none; }
  .seanav-sticky-atc-name  { font-size: 0.78rem; }
  .seanav-sticky-atc-price { font-size: 0.88rem; }
  .seanav-sticky-atc-qty   { display: none; }
}

/* ============================================================
   5. MINI CART SLIDE-OUT DRAWER
   ============================================================ */
#seanav-cart-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  z-index: 9975;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s var(--comp-ease);
}

#seanav-cart-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

#seanav-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 360px;
  max-width: 92vw;
  background: var(--comp-card);
  border-left: 1px solid rgba(0,255,136,0.12);
  box-shadow: -20px 0 60px rgba(0,0,0,0.6);
  z-index: 9976;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.35s var(--comp-ease);
}

#seanav-cart-drawer.is-open {
  transform: translateX(0);
}

.seanav-cart-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px 16px;
  border-bottom: 1px solid var(--comp-border);
  flex-shrink: 0;
}

.seanav-cart-drawer-title {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--comp-green);
}

.seanav-cart-drawer-close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--comp-border);
  border-radius: 6px;
  color: var(--comp-t-muted);
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.seanav-cart-drawer-close:hover {
  background: rgba(248,113,113,0.1);
  border-color: rgba(248,113,113,0.3);
  color: #f87171;
}

.seanav-cart-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,255,136,0.2) transparent;
}

.seanav-cart-drawer-body::-webkit-scrollbar { width: 4px; }
.seanav-cart-drawer-body::-webkit-scrollbar-thumb { background: rgba(0,255,136,0.25); border-radius: 4px; }

/* Cart items inside drawer */
.seanav-cart-drawer-body .woocommerce-mini-cart__buttons,
.seanav-cart-drawer-body .mini_cart_item {
  color: var(--comp-t) !important;
}

.seanav-cart-drawer-body .mini_cart_item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--comp-border);
}

.seanav-cart-drawer-body .mini_cart_item img {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--comp-border);
  flex-shrink: 0;
  background: rgba(255,255,255,0.03);
}

.seanav-cart-drawer-body .mini_cart_item a:not(.remove) {
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--comp-white) !important;
  text-decoration: none;
  display: block;
  margin-bottom: 4px;
}

.seanav-cart-drawer-body .mini_cart_item a:not(.remove):hover {
  color: var(--comp-green) !important;
}

.seanav-cart-drawer-body .mini_cart_item .quantity {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.78rem;
  color: var(--comp-t-muted);
}

.seanav-cart-drawer-body .mini_cart_item .woocommerce-Price-amount {
  color: var(--comp-green) !important;
  font-family: 'Roboto Mono', monospace;
  font-size: 0.88rem;
  font-weight: 700;
}

.seanav-cart-drawer-body .mini_cart_item .remove {
  margin-left: auto;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--comp-t-muted) !important;
  font-size: 1.1rem;
  border-radius: 4px;
  flex-shrink: 0;
  transition: color 0.15s, background 0.15s;
}

.seanav-cart-drawer-body .mini_cart_item .remove:hover {
  color: #f87171 !important;
  background: rgba(248,113,113,0.08);
}

.seanav-cart-drawer-empty {
  text-align: center;
  padding: 48px 0;
  color: var(--comp-t-muted);
  font-size: 0.9rem;
}

.seanav-cart-drawer-empty-icon {
  font-size: 2.5rem;
  margin-bottom: 12px;
  opacity: 0.5;
}

.seanav-cart-drawer-foot {
  flex-shrink: 0;
  padding: 16px 20px;
  border-top: 1px solid var(--comp-border);
  background: rgba(6,10,16,0.6);
}

.seanav-cart-drawer-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  font-size: 0.88rem;
}

.seanav-cart-drawer-total-label {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--comp-t-muted);
}

.seanav-cart-drawer-total-amount {
  font-family: 'Roboto Mono', monospace;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--comp-green);
}

.seanav-cart-drawer-total-amount .woocommerce-Price-amount {
  color: var(--comp-green) !important;
  font-family: inherit !important;
}

.seanav-cart-drawer-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.seanav-cart-drawer-actions .checkout,
.seanav-cart-drawer-checkout {
  display: block;
  background: var(--comp-green) !important;
  color: #0d1117 !important;
  text-align: center;
  padding: 11px 20px !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.06em !important;
  text-decoration: none !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  box-shadow: 0 4px 16px rgba(0,255,136,0.25) !important;
}

.seanav-cart-drawer-actions .checkout:hover,
.seanav-cart-drawer-checkout:hover {
  background: var(--comp-green-dim) !important;
  box-shadow: 0 6px 24px rgba(0,255,136,0.40) !important;
}

.seanav-cart-drawer-actions .cart,
.seanav-cart-drawer-view-cart {
  display: block;
  background: transparent !important;
  color: var(--comp-t) !important;
  text-align: center;
  padding: 9px 20px !important;
  border-radius: 8px !important;
  border: 1px solid var(--comp-border) !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  text-decoration: none !important;
  transition: border-color 0.2s, color 0.2s !important;
}

.seanav-cart-drawer-actions .cart:hover,
.seanav-cart-drawer-view-cart:hover {
  border-color: rgba(0,255,136,0.3) !important;
  color: var(--comp-green) !important;
}

/* Cart count animation when item added */
.cart-link .cart-count.bump {
  animation: cartBump 0.4s var(--comp-spring);
}

@keyframes cartBump {
  0%   { transform: scale(0.4); }
  60%  { transform: scale(1.25); }
  100% { transform: scale(1); }
}

/* ============================================================
   6. COOKIE / GDPR CONSENT BANNER
   ============================================================ */
#seanav-cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9985;
  background: rgba(13,17,23,0.98);
  border-top: 1px solid rgba(0,255,136,0.15);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 -8px 40px rgba(0,0,0,0.5);
  transform: translateY(100%);
  transition: transform 0.4s var(--comp-ease);
}

#seanav-cookie-banner.is-visible {
  transform: translateY(0);
}

.seanav-cookie-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 14px 24px;
  max-width: 1320px;
  margin: 0 auto;
  flex-wrap: wrap;
}

.seanav-cookie-icon {
  font-size: 1.3rem;
  flex-shrink: 0;
}

.seanav-cookie-text {
  flex: 1;
  font-size: 0.82rem;
  color: var(--comp-t-muted);
  line-height: 1.55;
  min-width: 200px;
}

.seanav-cookie-text a {
  color: var(--comp-green) !important;
  text-decoration: underline;
  text-decoration-color: rgba(0,255,136,0.3);
}

.seanav-cookie-text a:hover {
  text-decoration-color: var(--comp-green);
}

.seanav-cookie-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.seanav-cookie-accept {
  background: var(--comp-green) !important;
  color: #0d1117 !important;
  border: none !important;
  padding: 8px 18px !important;
  border-radius: 6px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  cursor: pointer !important;
  transition: background 0.2s, box-shadow 0.2s !important;
}

.seanav-cookie-accept:hover {
  background: var(--comp-green-dim) !important;
  box-shadow: 0 4px 14px rgba(0,255,136,0.30) !important;
}

.seanav-cookie-decline {
  background: transparent !important;
  color: var(--comp-t-muted) !important;
  border: 1px solid var(--comp-border) !important;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  cursor: pointer !important;
  transition: border-color 0.2s, color 0.2s !important;
}

.seanav-cookie-decline:hover {
  border-color: rgba(255,255,255,0.2) !important;
  color: var(--comp-t) !important;
}

@media (max-width: 549px) {
  .seanav-cookie-inner { padding: 12px 16px; gap: 12px; }
  .seanav-cookie-text  { font-size: 0.78rem; }
}

/* ============================================================
   7. PRODUCT IMAGE ZOOM (Single Product — CSS hover zoom)
   ============================================================ */
body.single-product .woocommerce-product-gallery__image {
  overflow: hidden !important;
  cursor: zoom-in;
  border-radius: 10px !important;
}

body.single-product .woocommerce-product-gallery__image img {
  transition: transform 0.5s cubic-bezier(0.25,0.8,0.25,1) !important;
  transform-origin: center center;
  will-change: transform;
}

body.single-product .woocommerce-product-gallery__image:hover img {
  transform: scale(1.12) !important;
}

/* ============================================================
   8. WISHLIST ICON ON PRODUCT CARDS
   ============================================================ */
.product-small .box {
  position: relative;
}

.seanav-wishlist-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  background: rgba(13,17,23,0.85);
  border: 1px solid rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--comp-t-muted);
  text-decoration: none;
  opacity: 0;
  transform: scale(0.8) translateY(-4px);
  transition: opacity 0.2s, transform 0.25s var(--comp-spring), color 0.15s, background 0.15s;
  z-index: 5;
  backdrop-filter: blur(6px);
  font-size: 0.85rem;
  line-height: 1;
}

.product-small .box:hover .seanav-wishlist-btn {
  opacity: 1;
  transform: scale(1) translateY(0);
}

.seanav-wishlist-btn:hover {
  color: #f87171 !important;
  background: rgba(248,113,113,0.12) !important;
  border-color: rgba(248,113,113,0.25) !important;
}

.seanav-wishlist-btn.is-wishlisted {
  color: #f87171;
  background: rgba(248,113,113,0.1);
  border-color: rgba(248,113,113,0.25);
  opacity: 1;
  transform: scale(1) translateY(0);
}

/* ============================================================
   9. TRUST / CERTIFICATION STRIP
   ============================================================ */
.seanav-trust-strip {
  background: rgba(6,10,16,0.8);
  border-top: 1px solid rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  padding: 16px 0;
  overflow: hidden;
}

.seanav-trust-strip-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.seanav-trust-label {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--comp-t-muted);
  margin-right: 8px;
  flex-shrink: 0;
}

.seanav-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  font-family: 'Roboto Mono', monospace;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--comp-t-muted);
  transition: border-color 0.2s, color 0.2s, background 0.2s;
  white-space: nowrap;
}

.seanav-trust-badge::before {
  content: '✓';
  color: var(--comp-green);
  font-size: 0.7rem;
}

.seanav-trust-badge:hover {
  border-color: rgba(0,255,136,0.2);
  color: var(--comp-t);
  background: rgba(0,255,136,0.04);
}

.seanav-trust-sep {
  color: rgba(255,255,255,0.12);
  font-size: 0.7rem;
  user-select: none;
}

@media (max-width: 549px) {
  .seanav-trust-strip-inner { gap: 6px; }
  .seanav-trust-label        { display: none; }
  .seanav-trust-badge        { font-size: 0.62rem; padding: 4px 9px; }
}

/* ============================================================
   10. SEARCH PAGE — DARK THEME FIX
   ============================================================ */
.search-results-page .archive-hero-banner {
  background: rgba(10,14,20,0.98) !important;
  color: var(--comp-white) !important;
  border-bottom: 3px solid var(--comp-green) !important;
}

.search-results-page .archive-title { color: var(--comp-white) !important; }

.seanav-search-card {
  background: var(--comp-card) !important;
  border: 1px solid var(--comp-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  transition: border-color 0.22s, box-shadow 0.22s, transform 0.28s !important;
}

.seanav-search-card:hover {
  border-color: rgba(0,255,136,0.25) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.4), 0 0 20px rgba(0,255,136,0.08) !important;
  transform: translateY(-4px) !important;
}

.seanav-search-card-media {
  display: block;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: rgba(255,255,255,0.03) !important;
  position: relative;
}

.seanav-search-card-media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.seanav-search-card:hover .seanav-search-card-media img {
  transform: scale(1.05);
}

.seanav-search-type-badge {
  position: absolute;
  top: 10px; left: 10px;
  font-family: 'Roboto Mono', monospace;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 4px;
  background: rgba(0,255,136,0.15);
  color: var(--comp-green);
  border: 1px solid rgba(0,255,136,0.25);
}

.seanav-search-card-noimg {
  display: block;
  width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(0,255,136,0.05) 0%, rgba(0,212,255,0.05) 100%);
}

.seanav-search-card-body {
  padding: 14px 16px 16px !important;
}

.seanav-search-card-title {
  margin: 0 0 8px !important;
  font-size: 0.95rem !important;
}

.seanav-search-card-title a {
  color: var(--comp-white) !important;
  text-decoration: none !important;
}

.seanav-search-card-title a:hover {
  color: var(--comp-green) !important;
}

.seanav-search-card-price {
  color: var(--comp-green) !important;
  font-family: 'Roboto Mono', monospace !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
}

.seanav-search-card-excerpt {
  font-size: 0.82rem !important;
  color: var(--comp-t-muted) !important;
  line-height: 1.55 !important;
  margin-bottom: 10px !important;
}

.seanav-search-view {
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--comp-green) !important;
  text-decoration: none;
  letter-spacing: 0.05em;
}

.seanav-search-empty {
  color: var(--comp-t) !important;
}

.seanav-search-empty p[style] {
  color: var(--comp-t) !important;
}

/* ============================================================
   11. 404 PAGE STYLES
   ============================================================ */
.seanav-404-page {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
}

.seanav-404-wrap {
  text-align: center;
  max-width: 560px;
  margin: 0 auto;
}

.seanav-404-radar {
  position: relative;
  width: 120px;
  height: 120px;
  margin: 0 auto 32px;
}

.seanav-404-radar-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(0,255,136,0.20);
}

.seanav-404-radar-ring:nth-child(2) {
  inset: 15px;
  border-color: rgba(0,255,136,0.30);
}

.seanav-404-radar-ring:nth-child(3) {
  inset: 30px;
  border-color: rgba(0,255,136,0.40);
}

.seanav-404-radar-sweep {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(
    from 0deg,
    rgba(0,255,136,0.5) 0deg,
    rgba(0,255,136,0.15) 60deg,
    transparent 90deg
  );
  animation: radarSweep 3s linear infinite;
}

@keyframes radarSweep {
  to { transform: rotate(360deg); }
}

.seanav-404-radar-center {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--comp-green);
  box-shadow: 0 0 12px rgba(0,255,136,0.6);
  animation: centerPulse 2s ease-in-out infinite;
}

@keyframes centerPulse {
  0%, 100% { box-shadow: 0 0 8px rgba(0,255,136,0.6); }
  50%       { box-shadow: 0 0 20px rgba(0,255,136,0.9); }
}

.seanav-404-radar-blip {
  position: absolute;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--comp-green);
  box-shadow: 0 0 8px var(--comp-green);
  animation: blipFade 3s ease-in-out infinite;
}

.seanav-404-radar-blip:nth-child(5) {
  top: 28px; left: 70px;
  animation-delay: 0.8s;
}

.seanav-404-radar-blip:nth-child(6) {
  top: 72px; left: 22px;
  animation-delay: 1.6s;
}

@keyframes blipFade {
  0%, 40%, 100% { opacity: 0; transform: scale(0.6); }
  45%, 55%      { opacity: 1; transform: scale(1); }
}

.seanav-404-code {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--comp-green);
  margin-bottom: 10px;
  display: block;
}

.seanav-404-heading {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(2.2rem,6vw,3.5rem) !important;
  font-weight: 900 !important;
  color: var(--comp-white) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.1 !important;
  margin: 0 0 14px !important;
  background: linear-gradient(135deg, #f0f6fc 0%, rgba(0,255,136,0.85) 130%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

.seanav-404-sub {
  color: var(--comp-t-muted);
  font-size: 0.95rem;
  line-height: 1.65;
  margin: 0 0 32px;
}

.seanav-404-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.seanav-404-actions .button {
  padding: 10px 22px !important;
  font-size: 0.82rem !important;
}

.seanav-404-search {
  max-width: 420px;
  margin: 0 auto 28px;
}

/* ============================================================
   PRINT STYLESHEET
   ============================================================ */
@media print {
  #header, #footer, .seanav-sticky-atc, #seanav-wa-btn,
  #seanav-back-top, #seanav-cookie-banner, #seanav-cart-drawer,
  #seanav-cart-overlay, .seanav-shop-sidebar,
  .seanav-product-sidebar, .related.products { display: none !important; }

  body {
    background: #fff !important;
    color: #000 !important;
  }

  h1, h2, h3, h4 { color: #000 !important; -webkit-text-fill-color: #000 !important; }
  .price, .woocommerce-Price-amount { color: #006633 !important; }
  a { color: #000 !important; text-decoration: underline !important; }
  img { max-width: 100% !important; }
  #seanav-scroll-progress, #seanav-page-load-bar { display: none !important; }
}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.sn-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 8px 0 20px;
  font-family: 'Roboto Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}

.sn-breadcrumb a {
  color: rgba(139,148,158,0.8) !important;
  text-decoration: none !important;
  transition: color 0.15s;
}

.sn-breadcrumb a:hover {
  color: #00ff88 !important;
}

.sn-bc-sep {
  color: rgba(255,255,255,0.2);
  font-size: 0.8rem;
  line-height: 1;
  padding: 0 2px;
}

.sn-bc-current {
  color: #c9d1d9;
  max-width: 28ch;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ============================================================
   SOCIAL SHARE BUTTONS
   ============================================================ */
.sn-social-share {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 0;
  margin-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.07);
  flex-wrap: wrap;
}

.sn-social-share-label {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(139,148,158,0.7);
}

.sn-social-share-btns {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.sn-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 6px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  color: #c9d1d9 !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.2s;
  white-space: nowrap;
}

.sn-share-btn:hover {
  transform: translateY(-2px);
}

.sn-share-wa  { --share-color: #25d366; }
.sn-share-li  { --share-color: #0a66c2; }
.sn-share-x   { --share-color: #e7e9ea; }
.sn-share-copy { --share-color: #00ff88; }

.sn-share-btn:hover {
  border-color: var(--share-color, #00ff88);
  background: rgba(var(--share-color, #00ff88), 0.08);
  color: var(--share-color, #00ff88) !important;
}

.sn-share-wa:hover  { background: rgba(37,211,102,0.10)  !important; color: #25d366 !important; }
.sn-share-li:hover  { background: rgba(10,102,194,0.10)  !important; color: #59a7f6 !important; }
.sn-share-x:hover   { background: rgba(231,233,234,0.08) !important; color: #e7e9ea !important; }
.sn-share-copy:hover { background: rgba(0,255,136,0.08)  !important; color: #00ff88 !important; }

.sn-share-copy.copied .sn-copy-label::after {
  content: ' ✓';
  color: #00ff88;
}

/* ============================================================
   ARCHIVE CARDS (dark theme, replaces inline styles)
   ============================================================ */
.seanav-archive-card {
  background: rgba(19,27,36,0.85);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: border-color 0.22s, box-shadow 0.22s, transform 0.28s cubic-bezier(0.34,1.56,0.64,1);
}

.seanav-archive-card:hover {
  border-color: rgba(0,255,136,0.22);
  box-shadow: 0 8px 28px rgba(0,0,0,0.45), 0 0 20px rgba(0,255,136,0.07);
  transform: translateY(-5px);
}

.seanav-archive-card-media {
  display: block;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
  flex-shrink: 0;
}

.seanav-archive-card-media--placeholder {
  background: linear-gradient(135deg, rgba(0,255,136,0.05) 0%, rgba(0,212,255,0.05) 100%);
}

.seanav-archive-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.seanav-archive-card:hover .seanav-archive-card-img {
  transform: scale(1.05);
}

.seanav-archive-card-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.seanav-archive-card-cat {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #00ff88;
  margin-bottom: 8px;
  display: block;
}

.seanav-archive-card-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 10px !important;
}

.seanav-archive-card-title a {
  color: #f0f6fc !important;
  text-decoration: none !important;
}

.seanav-archive-card-title a:hover {
  color: #00ff88 !important;
}

.seanav-archive-card-excerpt {
  color: #8b949e;
  font-size: 0.85rem;
  line-height: 1.6;
  flex: 1;
  margin: 0 0 14px;
}

.seanav-archive-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.seanav-archive-card-date {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.68rem;
  color: #6e7681;
}

.seanav-archive-card-more {
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: #00ff88 !important;
  text-decoration: none !important;
  letter-spacing: 0.04em;
  transition: gap 0.15s;
}

.seanav-empty-state {
  text-align: center;
  padding: 60px 0;
  color: #8b949e;
}

.seanav-empty-icon {
  font-size: 2.5rem;
  margin-bottom: 14px;
  opacity: 0.4;
}

/* ============================================================
   ARCHIVE HERO BANNER (dark, no inline styles)
   ============================================================ */
.archive-hero-banner {
  background: rgba(10,14,20,0.98) !important;
  color: #f0f6fc !important;
  padding: 50px 0 !important;
  border-bottom: 3px solid #00ff88 !important;
  text-align: center !important;
}

.archive-hero-banner .archive-title {
  color: #f0f6fc !important;
  font-size: clamp(1.8rem,3.5vw,3rem) !important;
  margin: 0 0 10px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
}

.archive-hero-banner .archive-hero-sub,
.archive-hero-banner .taxonomy-description {
  color: rgba(240,246,252,0.82) !important;
  font-size: 1rem !important;
  max-width: 40ch !important;
  margin: 0 auto !important;
}

/* ============================================================
   NEWSLETTER SECTION
   ============================================================ */
.seanav-newsletter-strip {
  background: linear-gradient(135deg,
    rgba(0,255,136,0.04) 0%,
    rgba(6,10,15,0.98) 50%,
    rgba(0,212,255,0.03) 100%);
  border-top: 1px solid rgba(0,255,136,0.10);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  padding: 52px 0;
  position: relative;
  overflow: hidden;
}

.seanav-newsletter-strip::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,255,136,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.seanav-newsletter-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.seanav-newsletter-text {
  flex: 1;
  min-width: 240px;
}

.seanav-newsletter-eyebrow {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #00ff88;
  margin-bottom: 10px;
  display: block;
}

.seanav-newsletter-heading {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
  font-weight: 800 !important;
  color: #f0f6fc !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  -webkit-text-fill-color: #f0f6fc !important;
  background: none !important;
}

.seanav-newsletter-sub {
  color: #8b949e;
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0;
  max-width: 38ch;
}

.seanav-newsletter-form {
  flex-shrink: 0;
  width: 100%;
  max-width: 380px;
}

.seanav-newsletter-field {
  display: flex;
  gap: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(0,255,136,0.20);
  background: rgba(255,255,255,0.03);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.seanav-newsletter-field:focus-within {
  border-color: rgba(0,255,136,0.45);
  box-shadow: 0 0 0 3px rgba(0,255,136,0.10), 0 0 20px rgba(0,255,136,0.06);
}

.seanav-newsletter-input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: #f0f6fc !important;
  font-size: 0.88rem !important;
  padding: 11px 14px !important;
  outline: none !important;
  box-shadow: none !important;
  min-width: 0 !important;
}

.seanav-newsletter-input::placeholder {
  color: #6e7681;
}

.seanav-newsletter-btn {
  background: #00ff88 !important;
  color: #0d1117 !important;
  border: none !important;
  padding: 11px 20px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.06em !important;
  cursor: pointer !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  transition: background 0.2s !important;
  box-shadow: none !important;
}

.seanav-newsletter-btn:hover {
  background: #00cc6a !important;
}

.seanav-newsletter-privacy {
  font-size: 0.7rem !important;
  color: #6e7681 !important;
  margin: 8px 0 0 !important;
  text-align: center !important;
}

@media (max-width: 768px) {
  .seanav-newsletter-inner { flex-direction: column; gap: 28px; }
  .seanav-newsletter-form  { max-width: 100%; }
  .seanav-newsletter-heading { font-size: 1.4rem !important; }
}

/* ============================================================
   DARK / LIGHT MODE TOGGLE BUTTON
   ============================================================ */
.seanav-theme-toggle {
  width: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  color: #8b949e !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: background 0.2s, border-color 0.2s, color 0.2s !important;
  box-shadow: none !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  position: relative !important;
}

.seanav-theme-toggle:hover {
  background: rgba(0,255,136,0.10) !important;
  border-color: rgba(0,255,136,0.25) !important;
  color: #00ff88 !important;
}

/* Show moon by default (dark mode), hide sun */
.sn-toggle-sun  { display: none; }
.sn-toggle-moon { display: block; }

/* When light mode is active — show sun, hide moon */
body.sn-light-mode .sn-toggle-sun  { display: block; }
body.sn-light-mode .sn-toggle-moon { display: none; }

/* ============================================================
   LIGHT MODE — Softer dark (dimmer contrast, not full white)
   ============================================================ */
body.sn-light-mode {
  --lm-bg:      #1a2233;
  --lm-surface: #1e2a3d;
  --lm-card:    #233045;
  --lm-text:    #e2e8f0;
  --lm-muted:   #94a3b8;
  --lm-border:  rgba(255,255,255,0.12);
  background-color: var(--lm-bg) !important;
  color: var(--lm-text) !important;
}

body.sn-light-mode #header,
body.sn-light-mode .header-wrapper {
  background: rgba(26,34,51,0.97) !important;
}

body.sn-light-mode #footer,
body.sn-light-mode .footer-wrapper {
  background: #131b28 !important;
}

body.sn-light-mode .section,
body.sn-light-mode [style*="background-color:#0d1117"],
body.sn-light-mode [style*="background-color: #0d1117"] {
  background-color: var(--lm-bg) !important;
}

body.sn-light-mode .seanav-archive-card,
body.sn-light-mode .product-small .col-inner,
body.sn-light-mode .seanav-blog-card {
  background: var(--lm-card) !important;
}

body.sn-light-mode p,
body.sn-light-mode li,
body.sn-light-mode td {
  color: var(--lm-text) !important;
}

body.sn-light-mode h1,
body.sn-light-mode h2,
body.sn-light-mode h3,
body.sn-light-mode h4,
body.sn-light-mode h5 {
  -webkit-text-fill-color: var(--lm-text) !important;
  background: none !important;
  color: var(--lm-text) !important;
}

/* Transition for smooth mode switch */
body, #header, #footer, .section, .seanav-archive-card {
  transition: background-color 0.3s ease, color 0.2s ease !important;
}
