/* Storefront V26 - hosted Tebex storefront redesign
   Purpose: keep checkout/payment with Tebex while making the store feel native to Emberstone. */
body:not(.admin-body) .store-v26 {
  --store-bg: #060b18;
  --store-panel: rgba(10, 16, 34, .82);
  --store-panel-strong: rgba(13, 20, 43, .94);
  --store-border: rgba(164, 177, 214, .16);
  --store-border-strong: rgba(167, 139, 250, .35);
  --store-text: #f8fafc;
  --store-soft: #c9d3e4;
  --store-muted: #8f9bb1;
  --store-pink: #ef47c5;
  --store-violet: #7c5cff;
  --store-blue: #4db8ff;
  --store-green: #4ade80;
  --store-amber: #fbbf24;
  min-height: calc(100vh - 140px);
  padding: clamp(22px, 2.6vw, 42px) 16px 64px;
  background:
    radial-gradient(circle at 12% 8%, rgba(77, 184, 255, .13), transparent 28rem),
    radial-gradient(circle at 88% 3%, rgba(239, 71, 197, .12), transparent 28rem),
    radial-gradient(circle at 74% 82%, rgba(124, 92, 255, .12), transparent 32rem),
    linear-gradient(180deg, #050814 0%, #081224 52%, #060b18 100%);
}
body:not(.admin-body) .store-v26 * { box-sizing: border-box; }
body:not(.admin-body) .store-v26-shell {
  width: min(1500px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 22px;
}
body:not(.admin-body) .store-v26-hero {
  position: relative;
  overflow: hidden;
  min-height: 390px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  gap: clamp(22px, 4vw, 56px);
  align-items: center;
  padding: clamp(28px, 4vw, 56px);
  border: 1px solid var(--store-border-strong);
  border-radius: 34px;
  background:
    linear-gradient(135deg, rgba(13, 20, 43, .94), rgba(24, 10, 45, .88)),
    radial-gradient(circle at 84% 18%, rgba(239, 71, 197, .20), transparent 24rem);
  box-shadow: 0 30px 90px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.06);
}
body:not(.admin-body) .store-v26-hero::before,
body:not(.admin-body) .store-v26-hero::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
body:not(.admin-body) .store-v26-hero::before {
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,8,20,.75), rgba(5,8,20,.08) 66%),
    radial-gradient(circle at 74% 54%, rgba(77,184,255,.11), transparent 20rem);
}
body:not(.admin-body) .store-v26-hero::after {
  width: 540px;
  height: 540px;
  right: -190px;
  top: -190px;
  border-radius: 999px;
  border: 82px solid rgba(124, 92, 255, .08);
  box-shadow: inset 0 0 0 56px rgba(239, 71, 197, .04);
}
body:not(.admin-body) .store-v26-hero > * { position: relative; z-index: 1; }
body:not(.admin-body) .store-v26-kicker {
  display: block;
  margin: 0 0 10px;
  color: #ff9be6;
  font-size: .74rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 950;
}
body:not(.admin-body) .store-v26-hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--store-text);
  font-size: clamp(2.6rem, 5.4vw, 6.2rem);
  line-height: .9;
  letter-spacing: -.065em;
  font-weight: 1000;
}
body:not(.admin-body) .store-v26-hero p {
  max-width: 680px;
  margin: 18px 0 0;
  color: var(--store-soft);
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.7;
}
body:not(.admin-body) .store-v26-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 26px;
  max-width: 760px;
}
body:not(.admin-body) .store-v26-trust-grid div {
  min-height: 78px;
  padding: 15px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
body:not(.admin-body) .store-v26-trust-grid span {
  display: block;
  color: var(--store-muted);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 900;
}
body:not(.admin-body) .store-v26-trust-grid strong {
  display: block;
  margin-top: 6px;
  color: var(--store-text);
  font-size: 1.02rem;
}
body:not(.admin-body) .store-v26-hero-panel {
  display: grid;
  gap: 14px;
  justify-items: end;
}
body:not(.admin-body) .store-v26-crystal-card {
  width: min(440px, 100%);
  aspect-ratio: 1 / 1;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(135deg, rgba(239,71,197,.24), rgba(77,184,255,.12));
  box-shadow: 0 28px 82px rgba(0,0,0,.38), 0 0 42px rgba(124,92,255,.14);
}
body:not(.admin-body) .store-v26-crystal-card img { width: 100%; height: 100%; object-fit: cover; }
body:not(.admin-body) .store-v26-cart-mini {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(4,8,20,.78);
  color: var(--store-text);
  box-shadow: 0 16px 38px rgba(0,0,0,.28);
}
body:not(.admin-body) .store-v26-cart-mini span { font-weight: 900; color: var(--store-soft); }
body:not(.admin-body) .store-v26-cart-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  color: #fff;
  background: linear-gradient(135deg, var(--store-pink), var(--store-violet) 58%, var(--store-blue));
  font-weight: 950;
  cursor: pointer;
}
body:not(.admin-body) .store-v26-cart-button em { font-style: normal; opacity: .85; font-size: .78rem; }
body:not(.admin-body) .store-v26-controlbar {
  display: grid;
  grid-template-columns: auto minmax(280px, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--store-border);
  border-radius: 24px;
  padding: 14px;
  background: rgba(8,13,29,.76);
  box-shadow: 0 20px 58px rgba(0,0,0,.24);
}
body:not(.admin-body) .store-v26-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 15px;
  border-radius: 999px;
  font-weight: 900;
  white-space: nowrap;
}
body:not(.admin-body) .store-v26-status span { width: 9px; height: 9px; border-radius: 999px; background: currentColor; }
body:not(.admin-body) .store-v26-status.connected { color: #9af0be; border: 1px solid rgba(74,222,128,.22); background: rgba(74,222,128,.10); }
body:not(.admin-body) .store-v26-status.warning { color: #fde68a; border: 1px solid rgba(251,191,36,.28); background: rgba(251,191,36,.10); }
body:not(.admin-body) .store-v26-search {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
body:not(.admin-body) .store-v26-search span {
  color: var(--store-muted);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
  white-space: nowrap;
}
body:not(.admin-body) .store-v26-search input {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 15px;
  background: rgba(2,6,23,.72);
  color: var(--store-text);
  padding: 0 15px;
}
body:not(.admin-body) .store-v26-search input:focus { outline: none; border-color: rgba(77,184,255,.62); box-shadow: 0 0 0 3px rgba(77,184,255,.13); }
body:not(.admin-body) .store-v26-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(135deg, var(--store-pink), var(--store-violet) 65%, var(--store-blue));
  color: #fff;
  text-decoration: none;
  font-weight: 950;
  cursor: pointer;
}
body:not(.admin-body) .store-v26-layout {
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
body:not(.admin-body) .store-v26-sidebar {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 14px;
}
body:not(.admin-body) .store-v26-sidebar-card,
body:not(.admin-body) .store-v26-heading,
body:not(.admin-body) .store-v26-category,
body:not(.admin-body) .store-v26-empty-card {
  border: 1px solid var(--store-border);
  border-radius: 24px;
  background: var(--store-panel);
  box-shadow: 0 20px 58px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}
body:not(.admin-body) .store-v26-sidebar-card { padding: 20px; }
body:not(.admin-body) .store-v26-sidebar-card h2,
body:not(.admin-body) .store-v26-sidebar-card strong,
body:not(.admin-body) .store-v26-heading h2,
body:not(.admin-body) .store-v26-section-head h3,
body:not(.admin-body) .store-v26-product h4,
body:not(.admin-body) .store-v26-empty-card h3 { color: var(--store-text); }
body:not(.admin-body) .store-v26-sidebar-card h2 { margin: 0 0 8px; font-size: 1.25rem; }
body:not(.admin-body) .store-v26-sidebar-card p { margin: 0; color: var(--store-soft); line-height: 1.55; }
body:not(.admin-body) .store-v26-sidebar-card.compact ol { margin: 12px 0 0 18px; padding: 0; color: var(--store-soft); line-height: 1.8; }
body:not(.admin-body) .store-v26-categories {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--store-border);
  border-radius: 24px;
  background: rgba(3,8,20,.68);
}
body:not(.admin-body) .store-v26 .store-cat-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 46px;
  border: 1px solid transparent;
  border-radius: 15px;
  background: transparent;
  color: var(--store-soft);
  padding: 0 13px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
  transition: .16s ease;
}
body:not(.admin-body) .store-v26 .store-cat-link em {
  min-width: 28px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: var(--store-text);
  font-style: normal;
  text-align: center;
}
body:not(.admin-body) .store-v26 .store-cat-link:hover,
body:not(.admin-body) .store-v26 .store-cat-link.active {
  color: #fff;
  border-color: rgba(167,139,250,.36);
  background: linear-gradient(135deg, rgba(239,71,197,.24), rgba(124,92,255,.22));
  transform: translateY(-1px);
}
body:not(.admin-body) .store-v26-main { display: grid; gap: 18px; min-width: 0; }
body:not(.admin-body) .store-v26-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  padding: 22px 24px;
}
body:not(.admin-body) .store-v26-heading h2 { margin: 0; font-size: clamp(1.7rem, 2.4vw, 2.45rem); }
body:not(.admin-body) .store-v26-heading p { margin: 8px 0 0; color: var(--store-soft); line-height: 1.55; }
body:not(.admin-body) .store-v26-stats { display: flex; gap: 10px; }
body:not(.admin-body) .store-v26-stats div {
  min-width: 106px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  text-align: center;
}
body:not(.admin-body) .store-v26-stats strong { display: block; color: var(--store-text); font-size: 1.4rem; }
body:not(.admin-body) .store-v26-stats span { display: block; color: var(--store-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; font-weight: 900; }
body:not(.admin-body) .store-v26-alert {
  display: grid;
  gap: 5px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  color: var(--store-soft);
  background: rgba(255,255,255,.04);
}
body:not(.admin-body) .store-v26-alert.warning { border-color: rgba(251,191,36,.28); background: rgba(251,191,36,.09); }
body:not(.admin-body) .store-v26-alert.success { border-color: rgba(74,222,128,.28); background: rgba(74,222,128,.09); }
body:not(.admin-body) .store-v26-products { display: grid; gap: 18px; }
body:not(.admin-body) .store-v26-category { padding: 20px; }
body:not(.admin-body) .store-v26-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
body:not(.admin-body) .store-v26-section-head h3 { margin: 0; font-size: 1.35rem; }
body:not(.admin-body) .store-v26-section-head > span {
  border-radius: 999px;
  padding: 7px 11px;
  background: rgba(255,255,255,.07);
  color: var(--store-soft);
  font-weight: 900;
}
body:not(.admin-body) .store-v26-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}
body:not(.admin-body) .store-v26-product {
  display: grid;
  grid-template-rows: 172px 1fr;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 22px;
  background: var(--store-panel-strong);
  box-shadow: 0 18px 44px rgba(0,0,0,.20);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
body:not(.admin-body) .store-v26-product:hover {
  transform: translateY(-3px);
  border-color: rgba(77,184,255,.30);
  box-shadow: 0 24px 60px rgba(0,0,0,.30), 0 0 22px rgba(124,92,255,.10);
}
body:not(.admin-body) .store-v26-product-media {
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(239,71,197,.22), rgba(77,184,255,.14));
  color: #fff;
  font-weight: 1000;
  font-size: 2rem;
}
body:not(.admin-body) .store-v26-product-media img { width: 100%; height: 100%; object-fit: cover; }
body:not(.admin-body) .store-v26-product-body { display: grid; gap: 10px; padding: 16px; }
body:not(.admin-body) .store-v26-product-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
body:not(.admin-body) .store-v26-product-meta span {
  border-radius: 999px;
  padding: 5px 9px;
  border: 1px solid rgba(167,139,250,.20);
  background: rgba(124,92,255,.13);
  color: #efe9ff;
  font-size: .73rem;
  font-weight: 900;
}
body:not(.admin-body) .store-v26-product-meta strong { color: #9bdcff; white-space: nowrap; }
body:not(.admin-body) .store-v26-product h4 { margin: 0; font-size: 1.05rem; line-height: 1.2; }
body:not(.admin-body) .store-v26-product p { margin: 0; color: var(--store-soft); line-height: 1.55; font-size: .92rem; }
body:not(.admin-body) .store-v26-product-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: auto; }
body:not(.admin-body) .store-v26 .btn.primary,
body:not(.admin-body) .store-cart-panel .btn.primary {
  border: 0;
  background: linear-gradient(135deg, var(--store-pink), var(--store-violet) 65%, var(--store-blue)) !important;
  color: #fff !important;
  box-shadow: none !important;
}
body:not(.admin-body) .store-v26 .btn.ghost,
body:not(.admin-body) .store-cart-panel .btn.ghost {
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.055) !important;
  color: var(--store-text) !important;
}
body:not(.admin-body) .store-v26-empty-card {
  padding: clamp(28px, 4vw, 48px);
  text-align: center;
  color: var(--store-soft);
}
body:not(.admin-body) .store-v26-empty-card h3 { margin: 14px 0 8px; font-size: clamp(1.6rem, 3vw, 2.4rem); }
body:not(.admin-body) .store-v26-empty-card p { max-width: 680px; margin: 0 auto 18px; line-height: 1.65; }
body:not(.admin-body) .store-v26-feedback {
  border: 1px solid var(--store-border);
  border-radius: 16px;
  padding: 12px 14px;
  color: var(--store-text);
  background: rgba(255,255,255,.05);
}
body:not(.admin-body) .store-v26-feedback.success { border-color: rgba(74,222,128,.28); background: rgba(74,222,128,.10); }
body:not(.admin-body) .store-v26-feedback.error { border-color: rgba(248,113,113,.28); background: rgba(248,113,113,.10); }
body:not(.admin-body) .store-cart-panel {
  background: linear-gradient(180deg, rgba(8, 13, 29, .98), rgba(3, 7, 18, .98)) !important;
  border-left: 1px solid rgba(167,139,250,.18) !important;
}
body:not(.admin-body) .store-cart-head h3 { color: #fff; }
body:not(.admin-body) .store-cart-item { border-color: rgba(255,255,255,.10) !important; background: rgba(255,255,255,.045) !important; }
body:not(.admin-body) .store-cart-thumb { background: linear-gradient(135deg, rgba(239,71,197,.24), rgba(77,184,255,.14)) !important; }
body:not(.admin-body) .storefront-modal-panel { background: #080d1d !important; border-color: rgba(167,139,250,.22) !important; }
@media (max-width: 1180px) {
  body:not(.admin-body) .store-v26-hero { grid-template-columns: 1fr; }
  body:not(.admin-body) .store-v26-hero-panel { justify-items: start; }
  body:not(.admin-body) .store-v26-crystal-card { width: min(360px, 100%); }
  body:not(.admin-body) .store-v26-layout { grid-template-columns: 1fr; }
  body:not(.admin-body) .store-v26-sidebar { position: static; }
  body:not(.admin-body) .store-v26-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  body:not(.admin-body) .store-v26 { padding: 16px 10px 42px; }
  body:not(.admin-body) .store-v26-hero { min-height: 0; padding: 24px 18px; border-radius: 26px; }
  body:not(.admin-body) .store-v26-hero h1 { font-size: clamp(2.35rem, 12vw, 3.7rem); }
  body:not(.admin-body) .store-v26-trust-grid { grid-template-columns: 1fr; }
  body:not(.admin-body) .store-v26-controlbar { grid-template-columns: 1fr; }
  body:not(.admin-body) .store-v26-search { display: grid; gap: 8px; }
  body:not(.admin-body) .store-v26-categories { grid-template-columns: 1fr; }
  body:not(.admin-body) .store-v26-heading { display: grid; }
  body:not(.admin-body) .store-v26-stats { width: 100%; }
  body:not(.admin-body) .store-v26-stats div { flex: 1; }
  body:not(.admin-body) .store-v26-grid { grid-template-columns: 1fr; }
  body:not(.admin-body) .store-v26-section-head { align-items: start; display: grid; }
}

/* Storefront V27 - remove oversized hero and tighten hosted Tebex storefront header */
body:not(.admin-body) .store-v26-storefront-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(18px, 2.2vw, 28px);
  border: 1px solid var(--store-border-strong);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 20%, rgba(124, 92, 255, .18), transparent 26rem),
    linear-gradient(135deg, rgba(11, 18, 38, .92), rgba(18, 13, 42, .82));
  box-shadow: 0 18px 56px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04);
}
body:not(.admin-body) .store-v26-storefront-head h1 {
  margin: 0;
  color: var(--store-text);
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: 1;
  letter-spacing: -.035em;
  font-weight: 1000;
}
body:not(.admin-body) .store-v26-storefront-head p {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--store-soft);
  font-size: .98rem;
  line-height: 1.6;
}
body:not(.admin-body) .store-v26-cart-button-inline {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 9px 15px;
  box-shadow: 0 12px 30px rgba(124,92,255,.22);
}
body:not(.admin-body) .store-v26-cart-button-inline span {
  color: #fff;
  font-weight: 950;
}
@media (max-width: 760px) {
  body:not(.admin-body) .store-v26-storefront-head {
    align-items: flex-start;
    flex-direction: column;
  }
}
