/* ============================================================
   EXTENDED OVERHAUL v3 — Professional Additions
   ============================================================ */

/* Page load smoothness */
html { background: #0e0b12; }
img { transition: opacity 0.4s ease; }

/* Better image placeholder */
img[src=""], img:not([src]), img[src$="undefined"], img[src$="null"] {
  background: linear-gradient(135deg, rgba(201,150,123,0.1) 0%, rgba(22,18,31,0.95) 100%) !important;
  min-height: 120px;
  object-fit: cover !important;
  opacity: 0.45 !important;
}
.placeholder-svg, .placeholder svg {
  fill: rgba(201,150,123,0.15) !important;
  width: 100% !important;
  height: 100% !important;
}
.media--placeholder, .card__media--placeholder {
  background: linear-gradient(135deg, rgba(201,150,123,0.07) 0%, rgba(22,18,31,0.9) 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 200px !important;
}

/* Kill remaining white backgrounds */
.color-background-1, .color-background-2,
[class*="color-background"],
[class*="background-primary"],
[class*="background-secondary"] {
  background: transparent !important;
}

/* Announcement bar link */
.announcement-bar__link {
  color: var(--jb-bg) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Dropdown menus */
.list-menu--disclosure, .header-menu__submenu, .mega-menu {
  background: rgba(12,9,18,0.97) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border: 1px solid var(--jb-border) !important;
  border-radius: var(--jb-radius-sm) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important;
}
.list-menu--disclosure a, .header-menu__submenu a {
  color: var(--jb-text) !important;
  font-size: 0.88rem !important;
  padding: 0.6rem 1.2rem !important;
  display: block !important;
  transition: color 0.2s, background 0.2s !important;
  text-decoration: none !important;
}
.list-menu--disclosure a:hover, .header-menu__submenu a:hover {
  color: var(--jb-rose-light) !important;
  background: rgba(201,150,123,0.06) !important;
}

/* Variant selectors */
.variant-picker__button, .swatch-input__button {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid var(--jb-border) !important;
  border-radius: var(--jb-radius-sm) !important;
  color: var(--jb-text) !important;
  font-family: var(--jb-font-body) !important;
  font-size: 0.82rem !important;
  transition: all 0.25s !important;
  cursor: pointer !important;
}
.variant-picker__button:hover { border-color: var(--jb-rose) !important; color: var(--jb-white) !important; }
.variant-picker__button[aria-pressed="true"],
.variant-picker__button[aria-selected="true"] {
  background: var(--jb-gradient) !important;
  border-color: var(--jb-rose) !important;
  color: var(--jb-bg) !important;
  font-weight: 600 !important;
}

/* Quantity selector */
.quantity-selector, .quantity__input-wrapper {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid var(--jb-border) !important;
  border-radius: var(--jb-radius-sm) !important;
  display: inline-flex !important;
  align-items: center !important;
}
.quantity__button {
  background: transparent !important;
  color: var(--jb-text) !important;
  border: none !important;
  font-size: 1.1rem !important;
  transition: color 0.2s !important;
  cursor: pointer !important;
  padding: 0.4rem 0.8rem !important;
}
.quantity__button:hover { color: var(--jb-rose-light) !important; }
.quantity__input {
  background: transparent !important;
  color: var(--jb-white) !important;
  border: none !important;
  text-align: center !important;
  font-family: var(--jb-font-body) !important;
  font-weight: 600 !important;
  min-width: 2.5rem !important;
  width: auto !important;
}

/* Page content - About, Contact, FAQ */
.page__content h1, .page__content h2, .page__content h3 {
  color: var(--jb-white) !important;
  font-family: var(--jb-font-head) !important;
}
.page__content p, .page__content li {
  color: var(--jb-text-muted) !important;
  line-height: 1.8 !important;
}
.page__content {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 2rem clamp(1rem, 4vw, 2.5rem) !important;
}

/* Blog articles grid */
.blog-articles, .article-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important;
  gap: 1.5rem !important;
}
.article-card {
  background: rgba(255,255,255,0.035) !important;
  border: 1px solid var(--jb-border) !important;
  border-radius: var(--jb-radius) !important;
  overflow: hidden !important;
  transition: transform 0.35s var(--jb-ease), box-shadow 0.35s, border-color 0.35s !important;
}
.article-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.35) !important;
  border-color: rgba(201,150,123,0.28) !important;
}
.article-card__title {
  font-family: var(--jb-font-head) !important;
  color: var(--jb-white) !important;
  transition: color 0.25s !important;
}
.article-card:hover .article-card__title { color: var(--jb-rose-light) !important; }
.article-card__excerpt { color: var(--jb-text-muted) !important; font-size: 0.88rem !important; line-height: 1.65 !important; }
.article-card__meta {
  font-size: 0.75rem !important;
  color: var(--jb-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  opacity: 0.7 !important;
}
.article-card__image img {
  transition: transform 0.6s var(--jb-ease) !important;
  object-fit: cover !important;
  width: 100% !important;
}
.article-card:hover .article-card__image img { transform: scale(1.06) !important; }

/* Tags / Pills */
.tag, .article-tag, .product__tag {
  background: rgba(201,150,123,0.1) !important;
  border: 1px solid rgba(201,150,123,0.2) !important;
  border-radius: var(--jb-radius-pill) !important;
  color: var(--jb-rose-light) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  text-decoration: none !important;
  transition: all 0.25s !important;
}
.tag:hover, .article-tag:hover {
  background: var(--jb-rose) !important;
  color: var(--jb-white) !important;
  border-color: var(--jb-rose) !important;
}

/* Product image hover */
.product__media img, .product-single__photo { transition: transform 0.6s var(--jb-ease) !important; }
.product__media:hover img { transform: scale(1.04) !important; }

/* Image aspect ratio containers */
.card__media {
  overflow: hidden !important;
  position: relative !important;
}
.card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

/* Table styling */
table { width: 100% !important; border-collapse: collapse !important; }
th {
  background: rgba(201,150,123,0.08) !important;
  color: var(--jb-white) !important;
  font-family: var(--jb-font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.75rem 1rem !important;
  border-bottom: 1px solid var(--jb-border) !important;
  text-align: left !important;
}
td {
  padding: 0.75rem 1rem !important;
  border-bottom: 1px solid var(--jb-border-light) !important;
  color: var(--jb-text-muted) !important;
  font-family: var(--jb-font-body) !important;
  font-size: 0.88rem !important;
}
tr:hover td { background: rgba(255,255,255,0.02) !important; }

/* Skeleton shimmer */
@keyframes jb-skeleton {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.jb-skeleton {
  background: linear-gradient(90deg,
    rgba(255,255,255,0.04) 25%,
    rgba(201,150,123,0.06) 50%,
    rgba(255,255,255,0.04) 75%) !important;
  background-size: 200% 100% !important;
  animation: jb-skeleton 1.5s infinite !important;
  border-radius: var(--jb-radius-sm) !important;
}

/* Empty state */
.empty-state { text-align: center !important; padding: 4rem 2rem !important; color: var(--jb-text-muted) !important; }
.empty-state h2 { color: var(--jb-white) !important; margin-bottom: 1rem !important; }

/* Popover */
[popover] {
  background: rgba(12,9,18,0.98) !important;
  border: 1px solid var(--jb-border) !important;
  border-radius: var(--jb-radius) !important;
  backdrop-filter: blur(20px) !important;
  color: var(--jb-text) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important;
}

/* Focus styles */
:focus-visible { outline: 2px solid rgba(201,150,123,0.5) !important; outline-offset: 2px !important; }
button:focus:not(:focus-visible), a:focus:not(:focus-visible) { outline: none !important; }

/* Desktop 4-col grid */
@media (min-width: 990px) {
  .card-grid { grid-template-columns: repeat(4, 1fr) !important; }
}

/* Sticky ATC on mobile */
@media (max-width: 749px) {
  .shopify-payment-button {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 100 !important;
    padding: 1rem !important;
    background: linear-gradient(to top, rgba(14,11,18,0.98) 60%, transparent) !important;
  }
}

/* Print */
@media print {
  body { background: white !important; color: black !important; }
  .header__row, .footer, #jb-scroll-progress, #jb-back-to-top { display: none !important; }
}

/* Section spacing */
.shopify-section { padding-block: 0 !important; }

/* Horizontal scrollbar */
.overflow-list {
  scrollbar-width: thin !important;
  scrollbar-color: var(--jb-rose-dark) rgba(255,255,255,0.04) !important;
}

/* ============================================================
   PROMOTIONAL POPUP
   ============================================================ */

.jb-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(12, 9, 18, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.jb-popup-overlay.show {
  opacity: 1;
  visibility: visible;
}

.jb-popup-content {
  background: linear-gradient(145deg, #1c1624, #120e17);
  border: 1px solid var(--jb-border);
  border-radius: var(--jb-radius);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7);
  width: 90%;
  max-width: 800px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transform: translateY(30px) scale(0.95);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.jb-popup-overlay.show .jb-popup-content {
  transform: translateY(0) scale(1);
}

@media (min-width: 768px) {
  .jb-popup-content {
    flex-direction: row;
    height: 400px;
  }
}

.jb-popup-close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(0,0,0,0.4);
  border: none;
  color: #fff;
  font-size: 24px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: background 0.3s, transform 0.3s;
}

.jb-popup-close:hover {
  background: var(--jb-rose);
  transform: rotate(90deg);
}

.jb-popup-image {
  flex: 1;
  min-height: 200px;
}

.jb-popup-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jb-popup-text {
  flex: 1;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.jb-popup-title {
  font-family: var(--jb-font-head);
  color: var(--jb-white);
  font-size: 2rem;
  margin-bottom: 1rem;
}

.jb-popup-desc {
  color: var(--jb-text-muted);
  font-family: var(--jb-font-body);
  line-height: 1.6;
  margin-bottom: 2rem;
  font-size: 0.95rem;
}

.jb-popup-btn {
  align-self: center;
  padding: 1rem 2rem;
  background: var(--jb-gradient);
  color: var(--jb-bg);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--jb-radius-pill);
  text-decoration: none;
  transition: transform 0.3s, box-shadow 0.3s;
}

.jb-popup-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(201, 150, 123, 0.3);
}
