/* ============================================
   Theme: Modern
   High-end cannabis brand meets modern SaaS.
   Dark frosted glass, primary-color gradients,
   tinted sections, vibrant badges, rich atmosphere.
   Looks stunning with ZERO customization.
   ============================================ */

.sf-theme-modern {
  --sf-radius: 0.625rem;
  --sf-card-radius: 0.875rem;
  --sf-card-shadow-hover: 0 8px 30px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06);
  --_primary-rgb: 45, 80, 22;
  --_accent-rgb: 245, 158, 11;
}

/* ---- Noise texture for depth ---- */
.sf-theme-modern .sf-main::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(/%23noise)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 256px 256px;
}

/* ---- Announcement Bar: gradient strip ---- */
.sf-theme-modern .sf-announcement-bar {
  background: linear-gradient(90deg, var(--sf-primary), color-mix(in srgb, var(--sf-primary) 70%, var(--sf-accent)) 50%, var(--sf-primary));
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.15);
}

/* ---- Header: dark frosted glass ---- */
.sf-theme-modern .sf-header {
  background: rgba(17, 24, 10, 0.88);
  backdrop-filter: blur(28px) saturate(200%);
  -webkit-backdrop-filter: blur(28px) saturate(200%);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 2px 20px rgba(0,0,0,0.15);
}
.sf-theme-modern .sf-logo-text {
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,0.2);
}
.sf-theme-modern .sf-header-actions svg,
.sf-theme-modern .sf-header-actions i,
.sf-theme-modern .sf-header-actions button,
.sf-theme-modern .sf-header-actions a {
  color: rgba(255,255,255,0.85);
}
.sf-theme-modern .sf-cart-count {
  background: var(--sf-accent);
  color: #111;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(245,158,11,0.4);
}

.sf-theme-modern .sf-nav-link {
  border-radius: 0.5rem;
  color: rgba(255,255,255,0.7);
  transition: all 0.2s ease;
}
.sf-theme-modern .sf-nav-link:hover {
  background: rgba(255,255,255,0.1);
  color: #fff;
}
.sf-theme-modern .sf-nav-link.active {
  background: var(--sf-primary);
  color: #fff;
  opacity: 1;
  box-shadow: 0 2px 12px rgba(45,80,22,0.4);
}

/* ---- Hero ---- */
.sf-theme-modern .sf-hero {
  min-height: 560px;
  position: relative;
}

/* No-image: dramatic dark-to-emerald with warm accent glow */
.sf-theme-modern .sf-hero.sf-hero-no-image {
  background:
    radial-gradient(circle 600px at 15% 85%, rgba(245,158,11,0.18) 0%, transparent 70%),
    radial-gradient(circle 500px at 85% 15%, rgba(34,197,94,0.12) 0%, transparent 60%),
    radial-gradient(circle 400px at 50% 50%, rgba(45,80,22,0.25) 0%, transparent 50%),
    linear-gradient(
      160deg,
      #050a03 0%,
      #0d1f06 20%,
      #1a3a0e 45%,
      #0f2108 70%,
      #060d04 100%
    );
}

/* No-image: brighter, larger leaf */
.sf-theme-modern .sf-hero.sf-hero-no-image::before {
  width: 520px;
  height: 520px;
  right: 2%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%2322c55e' fill-opacity='0.07' d='M50 2 C48 18,42 28,35 38 C38 36,41 34,44 33 C36 42,26 48,18 50 C22 51,26 54,28 58 C20 56,12 58,5 62 C12 64,18 68,22 74 C16 74,10 76,4 80 C12 80,20 78,26 74 C24 78,24 82,25 88 C28 82,32 78,38 74 C36 80,32 86,30 92 C36 86,40 80,44 74 C44 78,44 84,46 92 C48 84,48 78,48 72 L50 98 L52 72 C52 78,52 84,54 92 C56 84,56 78,56 74 C60 80,64 86,70 92 C68 86,64 80,62 74 C68 78,72 82,75 88 C76 82,76 78,74 74 C80 78,88 80,96 80 C90 76,84 74,78 74 C82 68,88 64,95 62 C88 58,80 56,72 58 C74 54,78 51,82 50 C74 48,64 42,56 33 C59 34,62 36,65 38 C58 28,52 18,50 2z'/%3E%3C/svg%3E");
}

.sf-theme-modern .sf-hero-overlay {
  padding: 7rem 0 6rem;
}

/* With image: dramatic green-tinted overlay */
.sf-theme-modern .sf-hero:not(.sf-hero-no-image) .sf-hero-overlay {
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--sf-primary) 92%, #000) 0%,
    color-mix(in srgb, var(--sf-primary) 65%, transparent) 35%,
    rgba(0,0,0,0.35) 70%,
    rgba(0,0,0,0.15) 100%
  );
}

/* No-image: very light overlay — the gradient IS the design */
.sf-theme-modern .sf-hero.sf-hero-no-image .sf-hero-overlay {
  background: linear-gradient(
    160deg,
    rgba(0,0,0,0.15) 0%,
    transparent 40%,
    rgba(0,0,0,0.08) 100%
  );
}
.sf-theme-modern .sf-hero-content h1 {
  font-size: 3.75rem;
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.03em;
  text-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: #fff;
}
.sf-theme-modern .sf-hero-subtext {
  font-size: 1.25rem;
  font-weight: 400;
  opacity: 0.92;
  line-height: 1.65;
  color: rgba(255,255,255,0.9);
}
.sf-theme-modern .sf-hero .sf-btn-primary {
  background: var(--sf-accent);
  color: #111;
  font-weight: 700;
  border: none;
  box-shadow: 0 4px 20px rgba(245,158,11,0.35);
}
.sf-theme-modern .sf-hero .sf-btn-primary:hover {
  background: color-mix(in srgb, var(--sf-accent) 85%, #fff);
  box-shadow: 0 6px 28px rgba(245,158,11,0.45);
}
.sf-theme-modern .sf-hero .sf-btn-secondary {
  border-color: rgba(255,255,255,0.5);
  color: #fff;
}
.sf-theme-modern .sf-hero .sf-btn-secondary:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.8);
}

/* ---- Sections: alternating white / primary-tinted ---- */
.sf-theme-modern .sf-section {
  padding: 5rem 0;
  position: relative;
  z-index: 1;
}
.sf-theme-modern .sf-section-alt {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--sf-primary) 4%, var(--sf-background)) 0%,
    color-mix(in srgb, var(--sf-primary) 6%, var(--sf-background)) 50%,
    color-mix(in srgb, var(--sf-primary) 3%, var(--sf-background)) 100%
  );
}
.sf-theme-modern .sf-section-title {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  position: relative;
  display: inline-block;
}
.sf-theme-modern .sf-section-title::after {
  content: '';
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  width: 2.5rem;
  height: 3px;
  background: linear-gradient(90deg, var(--sf-primary), var(--sf-accent));
  border-radius: 2px;
}

/* ---- Product Cards: green accent, rich hover ---- */
.sf-theme-modern .sf-product-card {
  border-radius: var(--sf-card-radius);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.02);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  position: relative;
  background: var(--sf-background);
}
.sf-theme-modern .sf-product-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--sf-primary);
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: var(--sf-card-radius) 0 0 var(--sf-card-radius);
  z-index: 2;
}
.sf-theme-modern .sf-product-card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 4px 8px rgba(0,0,0,0.04),
    0 12px 28px rgba(0,0,0,0.09),
    0 24px 56px rgba(0,0,0,0.05);
  border-color: color-mix(in srgb, var(--sf-primary) 20%, transparent);
}
.sf-theme-modern .sf-product-card:hover::before {
  opacity: 1;
}
.sf-theme-modern .sf-product-card:hover .sf-product-image img {
  transform: scale(1.06);
}

.sf-theme-modern .sf-product-image {
  background: linear-gradient(150deg, #f0f4ed, #e8ece5);
  position: relative;
  overflow: hidden;
}
.sf-theme-modern .sf-product-placeholder {
  background: linear-gradient(150deg,
    color-mix(in srgb, var(--sf-primary) 6%, #f5f5f5),
    color-mix(in srgb, var(--sf-primary) 10%, #ececec)
  );
}

.sf-theme-modern .sf-product-name {
  font-weight: 600;
  letter-spacing: -0.01em;
}
.sf-theme-modern .sf-price {
  color: var(--sf-primary-readable);
  font-weight: 700;
}
.sf-theme-modern .sf-price-original {
  color: rgba(0,0,0,0.35);
}

/* ---- Add to Cart Button: primary that POPS ---- */
.sf-theme-modern .sf-btn-add-to-cart {
  background: linear-gradient(180deg, var(--sf-primary), color-mix(in srgb, var(--sf-primary) 85%, #000));
  color: #fff;
  border: none;
  border-radius: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 2px 8px rgba(45,80,22,0.25);
  position: relative;
  overflow: hidden;
  transition: all 0.25s ease;
}
.sf-theme-modern .sf-btn-add-to-cart::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.15) 0%, transparent 50%);
  pointer-events: none;
}
.sf-theme-modern .sf-btn-add-to-cart:hover {
  box-shadow: 0 4px 16px rgba(45,80,22,0.35);
  transform: translateY(-1px);
  background: linear-gradient(180deg, color-mix(in srgb, var(--sf-primary) 90%, #fff), var(--sf-primary));
}

/* ---- Badges: vibrant with glow ---- */
.sf-theme-modern .sf-badge {
  border-radius: 0.375rem;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.sf-theme-modern .sf-badge-sale {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  box-shadow: 0 2px 12px rgba(239,68,68,0.35);
}
.sf-theme-modern .sf-badge-new {
  background: linear-gradient(135deg, var(--sf-primary), color-mix(in srgb, var(--sf-primary) 80%, #000));
  box-shadow: 0 2px 12px rgba(45,80,22,0.3);
}

/* ---- Cannabis strain badges: vibrant with glow ---- */
.sf-theme-modern .sf-strain-indica {
  background: linear-gradient(135deg, #7c3aed, #6d28d9);
  box-shadow: 0 2px 10px rgba(109,40,217,0.35);
}
.sf-theme-modern .sf-strain-sativa {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #111;
  box-shadow: 0 2px 10px rgba(245,158,11,0.35);
}
.sf-theme-modern .sf-strain-hybrid {
  background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 2px 10px rgba(16,185,129,0.35);
}
.sf-theme-modern .sf-strain-cbd {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  box-shadow: 0 2px 10px rgba(59,130,246,0.35);
}

/* ---- Cannabinoid badges: subtle primary tint ---- */
.sf-theme-modern .sf-cannabinoid {
  background: color-mix(in srgb, var(--sf-primary) 8%, #f3f4f6);
  border: 1px solid color-mix(in srgb, var(--sf-primary) 12%, transparent);
  border-radius: 0.375rem;
  font-weight: 700;
  color: color-mix(in srgb, var(--sf-primary) 80%, #111);
}

/* ---- Buttons: gradient sheen, satisfying hover ---- */
.sf-theme-modern .sf-btn-primary {
  background: linear-gradient(180deg, var(--sf-primary), color-mix(in srgb, var(--sf-primary) 82%, #000));
  color: #fff;
  box-shadow: 0 2px 8px rgba(45,80,22,0.2), 0 4px 14px rgba(0,0,0,0.06);
  position: relative;
  overflow: hidden;
  border: none;
  transition: all 0.25s ease;
}
.sf-theme-modern .sf-btn-primary::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.14) 0%, transparent 50%);
  pointer-events: none;
}
.sf-theme-modern .sf-btn-primary:hover {
  box-shadow: 0 4px 12px rgba(45,80,22,0.3), 0 8px 28px rgba(0,0,0,0.12);
  transform: translateY(-2px);
}
.sf-theme-modern .sf-btn-secondary {
  border: 2px solid var(--sf-primary);
  color: var(--sf-primary-readable);
  background: transparent;
  transition: all 0.25s ease;
}
.sf-theme-modern .sf-btn-secondary:hover {
  background: color-mix(in srgb, var(--sf-primary) 8%, transparent);
}

/* ---- Category Cards: primary-tinted icon bg ---- */
.sf-theme-modern .sf-category-card {
  border-radius: 0.875rem;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background: var(--sf-background);
  overflow: hidden;
}
.sf-theme-modern .sf-category-card:hover {
  border-color: color-mix(in srgb, var(--sf-primary) 35%, transparent);
  transform: translateY(-4px);
  box-shadow:
    0 6px 20px rgba(0,0,0,0.06),
    0 16px 40px rgba(0,0,0,0.04),
    0 0 0 1px color-mix(in srgb, var(--sf-primary) 10%, transparent);
}
.sf-theme-modern .sf-category-icon-placeholder {
  border-radius: 0.875rem;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--sf-primary) 8%, #f3f4f6),
    color-mix(in srgb, var(--sf-primary) 14%, #eef0ee)
  );
  color: var(--sf-primary-readable);
}
.sf-theme-modern .sf-category-card h3 {
  font-weight: 600;
}

/* ---- Deal Cards: accent left border strip ---- */
.sf-theme-modern .sf-deal-card {
  border-radius: 0.875rem;
  border: 1px solid rgba(0,0,0,0.06);
  border-left: 4px solid var(--sf-accent);
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
  transition: all 0.3s ease;
  background: var(--sf-background);
}
.sf-theme-modern .sf-deal-card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.08);
  transform: translateY(-2px);
  border-left-color: var(--sf-accent);
}
.sf-theme-modern .sf-deal-badge,
.sf-theme-modern .sf-deal-badge-lg {
  background: linear-gradient(135deg, var(--sf-accent), color-mix(in srgb, var(--sf-accent) 80%, #000));
  color: #111;
  border-radius: 0.625rem;
  box-shadow: 0 2px 10px rgba(245,158,11,0.3);
  font-weight: 700;
}

/* ---- Tabs: pill style, primary active ---- */
.sf-theme-modern .sf-tab {
  border-radius: 999px;
  border: 1.5px solid rgba(0,0,0,0.08);
  font-weight: 500;
  transition: all 0.25s ease;
  background: transparent;
}
.sf-theme-modern .sf-tab.sf-tab-icon {
  border: none;
  padding: 0;
  border-radius: 0;
  background: transparent;
  opacity: 1;
}
.sf-theme-modern .sf-tab.sf-tab-icon:hover {
  background: transparent;
  border: none;
}
.sf-theme-modern .sf-tab:hover {
  border-color: color-mix(in srgb, var(--sf-primary) 40%, transparent);
  background: color-mix(in srgb, var(--sf-primary) 5%, transparent);
  color: var(--sf-primary-readable);
}
.sf-theme-modern .sf-tab.active {
  background: var(--sf-primary);
  color: #fff;
  border-color: var(--sf-primary);
  box-shadow: 0 2px 10px rgba(45,80,22,0.25);
}
.sf-theme-modern .sf-tab.sf-tab-icon.active {
  background: transparent;
  color: var(--sf-text);
  border: none;
  box-shadow: none;
}
.sf-theme-modern .sf-tab.sf-tab-icon.active .sf-tab-icon-wrap {
  border-color: var(--sf-primary);
  background: color-mix(in srgb, var(--sf-primary) 8%, #fff);
  box-shadow: 0 2px 10px rgba(45,80,22,0.15);
}
.sf-theme-modern .sf-tab.sf-tab-icon.active .sf-tab-label {
  color: var(--sf-primary-readable);
}

/* ---- Search: rounded, primary focus ring ---- */
.sf-theme-modern .sf-search-input {
  border-radius: 0.625rem 0 0 0.625rem;
  border: 1.5px solid rgba(0,0,0,0.1);
  transition: all 0.25s ease;
}
.sf-theme-modern .sf-search-input:focus {
  border-color: var(--sf-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sf-primary) 12%, transparent);
}
.sf-theme-modern .sf-search-btn {
  border-radius: 0 0.625rem 0.625rem 0;
  background: var(--sf-primary);
  color: #fff;
  border: 1.5px solid var(--sf-primary);
}

/* ---- Filter Sidebar ---- */
.sf-theme-modern .sf-filter-section h4 {
  font-weight: 600;
  letter-spacing: -0.01em;
}
.sf-theme-modern .sf-filter-option:hover {
  color: var(--sf-primary-readable);
}
.sf-theme-modern .sf-filter-active {
  color: var(--sf-primary-readable);
  font-weight: 600;
}

/* ---- Sort Bar ---- */
.sf-theme-modern .sf-sort-select {
  border-radius: 0.5rem;
  border: 1.5px solid rgba(0,0,0,0.1);
}
.sf-theme-modern .sf-sort-select:focus {
  border-color: var(--sf-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sf-primary) 10%, transparent);
}

/* ---- Info Cards: tinted top accent ---- */
.sf-theme-modern .sf-info-card {
  border-radius: 0.875rem;
  border: 1px solid rgba(0,0,0,0.05);
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
  position: relative;
  overflow: hidden;
}
.sf-theme-modern .sf-info-card:hover {
  border-color: rgba(0,0,0,0.1);
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

/* ---- About Section ---- */
.sf-theme-modern .sf-about-image img {
  border-radius: 0.875rem;
  box-shadow: 0 8px 30px rgba(0,0,0,0.1);
}
.sf-theme-modern .sf-prose {
  line-height: 1.8;
}

/* ---- Variation / Weight selectors ---- */
.sf-theme-modern .sf-variation-btn {
  border-radius: 0.5rem;
  border: 1.5px solid rgba(0,0,0,0.1);
  transition: all 0.2s ease;
}
.sf-theme-modern .sf-variation-btn:hover {
  border-color: var(--sf-primary);
  background: color-mix(in srgb, var(--sf-primary) 5%, transparent);
}
.sf-theme-modern .sf-variation-btn.active {
  border-color: var(--sf-primary);
  background: color-mix(in srgb, var(--sf-primary) 10%, transparent);
  color: var(--sf-primary-readable);
  font-weight: 600;
}

/* ---- Footer: deep dark with primary accent line ---- */
.sf-theme-modern .sf-footer {
  background: linear-gradient(180deg, #111812 0%, #0a0f08 100%);
  color: rgba(255,255,255,0.65);
  position: relative;
}
.sf-theme-modern .sf-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--sf-primary), var(--sf-accent), var(--sf-primary));
}
.sf-theme-modern .sf-footer-brand h3 {
  color: #fff;
}
.sf-theme-modern .sf-footer-links h4,
.sf-theme-modern .sf-footer-social h4 {
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}
.sf-theme-modern .sf-footer-links a {
  color: rgba(255,255,255,0.55);
  transition: color 0.2s ease;
}
.sf-theme-modern .sf-footer-links a:hover {
  color: var(--sf-accent);
}
.sf-theme-modern .sf-social-links a {
  border-radius: 0.5rem;
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.5);
  transition: all 0.25s ease;
}
.sf-theme-modern .sf-social-links a:hover {
  background: var(--sf-primary);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(45,80,22,0.3);
}
.sf-theme-modern .sf-footer-bottom {
  border-top-color: rgba(255,255,255,0.08);
}
.sf-theme-modern .sf-powered-by a {
  color: var(--sf-accent);
}

/* ---- Cart & Checkout ---- */
.sf-theme-modern .sf-cart-item {
  border-radius: 0.875rem;
  border: 1px solid rgba(0,0,0,0.06);
  transition: border-color 0.2s ease;
}
.sf-theme-modern .sf-cart-item:hover {
  border-color: color-mix(in srgb, var(--sf-primary) 20%, transparent);
}
.sf-theme-modern .sf-cart-summary {
  border-radius: 0.875rem;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  background: color-mix(in srgb, var(--sf-primary) 2%, var(--sf-background));
}
.sf-theme-modern .sf-checkout-section {
  border-radius: 0.875rem;
  border: 1px solid rgba(0,0,0,0.06);
}

/* ---- Age Gate: immersive primary background ---- */
.sf-theme-modern .sf-age-gate {
  background: linear-gradient(135deg, var(--sf-primary), color-mix(in srgb, var(--sf-primary) 60%, #000));
}
.sf-theme-modern .sf-age-gate::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.2), rgba(0,0,0,0.05));
}
.sf-theme-modern .sf-age-gate-card {
  border-radius: 1.25rem;
  box-shadow:
    0 20px 60px rgba(0,0,0,0.2),
    0 6px 20px rgba(0,0,0,0.1);
  backdrop-filter: blur(4px);
}

/* ---- Stock indicator dots ---- */
.sf-theme-modern .sf-stock-in::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #059669;
  margin-right: 0.375rem;
  box-shadow: 0 0 0 3px rgba(5,150,105,0.15), 0 0 8px rgba(5,150,105,0.3);
}
.sf-theme-modern .sf-stock-low::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f59e0b;
  margin-right: 0.375rem;
  box-shadow: 0 0 0 3px rgba(245,158,11,0.15);
}

/* ---- Tier Cards: primary accent ---- */
.sf-theme-modern .sf-tier-card {
  border-radius: 0.875rem;
  border: 1px solid rgba(0,0,0,0.06);
  transition: all 0.3s ease;
  overflow: hidden;
}
.sf-theme-modern .sf-tier-card:hover {
  border-color: color-mix(in srgb, var(--sf-primary) 25%, transparent);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.sf-theme-modern .sf-tier-featured {
  border-color: var(--sf-primary);
  border-width: 2px;
  box-shadow: 0 4px 20px rgba(45,80,22,0.12), 0 12px 40px rgba(0,0,0,0.04);
  position: relative;
}
.sf-theme-modern .sf-tier-featured::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--sf-primary), var(--sf-accent));
}
.sf-theme-modern .sf-tier-badge {
  background: linear-gradient(135deg, var(--sf-primary), color-mix(in srgb, var(--sf-primary) 80%, #000));
  color: #fff;
  border-radius: 0.5rem;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(45,80,22,0.25);
}

/* ---- Pagination ---- */
.sf-theme-modern .sf-pagination a,
.sf-theme-modern .sf-pagination span {
  border-radius: 0.5rem;
  transition: all 0.2s ease;
}
.sf-theme-modern .sf-pagination a:hover {
  background: color-mix(in srgb, var(--sf-primary) 8%, transparent);
  color: var(--sf-primary-readable);
}
.sf-theme-modern .sf-pagination .current {
  background: var(--sf-primary);
  color: #fff;
  box-shadow: 0 2px 8px rgba(45,80,22,0.25);
}

/* ---- Strain Pills (product detail) ---- */
.sf-theme-modern .sf-strain-pill {
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: 0.3rem 0.875rem;
}

/* ---- Subtle page entrance ---- */
.sf-theme-modern .sf-product-card {
  animation: modern-card-in 0.4s ease-out both;
}
@keyframes modern-card-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.sf-theme-modern .sf-product-grid .sf-product-card:nth-child(1) { animation-delay: 0.02s; }
.sf-theme-modern .sf-product-grid .sf-product-card:nth-child(2) { animation-delay: 0.06s; }
.sf-theme-modern .sf-product-grid .sf-product-card:nth-child(3) { animation-delay: 0.10s; }
.sf-theme-modern .sf-product-grid .sf-product-card:nth-child(4) { animation-delay: 0.14s; }
.sf-theme-modern .sf-product-grid .sf-product-card:nth-child(5) { animation-delay: 0.18s; }
.sf-theme-modern .sf-product-grid .sf-product-card:nth-child(6) { animation-delay: 0.22s; }
.sf-theme-modern .sf-product-grid .sf-product-card:nth-child(7) { animation-delay: 0.26s; }
.sf-theme-modern .sf-product-grid .sf-product-card:nth-child(8) { animation-delay: 0.30s; }

/* ---- Mobile header: keep dark treatment ---- */
.sf-theme-modern .sf-mobile-menu {
  background: rgba(17, 24, 10, 0.96);
  backdrop-filter: blur(28px);
  color: #fff;
}
.sf-theme-modern .sf-mobile-menu a {
  color: rgba(255,255,255,0.8);
}
.sf-theme-modern .sf-mobile-menu a:hover {
  color: #fff;
  background: rgba(255,255,255,0.08);
}
