/* ============================================
   BOMBA EDITORIAL — muzikosirasai-inspired
   PS 8.2 child theme of classic
   ============================================ */

:root {
  /* Design tokens */
  --bomba-bg: #f7f5f0;             /* warm cream */
  --bomba-bg-alt: #efe9dc;         /* slightly darker cream */
  --bomba-text: #1a1714;           /* warm near-black */
  --bomba-text-soft: #62605b;      /* warm gray */
  --bomba-text-muted: #a1a09a;     /* light warm gray */
  --bomba-gold: #b8901c;           /* primary gold accent */
  --bomba-gold-dark: #967b30;      /* hover gold */
  --bomba-card: #fefcf7;           /* card BG */
  --bomba-border: #e5dfd1;         /* warm border */
  --bomba-border-strong: #c9bfa8;
  --bomba-success: #016630;
  --bomba-danger: #9f0712;

  /* Format colors (LP/CD/etc) */
  --fmt-lp: #59168b;
  --fmt-cd: #1c398e;
  --fmt-dvd: #82181a;
  --fmt-cassette: #733e0a;
  --fmt-single: #62605b;
  --fmt-boxset: #7e2a0c;
}

/* ============ TYPOGRAPHY ============ */

body, .container, .page, main {
  background-color: var(--bomba-bg) !important;
  color: var(--bomba-text);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.product-title, .page-title {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
  color: var(--bomba-text);
  letter-spacing: -0.01em;
}

.serif-italic, em.accent {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-style: italic;
  font-weight: 400;
  color: var(--bomba-gold);
}

.mono, .stat-number, .price-value, .product-quantities {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  letter-spacing: 0;
}

/* Section labels with editorial dashes */
.section-label, .h3.products-section-title {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.875rem;
  color: var(--bomba-gold);
  text-align: center;
  margin: 2rem 0;
}
.section-label::before { content: '—— '; }
.section-label::after { content: ' ——'; }

/* ============ HEADER ============ */

#header, .header-top, header {
  background-color: var(--bomba-bg) !important;
  border-bottom: 1px solid var(--bomba-border);
  box-shadow: none;
}

#header .logo,
.header-top .logo,
header .logo {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
}

/* Promo top banner */
.header-top .row.top-promo,
#_desktop_top_menu_top {
  background-color: var(--bomba-gold);
  color: #0a0a0a;
}

/* Navigation */
#top-menu .top-menu, .top-menu a,
#_desktop_top_menu .top-menu a,
#_desktop_top_menu .top-menu .sub-menu li a {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.875rem;
  color: var(--bomba-text);
}

#top-menu .top-menu a:hover,
#_desktop_top_menu .top-menu a:hover {
  color: var(--bomba-gold);
}

/* ============ BUTTONS ============ */

.btn,
.btn-primary,
.btn-secondary,
button[type="submit"] {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 4px;
  padding: 0.6rem 1.5rem;
  transition: all 0.2s ease;
  font-size: 0.85rem;
}

.btn-primary,
.btn.btn-primary,
button[type="submit"].btn-primary,
.add-to-cart {
  background-color: var(--bomba-gold) !important;
  border-color: var(--bomba-gold) !important;
  color: #0a0a0a !important;
}

.btn-primary:hover,
.btn.btn-primary:hover,
button[type="submit"].btn-primary:hover,
.add-to-cart:hover {
  background-color: var(--bomba-gold-dark) !important;
  border-color: var(--bomba-gold-dark) !important;
  color: #fff !important;
}

.btn-secondary {
  background-color: transparent;
  border: 1px solid var(--bomba-text);
  color: var(--bomba-text);
}
.btn-secondary:hover {
  background-color: var(--bomba-text);
  color: var(--bomba-bg);
}

/* ============ SEARCH BAR ============ */

#search_widget,
.search-widget {
  border: 1px solid var(--bomba-border-strong);
  border-radius: 999px;
  background: var(--bomba-card);
}

#search_widget input[type="text"],
.search-widget input[type="text"] {
  border: none;
  background: transparent;
  font-family: 'Inter', sans-serif;
}

#search_widget button[type="submit"],
.search-widget button[type="submit"] {
  background-color: var(--bomba-gold);
  color: #0a0a0a;
  border-radius: 999px;
  border: none;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ============ PRODUCT CARDS ============ */

.product-miniature,
.products .product {
  background-color: var(--bomba-card);
  border-radius: 4px;
  border: 1px solid transparent;
  transition: border-color 0.2s, transform 0.2s;
  padding: 0;
  overflow: hidden;
}

.product-miniature:hover,
.products .product:hover {
  border-color: var(--bomba-border-strong);
  transform: translateY(-2px);
}

.product-miniature .thumbnail-container,
.product-miniature .product-thumbnail {
  border-radius: 0;
  overflow: hidden;
}

.product-miniature .product-title,
.product-miniature h2,
.product-miniature h3 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin: 0.5rem 0 0.25rem;
  padding: 0 0.75rem;
}

.product-miniature .product-title a {
  color: var(--bomba-text);
  text-decoration: none;
}

.product-miniature .product-title a:hover {
  color: var(--bomba-gold);
}

.product-miniature .product-price-and-shipping {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  color: var(--bomba-text);
  padding: 0 0.75rem 0.75rem;
}

.product-miniature .product-price-and-shipping .price {
  font-size: 1rem;
  font-weight: 500;
}

/* Manufacturer/artist label */
.product-miniature .product-manufacturer,
.product-miniature .product-brand {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-style: italic;
  font-size: 0.875rem;
  color: var(--bomba-gold);
  padding: 0 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Format badge (LP/CD/etc) */
.format-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 3px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
}
.format-badge--lp { background: var(--fmt-lp); }
.format-badge--cd { background: var(--fmt-cd); }
.format-badge--dvd { background: var(--fmt-dvd); }
.format-badge--cassette { background: var(--fmt-cassette); }
.format-badge--single { background: var(--fmt-single); }
.format-badge--boxset { background: var(--fmt-boxset); }

/* ============ FOOTER ============ */

#footer, .footer-container {
  background-color: var(--bomba-text) !important;
  color: var(--bomba-bg);
}

#footer h4, #footer .h4,
.footer-container h4, .footer-container .h4 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--bomba-bg);
  text-transform: none;
  font-weight: 700;
}

#footer a, .footer-container a {
  color: var(--bomba-text-muted);
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
}

#footer a:hover, .footer-container a:hover {
  color: var(--bomba-gold);
}

/* ============ FORMS ============ */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea,
select {
  border: 1px solid var(--bomba-border-strong);
  border-radius: 4px;
  font-family: 'Inter', sans-serif;
  background: var(--bomba-card);
  color: var(--bomba-text);
  padding: 0.5rem 0.75rem;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--bomba-gold);
  box-shadow: 0 0 0 2px rgba(184, 144, 28, 0.15);
}

/* ============ CART / CHECKOUT ============ */

.cart-summary, .order-summary {
  background-color: var(--bomba-card);
  border: 1px solid var(--bomba-border);
  border-radius: 4px;
}

.cart-summary .label,
.cart-summary h2 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.cart-total .value,
.product-line-grid-body .price,
.order-line .price {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 500;
}

/* ============ BREADCRUMB ============ */

.breadcrumb {
  background: transparent;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--bomba-text-soft);
  padding: 0.5rem 0;
}

.breadcrumb a {
  color: var(--bomba-text-soft);
}

.breadcrumb a:hover {
  color: var(--bomba-gold);
}

/* ============ PRICE / DISCOUNTS ============ */

.product-price-and-shipping .regular-price {
  text-decoration: line-through;
  color: var(--bomba-text-muted);
  font-size: 0.875rem;
}

.product-price-and-shipping .price.has-discount {
  color: var(--bomba-danger);
  font-weight: 600;
}

.discount-percentage,
.product-flag.discount {
  background-color: var(--bomba-gold);
  color: #0a0a0a;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
}

/* ============ SCROLLBAR (subtle) ============ */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--bomba-bg); }
::-webkit-scrollbar-thumb { background: var(--bomba-border-strong); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--bomba-gold); }

/* ============ MISC ============ */

a { color: var(--bomba-text); transition: color 0.2s; }
a:hover { color: var(--bomba-gold); }

hr { border-color: var(--bomba-border); }

.alert-success { background-color: #f0f7e8; color: var(--bomba-success); border-color: #d3e6b8; }
.alert-danger { background-color: #fdecec; color: var(--bomba-danger); border-color: #f3bec7; }

/* ============ PRODUCT FLAGS / BADGES ============ */
.product-flags { padding: 0.5rem; }

.product-flag,
.product-flag.new,
.product-flag.online-only,
.product-flag.on-sale {
  background-color: var(--bomba-text);
  color: var(--bomba-bg);
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.7rem;
  padding: 0.25rem 0.5rem;
  border-radius: 2px;
  margin: 0 0.25rem 0.25rem 0;
}

.product-flag.discount,
.product-flag.discount-percentage,
.product-flag.discount-amount {
  background-color: var(--bomba-gold);
  color: #0a0a0a;
}

.product-flag.out_of_stock {
  background-color: var(--bomba-danger);
  color: #fff;
}

/* ============ SEARCH BAR ENHANCED ============ */
#search_widget input[type="text"] {
  padding: 0.65rem 1rem;
  font-size: 0.95rem;
}

#search_widget button[type="submit"],
#search_widget .btn,
.search-widget .btn {
  background-color: var(--bomba-gold) !important;
  color: #0a0a0a !important;
  border: none !important;
}

.search-widget__icon {
  color: var(--bomba-gold);
}

/* ============ HERO / SLIDER ============ */
.carousel .carousel-item {
  background-color: var(--bomba-bg-alt) !important;
}

.carousel .carousel-caption h2 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 3rem;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.carousel .carousel-caption h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 1rem;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  filter: invert(0) opacity(0.7);
}

/* ============ HOME SECTIONS ============ */
.featured-products .h2,
.products-section-title,
.featured-products__h2,
section .products .title-block,
.products .h2,
section h2 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 2.5rem 0 1.5rem;
  color: var(--bomba-text);
}

/* ============ WISHLIST HEART ============ */
.wishlist-button-product {
  background: var(--bomba-card);
  border: 1px solid var(--bomba-border);
  border-radius: 50%;
}

.wishlist-button-product:hover {
  border-color: var(--bomba-gold);
}

/* ============ TOP BAR LINKS ============ */
.user-info, .blockcart {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.user-info a, .blockcart a {
  color: var(--bomba-text);
}

/* ============ CART ICON ============ */
.blockcart .header {
  color: var(--bomba-text);
}

.blockcart .cart-products-count {
  background: var(--bomba-gold);
  color: #0a0a0a;
}

/* ============ CATEGORY MENU TOP ============ */
.top-menu .category > a {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.875rem;
}

/* ============ FOOTER FINAL ============ */
.footer-container .links a {
  text-transform: none;
  font-size: 0.95rem;
  letter-spacing: 0;
}

.footer-container .h4 {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 1rem;
  margin-bottom: 1rem;
}

.footer-before {
  background-color: var(--bomba-bg-alt) !important;
}

/* ============ FREE SHIPPING TOP BANNER ============ */
.header-nav {
  background-color: transparent !important;
}

/* If reassurance/promo banner — make it gold */
[class*="reassurance"] [class*="header"] {
  background: var(--bomba-gold);
}


/* ============ HIGH-SPECIFICITY OVERRIDES ============ */
/* PS classic uses high-specificity rules — force ours with !important */

.product-flags li.product-flag,
.product-flags .product-flag,
li.product-flag.new,
.product-flag.new,
.product-flag.online-only {
  background-color: var(--bomba-text) !important;
  color: var(--bomba-bg) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.7rem !important;
  padding: 0.3rem 0.6rem !important;
  border-radius: 2px !important;
  border: none !important;
}

.product-flag.discount,
.product-flag.discount-percentage,
.product-flag.discount-amount,
li.product-flag.discount,
li.product-flag.discount-percentage {
  background-color: var(--bomba-gold) !important;
  color: #0a0a0a !important;
}

.product-flag.out_of_stock,
li.product-flag.out_of_stock {
  background-color: var(--bomba-danger) !important;
  color: #fff !important;
}

/* Hero / carousel — make text properly contrasted */
.carousel .carousel-caption {
  background: rgba(247, 245, 240, 0.85) !important;
  padding: 2rem !important;
  border-radius: 4px !important;
}
.carousel .carousel-caption h2.display-1,
.carousel .display-1 {
  color: var(--bomba-text) !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  text-shadow: none !important;
}
.carousel .carousel-caption h3.display-2,
.carousel .display-2 {
  color: var(--bomba-gold) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.carousel .carousel-caption .display-3,
.carousel .carousel-caption p {
  color: var(--bomba-text-soft) !important;
  font-family: 'Inter', sans-serif !important;
}

/* Add to cart and primary buttons - higher specificity */
.btn.btn-primary,
button.btn.btn-primary,
.product-add-to-cart .btn-primary,
.add { 
  background-color: var(--bomba-gold) !important;
  border-color: var(--bomba-gold) !important;
  color: #0a0a0a !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.btn.btn-primary:hover,
button.btn.btn-primary:hover,
.add:hover {
  background-color: var(--bomba-gold-dark) !important;
  border-color: var(--bomba-gold-dark) !important;
  color: #fff !important;
}

/* Top menu navigation links */
#_desktop_top_menu .top-menu .top-menu li > a {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.875rem;
  color: var(--bomba-text);
}
#_desktop_top_menu .top-menu li > a:hover {
  color: var(--bomba-gold);
}

/* Search button */
#search_widget button {
  background-color: var(--bomba-gold) !important;
  color: #0a0a0a !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* Heading colors */
section .h1, section .h2, section .h3, section h1, section h2, section h3 {
  color: var(--bomba-text);
}

/* Wishlist heart — neutral */
.wishlist-button-product {
  color: var(--bomba-text-soft);
}
.wishlist-button-product:hover,
.wishlist-button-product.active {
  color: var(--bomba-danger);
}

