/** Shopify CDN: Minification failed

Line 626:11 Expected identifier but found whitespace
Line 626:20 Unexpected ";"

**/
/* ═══════════════════════════════════════════════════════════════
   JUST GET IT NOW — Halara / TikTok Shop style
   www.justgetitnow.store
   Mobile-first · Tablet · Desktop
   ═══════════════════════════════════════════════════════════════ */

:root {
  --jgin-bg: #1c1c22;
  --jgin-bg-elevated: #26262e;
  --jgin-bg-card: #32323c;
  --jgin-bg-surface: #2a2a32;
  --jgin-text: #f5f5f7;
  --jgin-text-muted: #b4b4be;
  --jgin-yellow: #facc15;
  --jgin-yellow-bg: rgba(250, 204, 21, 0.15);
  --jgin-teal: #2dd4bf;
  --jgin-teal-bg: rgba(45, 212, 191, 0.18);
  --jgin-red: #ef4444;
  --jgin-red-btn: #fe2c55;
  --jgin-red-btn-hover: #e0264c;
  --jgin-border: rgba(255, 255, 255, 0.08);
  --jgin-radius: 8px;
  --jgin-radius-pill: 999px;
  --jgin-gap: 8px;
  --jgin-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --jgin-max: 1400px;
  --jgin-gold: #d4af37;
  --jgin-gold-light: #f0d78c;
  --jgin-gold-border: rgba(212, 175, 55, 0.35);
  --jgin-search-height: 72px;
  --jgin-official-height: 40px;
  --jgin-ticker-height: 32px;
  --jgin-top-stack-height: calc(var(--jgin-search-height) + var(--jgin-official-height) + var(--jgin-ticker-height));
}

/* ── Global dark shell ── */
body.jgin-halara-theme {
  background: var(--jgin-bg) !important;
  color: var(--jgin-text);
  font-family: var(--jgin-font);
  -webkit-font-smoothing: antialiased;
}

body.jgin-halara-theme main#MainContent {
  background: var(--jgin-bg);
  animation: none;
  padding-bottom: env(safe-area-inset-bottom, 0);
}

body.jgin-halara-theme .section-background {
  background: var(--jgin-bg) !important;
}

body.jgin-halara-theme .shopify-section:not(.jgin-section-official):not(.jgin-section-profile):not(.jgin-section-nav):not(.jgin-section-grid) {
  background: var(--jgin-bg);
}

/* Hide default Horizon header — logo + search + cart bar is the only header */
body.jgin-halara-theme #header-group.jgin-header-group-hidden,
body.jgin-halara-theme #header-group.jgin-header-group-hidden header-component {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.jgin-halara-theme {
  --header-height: 0px;
  --header-group-height: 0px;
}

body.jgin-halara-theme footer {
  background: var(--jgin-bg-elevated);
  border-top: 1px solid var(--jgin-border);
  color: var(--jgin-text-muted);
}

body.jgin-halara-theme .page-width {
  max-width: var(--jgin-max);
  padding-inline: max(12px, env(safe-area-inset-left, 12px));
}

/* ── Official bar (centered trust strip below header) ── */
.jgin-official-bar {
  background: var(--jgin-bg-elevated);
  border-bottom: 1px solid var(--jgin-border);
  font-size: 11px;
  line-height: 1.4;
}

.jgin-official-bar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 12px;
  flex-wrap: wrap;
  text-align: center;
  width: 100%;
  max-width: var(--jgin-max);
  margin: 0 auto;
}

.jgin-official-bar__mark {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.jgin-official-bar__logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: 4px;
}

.jgin-official-bar__badge {
  background: linear-gradient(135deg, var(--jgin-gold-light), var(--jgin-gold));
  color: #111;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 3px 10px;
  border-radius: var(--jgin-radius-pill);
  font-size: 10px;
  text-transform: uppercase;
}

.jgin-official-bar__stars {
  color: var(--jgin-gold);
  font-size: 10px;
  letter-spacing: 0.06em;
}

.jgin-official-bar__dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--jgin-text-muted);
}

.jgin-official-bar__trust {
  color: var(--jgin-text-muted);
}

.jgin-official-bar__domain {
  color: var(--jgin-gold-light);
  font-weight: 600;
}

@media (max-width: 480px) {
  .jgin-official-bar__inner {
    gap: 6px;
    font-size: 10px;
  }

  .jgin-official-bar__dot:nth-of-type(2) {
    display: none;
  }
}

/* ── Shop profile ── */
.jgin-shop-profile {
  background: var(--jgin-bg);
  padding: 16px 12px 12px;
}

.jgin-shop-profile__inner {
  max-width: var(--jgin-max);
  margin: 0 auto;
}

.jgin-shop-profile__row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.jgin-shop-profile__logo-wrap {
  flex-shrink: 0;
}

.jgin-shop-profile__logo {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  object-fit: contain;
  background: #000;
  border: 1px solid var(--jgin-gold-border);
  padding: 4px;
  display: block;
}

.jgin-shop-profile__face {
  object-fit: cover;
  border-radius: 50%;
  padding: 0;
  border: 2px solid var(--jgin-gold);
  box-shadow: 0 0 0 2px rgb(212 175 55 / 0.2);
}

.jgin-shop-profile__logo--placeholder {
  display: grid;
  place-items: center;
  background: var(--jgin-bg-card);
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--jgin-teal);
}

.jgin-shop-profile__info {
  flex: 1;
  min-width: 0;
}

.jgin-shop-profile__name-row {
  display: flex;
  align-items: center;
  gap: 4px;
}

.jgin-shop-profile__name {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0;
  color: var(--jgin-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.jgin-shop-profile__verified {
  display: inline-flex;
  color: #20d5ec;
  flex-shrink: 0;
}

.jgin-shop-profile__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  font-size: 12px;
  color: var(--jgin-text-muted);
}

.jgin-shop-profile__stars {
  color: var(--jgin-yellow);
  letter-spacing: -1px;
  font-size: 11px;
}

.jgin-shop-profile__score {
  color: var(--jgin-text);
  font-weight: 600;
}

.jgin-shop-profile__follow {
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.12);
  color: var(--jgin-text);
  border: none;
  border-radius: var(--jgin-radius-pill);
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease;
}

.jgin-shop-profile__follow:hover {
  background: rgba(255, 255, 255, 0.2);
  color: var(--jgin-text);
}

.jgin-shop-profile__stats {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-top: 14px;
  padding-bottom: 4px;
}

.jgin-shop-profile__stats::-webkit-scrollbar {
  display: none;
}

.jgin-shop-profile__stat {
  flex-shrink: 0;
  scroll-snap-align: start;
  font-size: 12px;
  color: var(--jgin-text-muted);
  white-space: nowrap;
}

.jgin-shop-profile__stat strong {
  display: block;
  color: var(--jgin-text);
  font-size: 14px;
  font-weight: 700;
}

/* ── Sticky filter nav ── */
.shopify-section.jgin-section-nav {
  position: relative;
  z-index: 400;
  overflow: visible !important;
}

.jgin-shop-nav {
  position: sticky;
  top: var(--jgin-top-stack-height, 112px);
  z-index: 400;
  background: var(--jgin-bg-elevated);
  border-bottom: 1px solid var(--jgin-border);
  overflow: visible;
}

.jgin-shop-nav__inner {
  overflow: visible;
  max-width: var(--jgin-max);
  margin: 0 auto;
  padding: 0 12px;
}

.jgin-shop-nav__track {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.jgin-shop-nav__track::-webkit-scrollbar {
  display: none;
}

.jgin-shop-nav__chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  scroll-snap-align: start;
  background: var(--jgin-bg-card);
  color: var(--jgin-text);
  border: 1px solid var(--jgin-border);
  border-radius: var(--jgin-radius-pill);
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease;
  list-style: none;
}

.jgin-shop-nav__chip:hover,
.jgin-shop-nav__chip--accent {
  background: var(--jgin-teal-bg);
  border-color: rgba(45, 212, 191, 0.35);
  color: var(--jgin-teal);
}

.jgin-shop-nav__dropdown {
  position: relative;
  flex-shrink: 0;
}

.jgin-shop-nav__dropdown summary {
  list-style: none;
}

.jgin-shop-nav__dropdown summary::-webkit-details-marker {
  display: none;
}

.jgin-shop-nav__dropdown[open] summary {
  background: var(--jgin-teal-bg);
  border-color: rgba(45, 212, 191, 0.35);
  color: var(--jgin-teal);
}

.jgin-shop-nav__menu {
  position: fixed;
  min-width: 200px;
  max-width: min(280px, calc(100vw - 24px));
  max-height: min(320px, 60vh);
  overflow-y: auto;
  background: var(--jgin-bg-card);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: var(--jgin-radius);
  padding: 6px;
  z-index: 9999;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
  list-style: none;
}

.jgin-shop-nav__menu a {
  display: block;
  padding: 10px 12px;
  color: var(--jgin-text);
  text-decoration: none;
  font-size: 13px;
  border-radius: 6px;
}

.jgin-shop-nav__menu a:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* ── Product grid ── */
.jgin-halara-grid {
  background: var(--jgin-bg);
  padding: 12px 0 28px;
}

.jgin-halara-grid__inner {
  max-width: var(--jgin-max);
  margin: 0 auto;
  padding-inline: max(12px, env(safe-area-inset-left, 12px));
}

.jgin-halara-grid__header {
  text-align: center;
  margin-bottom: 14px;
}

.jgin-halara-grid__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--jgin-text);
}

.jgin-halara-grid__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  align-items: stretch;
}

.jgin-halara-card {
  width: 100%;
  min-width: 0;
  display: flex;
}

.jgin-halara-grid__empty {
  width: 100%;
  text-align: center;
  color: var(--jgin-text-muted);
  padding: 24px;
}

.jgin-halara-grid__footer {
  text-align: center;
  margin-top: 16px;
}

/* Tablet */
@media (min-width: 750px) {
  .jgin-halara-grid__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }
}

/* Desktop */
@media (min-width: 990px) {
  .jgin-halara-grid__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }
}

@media (min-width: 1200px) {
  .jgin-halara-grid__list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* ── Product card (Halara clone) ── */
.jgin-halara-card__article {
  background: var(--jgin-bg);
  border-radius: var(--jgin-radius);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.jgin-halara-card__media-link {
  display: block;
  text-decoration: none;
}

.jgin-halara-card__media {
  position: relative;
  aspect-ratio: 3 / 4;
  background: var(--jgin-bg-card);
  overflow: hidden;
  border-radius: var(--jgin-radius);
}

.jgin-halara-card__img--primary,
.jgin-halara-card__img--hover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}

.jgin-halara-card__img--hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.06);
}

.jgin-halara-card__article:hover .jgin-halara-card__img--primary,
.jgin-halara-card__article:focus-within .jgin-halara-card__img--primary {
  transform: scale(1.05);
}

.jgin-halara-card__article:hover .jgin-halara-card__img--hover,
.jgin-halara-card__article:focus-within .jgin-halara-card__img--hover {
  opacity: 1;
  transform: scale(1.02);
}

.jgin-halara-card__article:hover,
.jgin-halara-card__article:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgb(0 0 0 / 0.35);
}

.jgin-halara-card__article {
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.jgin-halara-card__heat-badge,
.jgin-halara-card__view-badge {
  position: absolute;
  left: 6px;
  font-size: 9px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: var(--jgin-radius-pill);
  backdrop-filter: blur(6px);
  z-index: 2;
  animation: jgin-badge-pulse 2.4s ease-in-out infinite;
}

.jgin-halara-card__heat-badge {
  top: 6px;
  background: rgb(254 44 85 / 0.92);
  color: #fff;
}

.jgin-halara-card__view-badge {
  top: 28px;
  background: rgb(0 0 0 / 0.72);
  color: var(--jgin-gold-light);
  animation-delay: 0.6s;
}

.jgin-halara-card__stock-badge {
  position: absolute;
  right: 6px;
  bottom: 34px;
  background: rgb(250 204 21 / 0.95);
  color: #111;
  font-size: 9px;
  font-weight: 800;
  padding: 3px 7px;
  border-radius: 4px;
  z-index: 2;
  animation: jgin-badge-pulse 1.8s ease-in-out infinite;
}

.jgin-pulse-badge {
  animation: jgin-badge-pulse 2s ease-in-out infinite;
}

@keyframes jgin-badge-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.04); opacity: 0.92; }
}

.jgin-halara-card__article:hover .jgin-halara-card__price-block,
.jgin-halara-card__article:focus-within .jgin-halara-card__price-block {
  transform: translateY(-2px);
}

.jgin-halara-card__price-block {
  transition: transform 0.25s ease;
}

.jgin-halara-card__ship-badge {
  z-index: 2;
}

.jgin-halara-card__sale-badge {
  z-index: 2;
}
  position: absolute;
  left: 6px;
  bottom: 6px;
  background: var(--jgin-teal-bg);
  color: var(--jgin-teal);
  font-size: 10px;
  font-weight: 600;
  padding: 3px 7px;
  border-radius: 4px;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(45, 212, 191, 0.25);
}

.jgin-halara-card__sale-badge {
  position: absolute;
  right: 6px;
  top: 6px;
  background: var(--jgin-red);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 6px;
  border-radius: 4px;
}

.jgin-halara-card__body {
  padding: 8px 6px 10px;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  width: 100%;
}

.jgin-halara-card__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
}

.jgin-halara-card__label-row {
  min-height: 22px;
  display: flex;
  align-items: center;
  margin-bottom: 4px;
}

.jgin-halara-card__label {
  display: inline-block;
  width: fit-content;
  background: var(--jgin-yellow-bg);
  color: var(--jgin-yellow);
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: var(--jgin-radius-pill);
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.jgin-halara-card__vendor {
  min-height: 16px;
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--jgin-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 16px;
}

.jgin-halara-card__vendor--empty {
  visibility: hidden;
}

.jgin-halara-card__title {
  color: var(--jgin-text);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  min-height: calc(13px * 1.35 * 2);
  max-height: calc(13px * 1.35 * 2);
}

.jgin-halara-card__title:hover {
  color: var(--jgin-teal);
}

.jgin-halara-card__social {
  font-size: 11px;
  color: var(--jgin-text-muted);
  margin: 4px 0 0;
  min-height: 16px;
  line-height: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.jgin-halara-card__meta {
  font-size: 11px;
  min-height: 18px;
  line-height: 18px;
  margin-top: 2px;
}

.jgin-halara-card__rating {
  color: var(--jgin-text-muted);
}

.jgin-halara-card__stars {
  color: var(--jgin-yellow);
}

.jgin-halara-card__price-block {
  margin-top: auto;
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
}

.jgin-halara-card__was-slot {
  min-height: 22px;
  display: flex;
  align-items: center;
}

.jgin-halara-card--no-sale .jgin-halara-card__was-slot {
  visibility: hidden;
}

.jgin-halara-card__was-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  width: 100%;
  min-height: 22px;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
}

.jgin-halara-card__price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 40px;
  width: 100%;
}

.jgin-halara-card__now-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  flex: 1;
  min-width: 0;
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.22), rgba(45, 212, 191, 0.08));
  border: 1px solid rgba(45, 212, 191, 0.35);
  border-radius: 8px;
  padding: 8px 10px;
  height: 40px;
  box-sizing: border-box;
}

.jgin-halara-card__price-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--jgin-teal);
  flex-shrink: 0;
}

.jgin-halara-card__price {
  font-size: 18px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (min-width: 990px) {
  .jgin-halara-card__price {
    font-size: 19px;
  }
}

.jgin-halara-card__was-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--jgin-text-muted);
  letter-spacing: 0.04em;
}

.jgin-halara-card__compare {
  font-size: 14px;
  color: var(--jgin-text-muted);
  font-weight: 600;
  text-decoration: line-through;
  text-decoration-color: var(--jgin-red);
  text-decoration-thickness: 2px;
}

.jgin-halara-card__save-pill {
  font-size: 10px;
  font-weight: 800;
  color: #fff;
  background: var(--jgin-red);
  padding: 2px 7px;
  border-radius: var(--jgin-radius-pill);
  letter-spacing: 0.03em;
}

.jgin-halara-card__cart-btn {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--jgin-red-btn);
  color: #fff;
  border: none;
  padding: 0;
  cursor: pointer;
  display: grid;
  place-items: center;
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 12px rgba(254, 44, 85, 0.35);
}

.jgin-halara-card__cart-btn.is-adding {
  animation: jgin-cart-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.jgin-halara-card__cart-btn.is-added {
  background: #22c55e;
  box-shadow: 0 0 0 3px rgb(34 197 94 / 0.35);
}

.jgin-halara-card__cart-btn--soldout {
  opacity: 0.55;
}

@keyframes jgin-cart-pop {
  0% { transform: scale(1); }
  40% { transform: scale(1.22); }
  100% { transform: scale(1); }
}

.jgin-halara-card__cart-btn:hover {
  background: var(--jgin-red-btn-hover);
  transform: scale(1.06);
  color: #fff;
}

.jgin-halara-card__cart-btn:active {
  transform: scale(0.95);
}

/* ── Global search bar (site header) ── */
.jgin-global-search {
  background: #0a0a0a;
  border-bottom: 1px solid var(--jgin-gold-border);
  position: sticky;
  top: 0;
  z-index: 350;
}

.jgin-global-search__inner {
  max-width: var(--jgin-max);
  margin: 0 auto;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.jgin-global-search__brand {
  flex-shrink: 0;
  text-decoration: none;
  color: var(--jgin-text);
}

.jgin-global-search__logo {
  height: 52px;
  width: auto;
  max-width: min(280px, 42vw);
  display: block;
  object-fit: contain;
}

@media (min-width: 768px) {
  .jgin-global-search__logo {
    height: 64px;
    max-width: 340px;
  }
}

@media (min-width: 1024px) {
  .jgin-global-search__logo {
    height: 72px;
    max-width: 380px;
  }
}

.jgin-global-search__brand-text {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.jgin-global-search__form {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--jgin-bg-card);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  overflow: visible;
  min-width: 0;
  padding: 4px 4px 4px 0;
}

.jgin-global-search__icon {
  display: grid;
  place-items: center;
  padding-left: 14px;
  color: var(--jgin-text-muted);
  flex-shrink: 0;
}

.jgin-global-search__input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  color: var(--jgin-text);
  font-size: 14px;
  padding: 11px 10px;
  outline: none;
}

.jgin-global-search__input::placeholder {
  color: var(--jgin-text-muted);
}

.jgin-global-search__submit {
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.06);
  color: var(--jgin-text);
  font-size: 12px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 7px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  letter-spacing: 0.02em;
}

.jgin-global-search__submit:hover {
  background: rgba(45, 212, 191, 0.15);
  border-color: rgba(45, 212, 191, 0.45);
  color: var(--jgin-teal);
}

.jgin-global-search__cart {
  position: relative;
  flex-shrink: 0;
  color: var(--jgin-text);
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--jgin-bg-card);
  border: 1px solid var(--jgin-border);
  text-decoration: none;
}

.jgin-global-search__cart-count {
  position: absolute;
  top: -2px;
  right: -2px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--jgin-red-btn);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  display: grid;
  place-items: center;
}

@media (min-width: 750px) {
  .jgin-global-search__brand-text {
    max-width: none;
    font-size: 15px;
  }

  .jgin-global-search__input {
    font-size: 15px;
  }
}

body.jgin-halara-theme #header-group header-component .header__search,
body.jgin-halara-theme #header-group .header__icon--search {
  display: none !important;
}

/* ── Promo marketing banners ── */
.jgin-promo-banners {
  background: var(--jgin-bg);
  padding: 12px 0 4px;
}

.jgin-promo-banners__inner {
  max-width: var(--jgin-max);
  margin: 0 auto;
  padding: 0 12px;
  display: grid;
  gap: 12px;
}

@media (min-width: 750px) {
  .jgin-promo-banners__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
}

.jgin-promo-banner {
  position: relative;
  min-height: 200px;
  border-radius: 14px;
  overflow: hidden;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: #111116;
}

.jgin-promo-banner__visual {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.jgin-promo-banner__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  display: block;
}

.jgin-promo-banner__fade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgba(12, 12, 16, 0.97) 0%,
    rgba(12, 12, 16, 0.88) 42%,
    rgba(12, 12, 16, 0.45) 68%,
    rgba(12, 12, 16, 0.25) 100%
  );
}

.jgin-promo-banner--pink .jgin-promo-banner__fade {
  background: linear-gradient(
    105deg,
    rgba(20, 8, 14, 0.96) 0%,
    rgba(40, 10, 24, 0.82) 45%,
    rgba(254, 44, 85, 0.18) 100%
  );
}

.jgin-promo-banner--teal .jgin-promo-banner__fade {
  background: linear-gradient(
    105deg,
    rgba(8, 18, 18, 0.96) 0%,
    rgba(10, 40, 38, 0.82) 45%,
    rgba(45, 212, 191, 0.15) 100%
  );
}

.jgin-promo-banner--gold .jgin-promo-banner__fade {
  background: linear-gradient(
    105deg,
    rgba(18, 14, 8, 0.96) 0%,
    rgba(40, 28, 10, 0.82) 45%,
    rgba(250, 204, 21, 0.12) 100%
  );
}

.jgin-promo-banner--purple .jgin-promo-banner__fade {
  background: linear-gradient(
    105deg,
    rgba(14, 10, 22, 0.96) 0%,
    rgba(30, 16, 50, 0.82) 45%,
    rgba(124, 58, 237, 0.15) 100%
  );
}

.jgin-promo-banner__layout {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
  min-height: 200px;
  justify-content: space-between;
}

.jgin-promo-banner__copy {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 92%;
}

.jgin-promo-banner__badge {
  display: inline-block;
  width: fit-content;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(6px);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  padding: 4px 10px;
  border-radius: 999px;
  text-transform: uppercase;
}

.jgin-promo-banner__countdown {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 6px 12px;
  border-radius: var(--jgin-radius-pill);
  background: rgb(0 0 0 / 0.45);
  border: 1px solid rgb(212 175 55 / 0.45);
  animation: jgin-countdown-glow 2.5s ease-in-out infinite;
}

.jgin-promo-banner__countdown-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--jgin-gold-light);
}

.jgin-promo-banner__countdown-timer {
  font-size: 14px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.08em;
  color: #fff;
}

@keyframes jgin-countdown-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgb(212 175 55 / 0); }
  50% { box-shadow: 0 0 16px 0 rgb(212 175 55 / 0.25); }
}

.jgin-promo-banner__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}

.jgin-promo-banner__subtitle {
  margin: 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.45;
  max-width: 280px;
}

.jgin-promo-banner__buy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 4px;
  padding: 10px 18px;
  border-radius: 8px;
  background: #fff;
  color: #111;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

.jgin-promo-banner__buy-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
  color: #111;
}

.jgin-promo-banner--pink .jgin-promo-banner__buy-btn {
  background: linear-gradient(90deg, #fe2c55, #ff4d6d);
  color: #fff;
}

.jgin-promo-banner--teal .jgin-promo-banner__buy-btn {
  background: linear-gradient(90deg, #14b8a6, #2dd4bf);
  color: #0f172a;
}

.jgin-promo-banner__products {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 2px;
}

.jgin-promo-banner__products::-webkit-scrollbar {
  display: none;
}

.jgin-promo-product {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 148px;
  max-width: 180px;
  padding: 6px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(8px);
  text-decoration: none;
  color: #fff;
  transition: background 0.2s ease, transform 0.2s ease;
}

.jgin-promo-product:hover {
  background: rgba(255, 255, 255, 0.18);
  transform: translateY(-2px);
  color: #fff;
}

.jgin-promo-product__thumb {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.35);
}

.jgin-promo-product__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.jgin-promo-product__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.jgin-promo-product__name {
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.jgin-promo-product__price {
  font-size: 12px;
  font-weight: 800;
  color: var(--jgin-teal);
}

@media (min-width: 990px) {
  .jgin-promo-banner {
    min-height: 220px;
  }

  .jgin-promo-banner__title {
    font-size: 1.25rem;
  }
}

body.jgin-categories-open .jgin-halara-grid,
body.jgin-categories-open .jgin-promo-banners {
  pointer-events: none;
}

/* View all */
.jgin-halara-grid__footer {
  text-align: center;
  padding: 20px 12px 8px;
}

.jgin-halara-grid__view-all {
  display: inline-block;
  color: var(--jgin-teal);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  padding: 12px 24px;
  border: 1px solid rgba(45, 212, 191, 0.35);
  border-radius: var(--jgin-radius-pill);
}

.jgin-halara-grid__view-all:hover {
  background: var(--jgin-teal-bg);
}

/* Reviews section on dark bg */
body.jgin-halara-theme .jdgm-carousel-wrapper,
body.jgin-halara-theme .jdgm-widget {
  color: var(--jgin-text) !important;
}

/* Hide old luxury sections when halara active */
body.jgin-halara-theme .shopify-section:has(.hero),
body.jgin-halara-theme .shopify-section:has(marquee-component),
body.jgin-halara-theme .shopify-section:has(.ui-test-collection-list) {
  display: none !important;
}

/* Collection page overrides */
body.jgin-halara-theme.template-collection .jgin-halara-grid__list,
body.jgin-halara-theme.template-collection .resource-list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
}

@media (min-width: 750px) {
  body.jgin-halara-theme.template-collection .jgin-halara-grid__list,
  body.jgin-halara-theme.template-collection .resource-list {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (min-width: 990px) {
  body.jgin-halara-theme.template-collection .jgin-halara-grid__list,
  body.jgin-halara-theme.template-collection .resource-list {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* Performance: content-visibility on off-screen cards */
.jgin-halara-card {
  content-visibility: auto;
  contain-intrinsic-size: 0 320px;
}

/* ── Collection & search page headers ── */
.jgin-collection-page__header,
.jgin-search-page__header {
  text-align: center;
  margin-bottom: 18px;
}

.jgin-collection-page__desc {
  color: var(--jgin-text-muted);
  font-size: 14px;
  line-height: 1.5;
  max-width: 640px;
  margin: 8px auto 0;
}

.jgin-collection-page__count {
  color: var(--jgin-teal);
  font-size: 12px;
  font-weight: 600;
  margin: 8px 0 0;
}

.jgin-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
  padding-bottom: 12px;
}

.jgin-pagination__link {
  color: var(--jgin-teal);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  padding: 8px 14px;
  border: 1px solid rgba(45, 212, 191, 0.35);
  border-radius: 8px;
}

.jgin-pagination__link:hover {
  background: var(--jgin-teal-bg);
}

.jgin-pagination__status {
  color: var(--jgin-text-muted);
  font-size: 13px;
}

/* ── Cart page (Halara style) ── */
.jgin-cart-page {
  background: var(--jgin-bg);
  padding: 20px 0 32px;
}

.jgin-cart-page__inner {
  max-width: var(--jgin-max);
  margin: 0 auto;
  padding: 0 12px;
}

.jgin-cart-page__title {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--jgin-text);
  margin: 0 0 20px;
}

.jgin-cart-page__empty {
  text-align: center;
  padding: 40px 16px;
  color: var(--jgin-text-muted);
}

.jgin-cart-page__shop-btn {
  display: inline-flex;
  margin-top: 16px;
}

.jgin-cart-page__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.jgin-cart-item {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 12px;
  padding: 12px;
  background: var(--jgin-bg-card);
  border: 1px solid var(--jgin-border);
  border-radius: 12px;
}

.jgin-cart-item__media {
  display: block;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: var(--jgin-bg-surface);
}

.jgin-cart-item__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.jgin-cart-item__vendor {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--jgin-text-muted);
}

.jgin-cart-item__title {
  color: var(--jgin-text);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.35;
  display: block;
  margin-bottom: 4px;
}

.jgin-cart-item__title:hover {
  color: var(--jgin-teal);
}

.jgin-cart-item__variant {
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--jgin-text-muted);
}

.jgin-cart-item__price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.jgin-cart-item__now-row {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.22), rgba(45, 212, 191, 0.08));
  border: 1px solid rgba(45, 212, 191, 0.35);
  border-radius: 8px;
  padding: 6px 10px;
}

.jgin-cart-item__price {
  font-size: 18px;
  font-weight: 900;
  color: #fff;
}

.jgin-cart-item__qty-input {
  width: 64px;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: var(--jgin-bg-surface);
  color: var(--jgin-text);
  text-align: center;
}

.jgin-cart-page__summary {
  margin-top: 24px;
  padding: 18px;
  background: var(--jgin-bg-elevated);
  border: 1px solid var(--jgin-border);
  border-radius: 12px;
}

.jgin-cart-page__subtotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--jgin-text);
  font-size: 1.1rem;
  margin-bottom: 8px;
}

.jgin-cart-page__note {
  color: var(--jgin-text-muted);
  font-size: 12px;
  margin: 0 0 16px;
}

.jgin-cart-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.jgin-cart-page__update-btn {
  padding: 10px 16px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: transparent;
  color: var(--jgin-text);
  font-weight: 600;
  cursor: pointer;
}

.jgin-cart-page__checkout-btn {
  flex: 1;
  min-width: 160px;
  justify-content: center;
  border: none;
  cursor: pointer;
}

@media (min-width: 750px) {
  .jgin-cart-page__form {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 24px;
    align-items: start;
  }

  .jgin-cart-page__summary {
    margin-top: 0;
    position: sticky;
    top: calc(var(--jgin-top-stack-height, 112px) + 16px);
  }
}

/* Hide default Horizon product grids when Halara sections are active */
body.jgin-halara-theme .main-collection,
body.jgin-halara-theme .search-results,
body.jgin-halara-theme .product-list:not(.jgin-halara-grid),
body.jgin-halara-theme .product-recommendations:not(.jgin-related-grid) {
  display: none !important;
}

body.jgin-halara-theme .main-cart {
  display: none !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .jgin-halara-card__img,
  .jgin-halara-card__cart-btn {
    transition: none;
  }
}

/* ═══════════════════════════════════════════════════════════════
   READABILITY — fix dark-on-dark text across all pages
   Product · Collection · Cart · Pages · Search · Footer
   ═══════════════════════════════════════════════════════════════ */

body.jgin-halara-theme,
html.jgin-halara-ready body {
  --color-foreground: rgb(255 255 255 / 0.9);
  --color-foreground-rgb: 255 255 255;
  --color-foreground-heading: rgb(255 255 255 / 1);
  --color-foreground-heading-rgb: 255 255 255;
  --color-foreground-muted: rgb(163 163 163 / 1);
  --color-background: rgb(28 28 34 / 1);
  --color-background-rgb: 28 28 34;
  --color-primary: rgb(255 255 255 / 0.9);
  --color-primary-rgb: 255 255 255;
  --color-primary-hover: rgb(45 212 191 / 1);
  --color-primary-hover-rgb: 45 212 191;
  --color-border: rgb(255 255 255 / 0.12);
  --color-border-rgb: 255 255 255;
  --color-shadow-rgb: 0 0 0;
  --color-input-background: rgb(26 26 26 / 1);
  --color-input-text: rgb(255 255 255 / 0.92);
  --color-input-text-rgb: 255 255 255;
  --color-input-border: rgb(255 255 255 / 0.18);
  --color-variant-text-rgb: 255 255 255;
}

/* Reset every Horizon color scheme to readable dark palette */
body.jgin-halara-theme [class*='color-scheme-'],
html.jgin-halara-ready body [class*='color-scheme-'] {
  --color-foreground: rgb(255 255 255 / 0.9) !important;
  --color-foreground-rgb: 255 255 255 !important;
  --color-foreground-heading: rgb(255 255 255 / 1) !important;
  --color-foreground-heading-rgb: 255 255 255 !important;
  --color-foreground-muted: rgb(163 163 163 / 1) !important;
  --color-background: rgb(28 28 34 / 1) !important;
  --color-background-rgb: 28 28 34 !important;
  --color-primary: rgb(255 255 255 / 0.9) !important;
  --color-primary-rgb: 255 255 255 !important;
  --color-primary-hover: rgb(45 212 191 / 1) !important;
  --color-primary-hover-rgb: 45 212 191 !important;
  --color-border: rgb(255 255 255 / 0.12) !important;
  --color-border-rgb: 255 255 255 !important;
  --color-shadow-rgb: 0 0 0 !important;
  --color-input-background: rgb(26 26 26 / 1) !important;
  --color-input-text: rgb(255 255 255 / 0.92) !important;
  --color-input-text-rgb: 255 255 255 !important;
  --color-input-border: rgb(255 255 255 / 0.18) !important;
  --color-primary-button-background: rgb(254 44 85 / 1) !important;
  --color-primary-button-text: rgb(255 255 255 / 1) !important;
  --color-secondary-button-text: rgb(255 255 255 / 0.92) !important;
  --color-secondary-button-border: rgb(255 255 255 / 0.35) !important;
  --color-variant-background: rgb(26 26 26 / 1) !important;
  --color-variant-text: rgb(255 255 255 / 0.92) !important;
  --color-variant-text-rgb: 255 255 255 !important;
  --color-variant-border: rgb(255 255 255 / 0.2) !important;
  --color-variant-hover-text-rgb: 255 255 255 !important;
  --color-selected-variant-background: rgb(254 44 85 / 1) !important;
  --color-selected-variant-text: rgb(255 255 255 / 1) !important;
  --color-selected-variant-border: rgb(254 44 85 / 1) !important;
  color: var(--jgin-text);
}

body.jgin-halara-theme .section-background {
  background: var(--jgin-bg) !important;
}

body.jgin-halara-theme .section,
body.jgin-halara-theme .shopify-section {
  color: var(--jgin-text);
}

/* Headings & body copy */
body.jgin-halara-theme h1,
body.jgin-halara-theme h2,
body.jgin-halara-theme h3,
body.jgin-halara-theme h4,
body.jgin-halara-theme h5,
body.jgin-halara-theme h6,
body.jgin-halara-theme .h1,
body.jgin-halara-theme .h2,
body.jgin-halara-theme .h3,
body.jgin-halara-theme .h4,
body.jgin-halara-theme .h5,
body.jgin-halara-theme .h6 {
  color: var(--jgin-text) !important;
}

body.jgin-halara-theme p,
body.jgin-halara-theme li,
body.jgin-halara-theme span,
body.jgin-halara-theme label,
body.jgin-halara-theme dd,
body.jgin-halara-theme dt,
body.jgin-halara-theme .rte,
body.jgin-halara-theme .text-block,
body.jgin-halara-theme .text-block p,
body.jgin-halara-theme [class*='type-preset'] {
  color: rgb(255 255 255 / 0.88);
}

body.jgin-halara-theme a:not(.button):not(.jgin-halara-card__title):not(.jgin-halara-card__cart-btn):not(.jgin-shop-profile__follow) {
  color: var(--jgin-teal);
}

body.jgin-halara-theme a:not(.button):hover {
  color: #5eead4;
}

/* ── Product page ── */
body.jgin-halara-theme .product-information,
body.jgin-halara-theme .product-details,
body.jgin-halara-theme .product-form,
body.jgin-halara-theme .product-form-component,
body.jgin-halara-theme .view-product-title,
body.jgin-halara-theme .group-block,
body.jgin-halara-theme .group-block-content {
  color: var(--jgin-text) !important;
  background-color: transparent;
}

body.jgin-halara-theme .product-information .section-background,
body.jgin-halara-theme .product-information.color-scheme-1,
body.jgin-halara-theme .product-information[class*='color-scheme-'] {
  background: var(--jgin-bg) !important;
}

body.jgin-halara-theme product-title-component,
body.jgin-halara-theme .product-title,
body.jgin-halara-theme [class*='product-title'],
body.jgin-halara-theme .view-product-title a,
body.jgin-halara-theme .product-information h1,
body.jgin-halara-theme .product-information .text-block h1,
body.jgin-halara-theme .product-information .text-block h2,
body.jgin-halara-theme .product-information .text-block h3 {
  color: var(--jgin-text) !important;
}

body.jgin-halara-theme product-price,
body.jgin-halara-theme .price,
body.jgin-halara-theme [class*='price'],
body.jgin-halara-theme .product-information product-price,
body.jgin-halara-theme .product-information .price {
  color: var(--jgin-text) !important;
  --color-foreground: rgb(255 255 255 / 1) !important;
  --color-foreground-rgb: 255 255 255 !important;
}

body.jgin-halara-theme .price__sale,
body.jgin-halara-theme .price-item--sale,
body.jgin-halara-theme [class*='price-item--sale'] {
  color: var(--jgin-text) !important;
  font-weight: 700;
}

body.jgin-halara-theme .price__compare,
body.jgin-halara-theme .price-item--regular s,
body.jgin-halara-theme compare-at-price,
body.jgin-halara-theme [class*='compare'] {
  color: var(--jgin-red) !important;
  opacity: 1 !important;
}

body.jgin-halara-theme .product-information__media,
body.jgin-halara-theme .product-media-container {
  background: var(--jgin-bg-card);
}

body.jgin-halara-theme variant-picker,
body.jgin-halara-theme .variant-picker,
body.jgin-halara-theme .variant-option,
body.jgin-halara-theme .product-form__input label,
body.jgin-halara-theme legend,
body.jgin-halara-theme .form__label {
  color: var(--jgin-text) !important;
}

body.jgin-halara-theme .variant-option__button,
body.jgin-halara-theme [class*='variant'] button,
body.jgin-halara-theme .swatch,
body.jgin-halara-theme [class*='swatch'] {
  color: var(--jgin-text) !important;
  border-color: rgb(255 255 255 / 0.25) !important;
  background: var(--jgin-bg-card) !important;
}

body.jgin-halara-theme .variant-option__button[aria-checked='true'],
body.jgin-halara-theme .variant-option__button:checked,
body.jgin-halara-theme [class*='selected'] {
  background: var(--jgin-red-btn) !important;
  border-color: var(--jgin-red-btn) !important;
  color: #fff !important;
}

body.jgin-halara-theme .product-form__submit,
body.jgin-halara-theme .button[type='submit'],
body.jgin-halara-theme .shopify-payment-button__button {
  color: #fff !important;
}

body.jgin-halara-theme accordion-custom,
body.jgin-halara-theme .accordion,
body.jgin-halara-theme details,
body.jgin-halara-theme summary {
  color: var(--jgin-text) !important;
  border-color: var(--jgin-border) !important;
}

body.jgin-halara-theme .accordion__content,
body.jgin-halara-theme details[open] .details__content {
  color: rgb(255 255 255 / 0.82) !important;
}

body.jgin-halara-theme .product-inventory,
body.jgin-halara-theme .product-sku,
body.jgin-halara-theme .tax-note,
body.jgin-halara-theme .shipping-note,
body.jgin-halara-theme small,
body.jgin-halara-theme .caption,
body.jgin-halara-theme .subtext {
  color: var(--jgin-text-muted) !important;
}

/* ── Collection page ── */
body.jgin-halara-theme .collection-hero,
body.jgin-halara-theme .main-collection,
body.jgin-halara-theme .collection-wrapper,
body.jgin-halara-theme .facets,
body.jgin-halara-theme facet-filters-form,
body.jgin-halara-theme .facets__summary,
body.jgin-halara-theme .facets__label,
body.jgin-halara-theme .product-count,
body.jgin-halara-theme .collection-title {
  color: var(--jgin-text) !important;
}

body.jgin-halara-theme .product-card,
body.jgin-halara-theme .product-card__title,
body.jgin-halara-theme .card__heading,
body.jgin-halara-theme .card-information {
  color: var(--jgin-text) !important;
}

body.jgin-halara-theme .product-card .price,
body.jgin-halara-theme .card-information .price {
  color: var(--jgin-text) !important;
}

/* ── Cart drawer & cart page ── */
body.jgin-halara-theme cart-drawer-component,
body.jgin-halara-theme .cart-drawer,
body.jgin-halara-theme .cart-items,
body.jgin-halara-theme .cart-item,
body.jgin-halara-theme .cart__summary,
body.jgin-halara-theme .totals,
body.jgin-halara-theme .cart-drawer__heading {
  color: var(--jgin-text) !important;
  background: var(--jgin-bg-elevated) !important;
}

body.jgin-halara-theme .cart-item__name,
body.jgin-halara-theme .cart-item__price,
body.jgin-halara-theme .totals__subtotal-value,
body.jgin-halara-theme .totals__total-value {
  color: var(--jgin-text) !important;
}

/* ── Search & modals ── */
body.jgin-halara-theme .search-modal,
body.jgin-halara-theme .predictive-search,
body.jgin-halara-theme .predictive-search__item,
body.jgin-halara-theme dialog,
body.jgin-halara-theme .drawer {
  color: var(--jgin-text) !important;
  background: var(--jgin-bg-elevated) !important;
}

body.jgin-halara-theme input,
body.jgin-halara-theme textarea,
body.jgin-halara-theme select,
body.jgin-halara-theme .field__input {
  color: var(--jgin-text) !important;
  background: var(--jgin-bg-card) !important;
  border-color: rgb(255 255 255 / 0.2) !important;
}

body.jgin-halara-theme input::placeholder,
body.jgin-halara-theme textarea::placeholder {
  color: var(--jgin-text-muted) !important;
  opacity: 1;
}

/* ── Static pages, blog, policies ── */
body.jgin-halara-theme .main-page,
body.jgin-halara-theme .page-content,
body.jgin-halara-theme .article,
body.jgin-halara-theme .blog-posts,
body.jgin-halara-theme .shopify-policy__title,
body.jgin-halara-theme .shopify-policy__body {
  color: rgb(255 255 255 / 0.88) !important;
}

body.jgin-halara-theme .shopify-policy__body a {
  color: var(--jgin-teal) !important;
}

/* ── Footer ── */
body.jgin-halara-theme footer a,
body.jgin-halara-theme footer p,
body.jgin-halara-theme footer h2,
body.jgin-halara-theme footer h3,
body.jgin-halara-theme footer li,
body.jgin-halara-theme footer .text-block {
  color: rgb(255 255 255 / 0.75) !important;
}

body.jgin-halara-theme footer a:hover {
  color: var(--jgin-teal) !important;
}

/* ── Judge.me & app blocks ── */
body.jgin-halara-theme .jdgm-widget,
body.jgin-halara-theme .jdgm-rev-widg,
body.jgin-halara-theme .jdgm-rev-widg__title,
body.jgin-halara-theme .jdgm-rev-widg__summary,
body.jgin-halara-theme .jdgm-rev,
body.jgin-halara-theme .jdgm-rev__body,
body.jgin-halara-theme .jdgm-rev__author,
body.jgin-halara-theme .jdgm-carousel-wrapper,
body.jgin-halara-theme .jdgm-carousel-item {
  color: var(--jgin-text) !important;
}

body.jgin-halara-theme .jdgm-star {
  color: var(--jgin-yellow) !important;
}

/* ── Breadcrumbs & pagination ── */
body.jgin-halara-theme .breadcrumbs,
body.jgin-halara-theme .pagination,
body.jgin-halara-theme .pagination__item {
  color: var(--jgin-text-muted) !important;
}

body.jgin-halara-theme .pagination__item--current {
  color: var(--jgin-text) !important;
}

/* ── Secondary / outline buttons ── */
body.jgin-halara-theme .button-secondary {
  color: var(--jgin-text) !important;
  border-color: rgb(255 255 255 / 0.35) !important;
  background: transparent !important;
}

body.jgin-halara-theme .button-secondary:hover {
  background: rgb(255 255 255 / 0.08) !important;
  color: var(--jgin-text) !important;
}

/* ── Icons stay visible ── */
body.jgin-halara-theme svg.icon,
body.jgin-halara-theme .icon svg,
body.jgin-halara-theme header-component svg {
  color: inherit;
  stroke: currentColor;
}

/* ── Brand logo: legacy Horizon header hidden entirely ── */

/* ── Brand footer (marketing block above theme footer) ── */
.jgin-brand-footer {
  background: #000;
  border-top: 1px solid var(--jgin-gold-border);
  padding: 32px 16px 24px;
}

.jgin-brand-footer__inner {
  max-width: var(--jgin-max);
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.jgin-brand-footer__logo-link {
  display: inline-block;
  text-decoration: none;
  line-height: 0;
}

.jgin-brand-footer__logo {
  height: 72px;
  width: auto;
  max-width: min(420px, 92vw);
  object-fit: contain;
}

@media (min-width: 768px) {
  .jgin-brand-footer__logo {
    height: 96px;
    max-width: 480px;
  }
}

.jgin-brand-footer__tagline {
  margin: 0;
  max-width: 420px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--jgin-text-muted);
}

.jgin-brand-footer__trust {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.jgin-brand-footer__badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #000;
  background: linear-gradient(135deg, var(--jgin-gold-light), var(--jgin-gold));
  padding: 4px 10px;
  border-radius: var(--jgin-radius-pill);
}

.jgin-brand-footer__domain {
  font-size: 12px;
  color: var(--jgin-gold-light);
  letter-spacing: 0.04em;
}

.jgin-brand-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 16px;
  margin-top: 4px;
}

.jgin-brand-footer__legal a {
  font-size: 12px;
  color: var(--jgin-text-muted);
  text-decoration: none;
  letter-spacing: 0.02em;
}

.jgin-brand-footer__legal a:hover {
  color: var(--jgin-gold-light);
  text-decoration: underline;
}

.jgin-brand-footer__copy {
  margin: 8px 0 0;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.45);
}

/* Hide Shopify "Powered by" and duplicate copyright row */
body.jgin-halara-theme footer a[href*="utm_campaign=poweredby"],
body.jgin-halara-theme footer a[href*="shopify.com"][href*="poweredby"] {
  display: none !important;
}

body.jgin-halara-theme .footer-utilities__group-copyright {
  display: none !important;
}

/* ── Legal policy pages ── */
.jgin-legal-page {
  background: var(--jgin-bg, #0a0a0a);
  padding: 32px 16px 64px;
  min-height: 50vh;
}

.jgin-legal-page__inner {
  max-width: 760px;
  margin: 0 auto;
}

.jgin-legal-page__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--jgin-gold-border, rgba(212, 175, 55, 0.25));
}

.jgin-legal-page__nav-link {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--jgin-text-muted, #999);
  text-decoration: none;
  padding: 6px 12px;
  border-radius: var(--jgin-radius-pill, 999px);
  border: 1px solid transparent;
}

.jgin-legal-page__nav-link:hover,
.jgin-legal-page__nav-link.is-active {
  color: var(--jgin-gold-light, #e8c872);
  border-color: var(--jgin-gold-border, rgba(212, 175, 55, 0.35));
  background: rgba(212, 175, 55, 0.08);
}

.jgin-legal-page__content {
  color: var(--jgin-text, #f5f5f5);
  font-size: 15px;
  line-height: 1.7;
}

.jgin-legal-page__content h1 {
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  margin: 0 0 16px;
  color: #fff;
}

.jgin-legal-page__content h2 {
  font-size: 1.1rem;
  margin: 28px 0 10px;
  color: var(--jgin-gold-light, #e8c872);
}

.jgin-legal-page__content p,
.jgin-legal-page__content li {
  color: var(--jgin-text-muted, #bbb);
}

.jgin-legal-page__content a {
  color: var(--jgin-gold-light, #e8c872);
}

.jgin-legal-page__content ul,
.jgin-legal-page__content ol {
  padding-left: 1.25rem;
  margin: 0 0 16px;
}

.jgin-legal-page__updated {
  margin-top: 40px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.35);
}

.jgin-brand-logo--mark {
  object-fit: contain;
}

.jgin-brand-logo--full {
  object-fit: contain;
}

/* ── Footer email signup (Horizon theme block) ── */
body.jgin-halara-theme footer .email-signup-block,
body.jgin-halara-theme footer [class*='email-signup'] {
  color: var(--jgin-text);
}

body.jgin-halara-theme footer .email-signup-block h2,
body.jgin-halara-theme footer .email-signup-block .text-block h2 {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--jgin-text) !important;
  margin: 0 0 14px !important;
  letter-spacing: 0.02em;
}

body.jgin-halara-theme footer .email-signup__form {
  max-width: 480px;
  margin: 0 auto;
}

body.jgin-halara-theme footer .email-signup__input-group,
body.jgin-halara-theme footer .email-signup__input-group--integrated {
  display: flex !important;
  align-items: stretch;
  background: var(--jgin-bg-card) !important;
  border: 1px solid var(--jgin-gold-border) !important;
  border-radius: var(--jgin-radius-pill) !important;
  overflow: hidden;
  box-shadow: 0 4px 24px rgb(0 0 0 / 0.25);
  padding: 4px !important;
  gap: 0 !important;
  min-height: 52px;
}

body.jgin-halara-theme footer .email-signup__input,
body.jgin-halara-theme footer .email-signup__input--all {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: var(--jgin-radius-pill) !important;
  color: var(--jgin-text) !important;
  font-size: 15px !important;
  padding: 12px 18px !important;
  box-shadow: none !important;
  outline: none !important;
}

body.jgin-halara-theme footer .email-signup__input::placeholder {
  color: var(--jgin-text-muted) !important;
  opacity: 0.85;
}

body.jgin-halara-theme footer .email-signup__input:focus {
  outline: none !important;
  box-shadow: none !important;
}

body.jgin-halara-theme footer .email-signup__button,
body.jgin-halara-theme footer .email-signup__button--integrated {
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 52px !important;
  width: 52px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: var(--jgin-radius-pill) !important;
  background: linear-gradient(135deg, var(--jgin-gold-light), var(--jgin-gold)) !important;
  color: #111 !important;
  cursor: pointer;
  transition: transform 0.15s ease, filter 0.15s ease;
}

body.jgin-halara-theme footer .email-signup__button:hover {
  filter: brightness(1.06);
  transform: scale(1.03);
}

body.jgin-halara-theme footer .email-signup__button-icon,
body.jgin-halara-theme footer .email-signup__button svg {
  color: #111 !important;
  stroke: #111 !important;
  width: 20px;
  height: 20px;
}

body.jgin-halara-theme footer .section-wrapper:has(.email-signup-block) {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

@media (min-width: 750px) {
  body.jgin-halara-theme footer .email-signup__input-group {
    min-height: 56px;
  }

  body.jgin-halara-theme footer .email-signup__button {
    width: 56px !important;
    height: 48px !important;
  }
}

/* ── Product recommendations ── */
body.jgin-halara-theme product-recommendations,
body.jgin-halara-theme .product-recommendations,
body.jgin-halara-theme .related-products {
  color: var(--jgin-text);
}

body.jgin-halara-theme .product-recommendations h2,
body.jgin-halara-theme .related-products h2 {
  color: var(--jgin-text) !important;
}

/* ── Sticky add-to-cart bar ── */
body.jgin-halara-theme sticky-add-to-cart,
body.jgin-halara-theme .sticky-add-to-cart,
body.jgin-halara-theme .sticky-add-to-cart__title,
body.jgin-halara-theme .sticky-add-to-cart__variant,
body.jgin-halara-theme .sticky-add-to-cart__price {
  color: var(--jgin-text) !important;
  background: var(--jgin-bg-elevated) !important;
  border-color: var(--jgin-border) !important;
}

/* ── Safety net: readable text in main storefront sections ── */
body.jgin-halara-theme main#MainContent .shopify-section:not(.jgin-section-official):not(.jgin-section-profile):not(.jgin-section-nav):not(.jgin-section-grid) {
  --color-foreground: rgb(255 255 255 / 0.9) !important;
  --color-foreground-rgb: 255 255 255 !important;
  --color-foreground-heading: rgb(255 255 255 / 1) !important;
  --color-foreground-heading-rgb: 255 255 255 !important;
  color: var(--jgin-text);
}

body.jgin-halara-theme main#MainContent .shopify-section:not(.jgin-section-grid) :is(h1, h2, h3, h4, h5, h6, p, span, label, legend, summary, dd, dt, li, a.link) {
  color: inherit;
}

body.jgin-halara-theme main#MainContent .shopify-section:not(.jgin-section-grid) :is(h1, h2, h3, h4, h5, h6) {
  color: var(--jgin-text) !important;
}

/* ═══════════════════════════════════════════════════════════════
   CONVERSION UX — toast, cart bounce, touch devices
   ═══════════════════════════════════════════════════════════════ */

.jgin-toast-stack {
  position: fixed;
  top: calc(var(--jgin-top-stack-height, 112px) + 12px);
  right: 12px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
  max-width: min(360px, calc(100vw - 24px));
}

.jgin-toast {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, #1a1a22, #111116);
  border: 1px solid var(--jgin-gold-border);
  box-shadow: 0 12px 40px rgb(0 0 0 / 0.45);
  color: var(--jgin-text);
  font-size: 13px;
  font-weight: 600;
  transform: translateX(120%);
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}

.jgin-toast--show {
  transform: translateX(0);
  opacity: 1;
}

.jgin-toast--hide {
  transform: translateX(120%);
  opacity: 0;
}

.jgin-toast__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--jgin-gold-light), var(--jgin-gold));
  color: #111;
  font-size: 14px;
}

.jgin-toast__text {
  flex: 1;
  line-height: 1.35;
}

.jgin-toast__link {
  color: var(--jgin-gold-light);
  text-decoration: underline;
  font-weight: 700;
}

.jgin-global-search__cart.is-bouncing {
  animation: jgin-cart-bounce 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes jgin-cart-bounce {
  0%, 100% { transform: scale(1); }
  30% { transform: scale(1.18) rotate(-8deg); }
  60% { transform: scale(0.95) rotate(4deg); }
}

.jgin-spark {
  position: fixed;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--jgin-gold);
  pointer-events: none;
  z-index: 9998;
  animation: jgin-spark-fly 0.6s ease-out forwards;
}

@keyframes jgin-spark-fly {
  to {
    transform: translate(var(--jgin-spark-x, 0), var(--jgin-spark-y, -40px)) scale(0);
    opacity: 0;
  }
}

@media (max-width: 749px) {
  .jgin-halara-card__article:active .jgin-halara-card__img--hover {
    opacity: 1;
  }

  .jgin-toast-stack {
    left: 12px;
    right: 12px;
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jgin-halara-card__heat-badge,
  .jgin-halara-card__view-badge,
  .jgin-halara-card__stock-badge,
  .jgin-pulse-badge,
  .jgin-promo-banner__countdown,
  .jgin-halara-card__cart-btn.is-adding,
  .jgin-global-search__cart.is-bouncing,
  .jgin-activity-ticker__inner,
  .jgin-sticky-drop__pulse {
    animation: none !important;
  }

  .jgin-activity-ticker__inner {
    transform: none !important;
  }

  .jgin-halara-card__article:hover,
  .jgin-halara-card__article:focus-within {
    transform: none;
  }
}

/* ═══════════════════════════════════════════════════════════════
   ACTIVITY TICKER + STICKY DROP BAR
   ═══════════════════════════════════════════════════════════════ */

.jgin-activity-ticker {
  background: #0d0d10;
  border-bottom: 1px solid var(--jgin-border);
  overflow: hidden;
  height: var(--jgin-ticker-height);
}

.jgin-activity-ticker__track {
  overflow: hidden;
  height: 100%;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.jgin-activity-ticker__inner {
  display: flex;
  align-items: center;
  gap: 48px;
  height: 100%;
  width: max-content;
  padding: 0 16px;
  animation: jgin-ticker-scroll 38s linear infinite;
}

.jgin-activity-ticker__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 600;
  color: var(--jgin-text-muted);
}

.jgin-activity-ticker__item::before {
  content: '✓';
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgb(34 197 94 / 0.2);
  color: #4ade80;
  font-size: 10px;
  flex-shrink: 0;
}

.jgin-activity-ticker__item strong {
  color: var(--jgin-text);
  font-weight: 700;
}

.jgin-activity-ticker__item em {
  color: var(--jgin-gold-light);
  font-style: normal;
  font-weight: 600;
}

@keyframes jgin-ticker-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.jgin-sticky-drop {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: max(12px, env(safe-area-inset-bottom, 12px));
  z-index: 900;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: var(--jgin-radius-pill);
  background: linear-gradient(135deg, #111116 0%, #1a1520 100%);
  border: 1px solid var(--jgin-gold-border);
  box-shadow: 0 12px 40px rgb(0 0 0 / 0.55);
  color: var(--jgin-text);
  text-decoration: none;
  transform: translateY(calc(100% + 24px));
  opacity: 0;
  pointer-events: none;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}

.jgin-sticky-drop[hidden] {
  display: flex !important;
}

.jgin-sticky-drop.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.jgin-sticky-drop__pulse {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--jgin-red-btn);
  box-shadow: 0 0 0 0 rgb(254 44 85 / 0.6);
  animation: jgin-drop-pulse 1.8s ease-out infinite;
}

@keyframes jgin-drop-pulse {
  0% { box-shadow: 0 0 0 0 rgb(254 44 85 / 0.55); }
  70% { box-shadow: 0 0 0 10px rgb(254 44 85 / 0); }
  100% { box-shadow: 0 0 0 0 rgb(254 44 85 / 0); }
}

.jgin-sticky-drop__text {
  flex: 1;
  font-size: 12px;
  line-height: 1.35;
  min-width: 0;
}

.jgin-sticky-drop__text strong {
  color: var(--jgin-gold-light);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 11px;
}

.jgin-sticky-drop__sep {
  opacity: 0.45;
  margin: 0 2px;
}

.jgin-sticky-drop__cta {
  color: #fff;
  font-weight: 700;
}

.jgin-sticky-drop__close {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 50%;
  background: rgb(255 255 255 / 0.08);
  color: var(--jgin-text-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  display: grid;
  place-items: center;
}

.jgin-sticky-drop__close:hover {
  background: rgb(255 255 255 / 0.14);
  color: var(--jgin-text);
}

body.jgin-sticky-drop-visible {
  padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 990px) {
  .jgin-sticky-drop {
    left: 50%;
    right: auto;
    transform: translateX(-50%) translateY(calc(100% + 24px));
    max-width: 520px;
    width: calc(100% - 48px);
  }

  .jgin-sticky-drop.is-visible {
    transform: translateX(-50%) translateY(0);
  }

  body.jgin-sticky-drop-visible {
    padding-bottom: 0;
  }
}

/* ═══════════════════════════════════════════════════════════════
   WELCOME POPUP — WELCOME10
   ═══════════════════════════════════════════════════════════════ */

.jgin-welcome {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 16px;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.jgin-welcome[hidden] {
  display: grid !important;
}

.jgin-welcome.is-open {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}

.jgin-welcome__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 0.72);
  backdrop-filter: blur(4px);
}

.jgin-welcome__dialog {
  position: relative;
  z-index: 1;
  width: min(420px, 100%);
  padding: 28px 22px 22px;
  border-radius: 20px;
  background: linear-gradient(160deg, #141418 0%, #0a0a0a 55%, #1a1510 100%);
  border: 1px solid var(--jgin-gold-border);
  box-shadow: 0 24px 80px rgb(0 0 0 / 0.65), 0 0 0 1px rgb(212 175 55 / 0.08) inset;
  text-align: center;
  transform: scale(0.92) translateY(12px);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.jgin-welcome.is-open .jgin-welcome__dialog {
  transform: scale(1) translateY(0);
}

.jgin-welcome__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: rgb(255 255 255 / 0.08);
  color: var(--jgin-text-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.jgin-welcome__close:hover {
  background: rgb(255 255 255 / 0.14);
  color: var(--jgin-text);
}

.jgin-welcome__mark {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
}

.jgin-welcome__logo {
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: 14px;
  border: 1px solid var(--jgin-gold-border);
  background: #000;
  padding: 6px;
}

.jgin-welcome__eyebrow {
  margin: 0 0 6px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--jgin-gold);
}

.jgin-welcome__title {
  margin: 0 0 8px;
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--jgin-text);
  line-height: 1.2;
}

.jgin-welcome__sub {
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--jgin-text-muted);
}

.jgin-welcome__code-row {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-bottom: 14px;
}

.jgin-welcome__code {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 12px;
  border-radius: var(--jgin-radius-pill);
  background: rgb(212 175 55 / 0.12);
  border: 1px dashed var(--jgin-gold);
  color: var(--jgin-gold-light);
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.jgin-welcome__copy {
  flex-shrink: 0;
  padding: 0 18px;
  border: none;
  border-radius: var(--jgin-radius-pill);
  background: linear-gradient(135deg, var(--jgin-gold-light), var(--jgin-gold));
  color: #111;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: filter 0.15s ease, transform 0.15s ease;
}

.jgin-welcome__copy:hover {
  filter: brightness(1.06);
  transform: scale(1.02);
}

.jgin-welcome__copy.is-copied {
  background: #22c55e;
  color: #fff;
}

.jgin-welcome__form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.jgin-welcome__input {
  width: 100%;
  padding: 14px 18px;
  border-radius: var(--jgin-radius-pill);
  border: 1px solid var(--jgin-border);
  background: var(--jgin-bg-card);
  color: var(--jgin-text);
  font-size: 14px;
  outline: none;
}

.jgin-welcome__input:focus {
  border-color: var(--jgin-gold-border);
  box-shadow: 0 0 0 3px rgb(212 175 55 / 0.15);
}

.jgin-welcome__input::placeholder {
  color: var(--jgin-text-muted);
}

.jgin-welcome__submit {
  width: 100%;
  padding: 14px 18px;
  border: none;
  border-radius: var(--jgin-radius-pill);
  background: var(--jgin-red-btn);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 24px rgb(254 44 85 / 0.35);
  transition: transform 0.15s ease, background 0.15s ease;
}

.jgin-welcome__submit:hover {
  background: var(--jgin-red-btn-hover);
  transform: scale(1.02);
}

.jgin-welcome__fine {
  margin: 14px 0 0;
  font-size: 10px;
  color: var(--jgin-text-muted);
  line-height: 1.4;
}

body.jgin-welcome-open {
  overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════
   INFLUENCER MID-GRID BANNERS
   ═══════════════════════════════════════════════════════════════ */

.jgin-influencer-banner-wrap {
  grid-column: 1 / -1;
  list-style: none;
  min-width: 0;
}

.jgin-influencer-banner {
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(145deg, #121218 0%, #0a0a0a 100%);
  border: 1px solid var(--jgin-gold-border);
  box-shadow: 0 16px 48px rgb(0 0 0 / 0.4);
  animation: jgin-influencer-in 0.6s ease-out both;
}

@keyframes jgin-influencer-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Variant 1 — portrait split */
.jgin-influencer-banner--v1 .jgin-influencer-banner__split {
  display: grid;
  grid-template-columns: minmax(120px, 38%) 1fr;
  gap: 0;
  min-height: 220px;
}

.jgin-influencer-banner__photo-wrap {
  position: relative;
  background: #fff;
  min-height: 200px;
}

.jgin-influencer-banner__photo {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.jgin-influencer-banner__face-badge {
  position: absolute;
  left: 8px;
  bottom: 8px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: var(--jgin-radius-pill);
  background: rgb(0 0 0 / 0.72);
  color: var(--jgin-gold-light);
  border: 1px solid var(--jgin-gold-border);
}

.jgin-influencer-banner__content {
  padding: 16px 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}

.jgin-influencer-banner__eyebrow {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--jgin-gold);
}

.jgin-influencer-banner__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--jgin-text);
}

.jgin-influencer-banner__subtitle {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--jgin-text-muted);
}

.jgin-influencer-banner__promo {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.jgin-influencer-banner__code-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--jgin-text-muted);
}

.jgin-influencer-banner__code {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--jgin-gold-light);
  padding: 4px 10px;
  border-radius: var(--jgin-radius-pill);
  background: rgb(212 175 55 / 0.12);
  border: 1px dashed var(--jgin-gold);
}

.jgin-influencer-banner__copy {
  border: none;
  border-radius: var(--jgin-radius-pill);
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  background: rgb(255 255 255 / 0.1);
  color: var(--jgin-text);
}

.jgin-influencer-banner__copy.is-copied {
  background: #22c55e;
  color: #fff;
}

.jgin-influencer-banner__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 10px 16px;
  border-radius: var(--jgin-radius-pill);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  color: #fff;
  background: var(--jgin-red-btn);
  box-shadow: 0 6px 20px rgb(254 44 85 / 0.35);
  transition: transform 0.15s ease, background 0.15s ease;
}

.jgin-influencer-banner__cta:hover {
  background: var(--jgin-red-btn-hover);
  transform: scale(1.03);
  color: #fff;
}

.jgin-influencer-banner__cta--primary {
  margin-top: 4px;
}

/* Variant 2 — full ad hero */
.jgin-influencer-banner--v2 .jgin-influencer-banner__hero-link {
  display: block;
  line-height: 0;
}

.jgin-influencer-banner__hero-img {
  width: 100%;
  height: auto;
  max-height: min(52vw, 340px);
  object-fit: cover;
  object-position: center;
  display: block;
}

.jgin-influencer-banner--v2 .jgin-influencer-banner__bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 14px;
  background: rgb(0 0 0 / 0.55);
  border-top: 1px solid var(--jgin-gold-border);
}

.jgin-influencer-banner__code-save {
  font-size: 11px;
  color: var(--jgin-text-muted);
  margin-right: auto;
}

.jgin-influencer-banner__products {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 12px 14px 14px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.jgin-influencer-banner__products::-webkit-scrollbar {
  display: none;
}

@media (min-width: 750px) {
  .jgin-influencer-banner--v1 .jgin-influencer-banner__split {
    grid-template-columns: minmax(200px, 42%) 1fr;
    min-height: 260px;
  }

  .jgin-influencer-banner__photo {
    min-height: 260px;
  }

  .jgin-influencer-banner__content {
    padding: 22px 20px;
  }

  .jgin-influencer-banner__title {
    font-size: 1.45rem;
  }

  .jgin-influencer-banner__hero-img {
    max-height: 380px;
  }

  .jgin-influencer-banner__products {
    gap: 12px;
    justify-content: center;
  }
}
