/* ═══════════════════════════════════════════
   CYMATICS — WooCommerce Stylesheet
   Full dark theme matching cymatics design
═══════════════════════════════════════════ */

/* ── SHOP LAYOUT ─────────────────────────── */
.woocommerce,
.woocommerce-page {
  background: var(--cym-void);
  color: var(--cym-white);
}

.woocommerce .woocommerce-breadcrumb {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--cym-muted);
  padding: 7rem 4rem 1rem;
  max-width: 1200px; margin: 0 auto;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--cym-teal); }

/* Page title */
.woocommerce-products-header__title,
.woocommerce h1.entry-title,
.woocommerce h2.woocommerce-loop-product__title {
  font-family: 'Cinzel', serif !important;
  color: var(--cym-white) !important;
}

/* Main shop page wrapper */
.woocommerce #primary,
.woocommerce-page #primary {
  padding: 8rem 4rem 5rem;
  max-width: 1200px;
  margin: 0 auto;
  background: transparent;
}

/* ── PRODUCT GRID ────────────────────────── */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  list-style: none !important;
  margin: 0 !important; padding: 0 !important;
}

.woocommerce ul.products li.product {
  background: rgba(26,10,62,0.35);
  border: 1px solid var(--cym-border);
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  transition: all 0.4s;
  position: relative;
}
.woocommerce ul.products li.product::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, var(--cym-teal-dim) 0%, transparent 60%);
  opacity: 0; transition: opacity 0.4s; pointer-events: none; z-index: 0;
}
.woocommerce ul.products li.product:hover {
  border-color: rgba(0,245,212,0.35);
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(0,245,212,0.1);
}
.woocommerce ul.products li.product:hover::before { opacity: 1; }

/* Product image */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block; position: relative;
}
.woocommerce ul.products li.product img {
  width: 100%; display: block;
  border-bottom: 1px solid var(--cym-border);
  filter: brightness(0.9) saturate(0.8);
  transition: filter 0.4s;
}
.woocommerce ul.products li.product:hover img {
  filter: brightness(1) saturate(1.1);
}

/* Product info */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Cinzel', serif !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.1em;
  color: var(--cym-white) !important;
  padding: 1.2rem 1.5rem 0.4rem !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product .price {
  font-family: 'JetBrains Mono', monospace;
  color: var(--cym-gold) !important;
  font-size: 1rem !important;
  padding: 0 1.5rem 0.8rem;
  display: block;
}
.woocommerce ul.products li.product .price del {
  color: var(--cym-muted) !important;
  font-size: 0.82rem;
}

/* Add to cart button on grid */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  display: block;
  margin: 0 1.5rem 1.5rem !important;
  padding: 0.7rem 1.2rem !important;
  border: 1px solid var(--cym-teal) !important;
  background: transparent !important;
  color: var(--cym-teal) !important;
  font-family: 'Cinzel', serif !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  transition: all 0.3s !important;
  border-radius: 0 !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
  background: var(--cym-teal-dim) !important;
  box-shadow: 0 0 20px var(--cym-teal-glow) !important;
}

/* Digital badge */
.woocommerce ul.products li.product .woocommerce-badge,
.woocommerce span.onsale {
  background: var(--cym-teal) !important;
  color: var(--cym-void) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
  min-height: auto !important;
  min-width: auto !important;
  padding: 4px 10px !important;
  line-height: 1.4 !important;
}

/* ── SINGLE PRODUCT ──────────────────────── */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem; align-items: start;
}

.woocommerce div.product .woocommerce-product-gallery {
  border: 1px solid var(--cym-border);
}
.woocommerce div.product .woocommerce-product-gallery img {
  width: 100%;
}

.woocommerce div.product .summary {
  padding-top: 1rem;
}
.woocommerce div.product .product_title {
  font-family: 'Cinzel', serif !important;
  font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
  color: var(--cym-white) !important;
  letter-spacing: 0.05em;
  margin-bottom: 1rem !important;
}
.woocommerce div.product p.price {
  font-family: 'Cinzel Decorative', serif !important;
  font-size: 2rem !important;
  color: var(--cym-gold) !important;
  margin-bottom: 1.5rem !important;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--cym-muted);
  line-height: 1.8;
  margin-bottom: 2rem;
}

/* Single add to cart */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  padding: 0.9rem 2.4rem !important;
  border: 1px solid var(--cym-teal) !important;
  background: transparent !important;
  color: var(--cym-teal) !important;
  font-family: 'Cinzel', serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  transition: all 0.3s !important;
  box-shadow: none !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--cym-teal-dim) !important;
  box-shadow: 0 0 30px var(--cym-teal-glow) !important;
  color: var(--cym-teal) !important;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0; margin: 0 0 2rem; border-bottom: 1px solid var(--cym-border);
  list-style: none; display: flex; gap: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin: 0 !important; padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--cym-teal) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: 'Cinzel', serif;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cym-muted) !important;
  padding: 0.8rem 1.5rem !important;
  display: block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--cym-teal) !important; }
.woocommerce div.product .woocommerce-tabs .panel {
  background: transparent;
  color: var(--cym-muted);
  line-height: 1.8;
  padding: 1.5rem 0;
}

/* ── CART ────────────────────────────────── */
.woocommerce-cart-form__cart-item,
.woocommerce table.cart td {
  background: transparent;
  border-color: var(--cym-border) !important;
  color: var(--cym-white) !important;
  vertical-align: middle;
}
.woocommerce table.cart th {
  font-family: 'Cinzel', serif;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cym-muted) !important;
  border-color: var(--cym-border) !important;
  background: transparent !important;
}
.woocommerce table.cart .product-name a { color: var(--cym-white) !important; }
.woocommerce table.cart .amount { color: var(--cym-gold) !important; font-family: 'JetBrains Mono', monospace; }

.cart-collaterals .cart_totals { background: rgba(26,10,62,0.4); border: 1px solid var(--cym-border); padding: 2rem; }
.cart_totals h2 { font-family: 'Cinzel', serif !important; font-size: 1rem !important; letter-spacing: 0.15em; color: var(--cym-teal) !important; }
.cart_totals table { color: var(--cym-white); }
.cart_totals table th { color: var(--cym-muted); font-family: 'Cinzel', serif; font-size: 0.75rem; }
.cart_totals table .order-total .amount { color: var(--cym-gold) !important; font-size: 1.2rem; }

.wc-proceed-to-checkout .checkout-button {
  background: var(--cym-teal-dim) !important;
  border-color: var(--cym-teal) !important;
  width: 100%;
}

/* ── CHECKOUT ────────────────────────────── */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  background: transparent;
}

.woocommerce form .form-row label {
  font-family: 'Cinzel', serif;
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  color: var(--cym-muted);
  margin-bottom: 0.4rem;
  display: block;
}

.woocommerce form .form-row input,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  background: rgba(10,10,20,0.8) !important;
  border: 1px solid var(--cym-border) !important;
  color: var(--cym-white) !important;
  border-radius: 0 !important;
  padding: 0.8rem 1rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  width: 100% !important;
  outline: none !important;
  transition: border-color 0.3s !important;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--cym-teal) !important;
  box-shadow: 0 0 15px var(--cym-teal-glow) !important;
}

/* Order review box */
#order_review_heading {
  font-family: 'Cinzel', serif !important;
  font-size: 1rem !important;
  letter-spacing: 0.15em;
  color: var(--cym-teal) !important;
}
.woocommerce-checkout-review-order-table {
  background: rgba(26,10,62,0.4);
  border: 1px solid var(--cym-border) !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  border-color: var(--cym-border) !important;
  color: var(--cym-white) !important;
  padding: 0.8rem 1rem !important;
}
.woocommerce-checkout-review-order-table .order-total .amount {
  color: var(--cym-gold) !important;
  font-size: 1.2rem;
  font-family: 'JetBrains Mono', monospace;
}

/* Place order button */
#place_order {
  width: 100% !important;
  background: var(--cym-teal-dim) !important;
}

/* ── NOTICES ─────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: rgba(0,245,212,0.08) !important;
  border-top: 3px solid var(--cym-teal) !important;
  color: var(--cym-white) !important;
  border-radius: 0 !important;
}
.woocommerce-error { border-color: #ff4f6b !important; background: rgba(255,79,107,0.08) !important; }
.woocommerce-message::before { color: var(--cym-teal) !important; }

/* ── ACCOUNT PAGE ────────────────────────── */
.woocommerce-account .woocommerce-MyAccount-navigation {
  border: 1px solid var(--cym-border);
  background: rgba(26,10,62,0.3);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 0.9rem 1.5rem;
  font-family: 'Cinzel', serif;
  font-size: 0.72rem; letter-spacing: 0.15em;
  color: var(--cym-muted);
  border-bottom: 1px solid var(--cym-border);
  text-decoration: none; transition: all 0.3s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--cym-teal);
  background: var(--cym-teal-dim);
}

/* Downloads table */
.woocommerce-table--order-downloads td,
.woocommerce-table--order-downloads th {
  border-color: var(--cym-border) !important;
  color: var(--cym-white) !important;
}
.woocommerce-table--order-downloads .download-file a {
  color: var(--cym-teal) !important;
  font-family: 'Cinzel', serif;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}

/* ── RESPONSIVE ──────────────────────────── */
@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
  }
  .woocommerce div.product {
    grid-template-columns: 1fr;
  }
  .woocommerce #primary { padding: 6rem 1.5rem 3rem; }
}
@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ═══════════════════════════════════════════
   SHOP GRID — CONSTRAINED WIDTH  v1.5.0
   Stops products spanning full screen width
═══════════════════════════════════════════ */
.woocommerce #primary,
.woocommerce-page #primary {
  padding: 7rem 4rem 5rem !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box;
}

/* 3-column grid, constrained */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── PRODUCT CARD ─────────────────────────── */
.woocommerce ul.products li.product {
  background: rgba(26,10,62,0.4) !important;
  border: 1px solid rgba(0,245,212,0.12) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  transition: all 0.4s;
  display: flex !important;
  flex-direction: column !important;
  position: relative;
}
.woocommerce ul.products li.product::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,245,212,0.06) 0%, transparent 60%);
  opacity: 0; transition: opacity 0.4s; pointer-events: none; z-index: 0;
}
.woocommerce ul.products li.product:hover {
  border-color: rgba(0,245,212,0.4) !important;
  transform: translateY(-5px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.4), 0 0 30px rgba(0,245,212,0.08) !important;
}
.woocommerce ul.products li.product:hover::before { opacity: 1; }

/* Product image */
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; position: relative; }
.woocommerce ul.products li.product img {
  width: 100%; display: block;
  border-bottom: 1px solid rgba(0,245,212,0.1);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  filter: brightness(0.85) saturate(0.7);
  transition: filter 0.4s;
}
.woocommerce ul.products li.product:hover img { filter: brightness(1) saturate(1.1); }

/* Product text */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Cinzel', serif !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.1em !important;
  color: #E8E8F0 !important;
  padding: 1rem 1.2rem 0.3rem !important;
  margin: 0 !important;
  line-height: 1.3;
}
.woocommerce ul.products li.product .price {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 1.1rem !important;
  color: #C9A84C !important;
  padding: 0 1.2rem 0.8rem !important;
  display: block;
  font-weight: 600;
}
.woocommerce ul.products li.product .price del { color: rgba(232,232,240,0.3) !important; font-size: 0.82rem; }

/* Add to cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  display: block !important;
  margin: 0 1.2rem 1.2rem !important;
  padding: 0.65rem 1rem !important;
  border: 1px solid #00F5D4 !important;
  background: transparent !important;
  color: #00F5D4 !important;
  font-family: 'Cinzel', serif !important;
  font-size: 0.66rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  transition: all 0.3s !important;
  border-radius: 0 !important;
  position: relative; z-index: 1;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
  background: rgba(0,245,212,0.1) !important;
  box-shadow: 0 0 20px rgba(0,245,212,0.25) !important;
}

/* ── GRID BADGE (MP3 / type icon) ─────────── */
.cym-grid-badge {
  position: absolute;
  top: 10px; left: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(5,5,8,0.85);
  border: 1px solid rgba(0,245,212,0.3);
  padding: 4px 8px 4px 5px;
  backdrop-filter: blur(4px);
  z-index: 2;
}
.cym-grid-badge__icon {
  width: 22px; height: 22px;
  display: block; flex-shrink: 0;
}
.cym-grid-badge__type {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  color: #00F5D4;
  font-weight: 700;
  text-transform: uppercase;
}

/* ── SINGLE PRODUCT ──────────────────────── */
.cym-shop-single {
  padding-top: 90px;
  background: #050508;
  min-height: 100vh;
}

/* ── PRODUCT BADGE (single product page) ─── */
.cym-product-sample {
  margin: 1.5rem 0;
}
.cym-product-badge {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: rgba(26,10,62,0.5);
  border: 1px solid rgba(0,245,212,0.2);
  padding: 0.9rem 1.2rem;
  margin-bottom: 1.2rem;
}
.cym-product-badge__icon {
  width: 44px; height: 44px;
  flex-shrink: 0;
  filter: drop-shadow(0 0 6px rgba(0,245,212,0.4));
}
.cym-product-badge__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.cym-product-badge__type {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.15em;
  color: #00F5D4;
  text-transform: uppercase;
}
.cym-product-badge__label {
  font-family: 'Cinzel', serif;
  font-size: 0.82rem;
  color: rgba(232,232,240,0.75);
  letter-spacing: 0.06em;
}
.cym-product-badge__dl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  color: #C9A84C;
  border: 1px solid rgba(201,168,76,0.35);
  padding: 3px 10px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── SAMPLE PLAYER (single product) ─────── */
.cym-sample-player {
  background: rgba(5,5,8,0.9);
  border: 1px solid rgba(0,245,212,0.2);
  padding: 1.2rem 1.4rem;
  margin-bottom: 1rem;
}
.cym-sample-player--no-sample {
  border-color: rgba(201,168,76,0.2);
  background: rgba(201,168,76,0.03);
}
.cym-sample-player__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.cym-sample-player__eyebrow {
  font-family: 'Cinzel', serif;
  font-size: 0.68rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #00F5D4;
}
.cym-sample-player__note {
  font-size: 0.72rem;
  color: rgba(232,232,240,0.4);
  font-style: italic;
}
.cym-sample-player__controls {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.cym-sample-play-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.3rem;
  background: transparent;
  border: 1px solid #00F5D4;
  color: #00F5D4;
  font-family: 'Cinzel', serif;
  font-size: 0.68rem;
  letter-spacing: 0.15em;
  cursor: pointer;
  transition: all 0.3s;
  white-space: nowrap;
  flex-shrink: 0;
}
.cym-sample-play-btn:hover { background: rgba(0,245,212,0.1); box-shadow: 0 0 16px rgba(0,245,212,0.25); }
.cym-sample-play-btn.playing { border-color: #C9A84C; color: #C9A84C; }
.cym-sample-play-btn:disabled { opacity: 0.6; cursor: wait; }
.cym-sample-play-btn__icon {
  width: 14px; height: 14px; flex-shrink: 0;
}
.cym-sample-player__track {
  flex: 1; min-width: 0;
}
.cym-sample-player__waveform {
  margin-bottom: 0.4rem;
  border: 1px solid rgba(0,245,212,0.1);
}
.cym-sample-waveform-canvas {
  width: 100%; display: block;
}
.cym-sample-player__progress-wrap {
  height: 3px;
  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  cursor: pointer;
  margin-bottom: 0.35rem;
}
.cym-sample-player__progress {
  height: 100%; width: 0%;
  background: linear-gradient(to right, #00F5D4, #C9A84C);
  border-radius: 2px;
  pointer-events: none;
  transition: width 0.1s linear;
}
.cym-sample-player__time {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  color: rgba(232,232,240,0.4);
}
.cym-sample-player__cta {
  font-size: 0.78rem;
  color: rgba(232,232,240,0.45);
  margin: 0.8rem 0 0;
  font-style: italic;
  border-top: 1px solid rgba(0,245,212,0.08);
  padding-top: 0.8rem;
}

/* Spin animation for loading state */
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* ── SHOP ARCHIVE HEADER ─────────────────── */
.woocommerce-products-header {
  padding: 0 0 2rem;
}
.woocommerce-products-header__title {
  font-family: 'Cinzel', serif !important;
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  color: #E8E8F0 !important;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem !important;
}
.woocommerce-result-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: rgba(232,232,240,0.4);
  letter-spacing: 0.1em;
}
.woocommerce-ordering select {
  background: rgba(10,10,20,0.9) !important;
  border: 1px solid rgba(0,245,212,0.2) !important;
  color: rgba(232,232,240,0.7) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.72rem !important;
  padding: 0.4rem 0.8rem !important;
  border-radius: 0 !important;
  appearance: none;
}

/* ── RESPONSIVE ──────────────────────────── */
@media (max-width: 1100px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
  .woocommerce #primary { padding: 6rem 1.5rem 3rem !important; }
  .woocommerce ul.products { grid-template-columns: 1fr 1fr !important; gap: 1rem !important; }
  .cym-sample-player__controls { flex-direction: column; align-items: stretch; }
  .cym-product-badge { flex-wrap: wrap; }
  .cym-product-badge__dl { margin-left: auto; }
}
@media (max-width: 500px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════
   SHOP GRID — MINI SAMPLE PLAYER  v1.7.0
═══════════════════════════════════════════ */
.cym-grid-badge__sample-hint {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.58rem;
  color: rgba(0,245,212,0.55);
  letter-spacing: 0.08em;
}

.cym-grid-sample {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.2rem;
  background: rgba(0,245,212,0.04);
  border-top: 1px solid rgba(0,245,212,0.1);
  position: relative;
  z-index: 1;
}

/* Mini play button on grid */
.cym-sample-play-btn--mini {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.7rem !important;
  background: transparent !important;
  border: 1px solid rgba(0,245,212,0.4) !important;
  color: #00F5D4 !important;
  font-family: 'Cinzel', serif !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.12em !important;
  cursor: pointer;
  transition: all 0.25s;
  white-space: nowrap;
  flex-shrink: 0;
}
.cym-sample-play-btn--mini:hover {
  background: rgba(0,245,212,0.1) !important;
  border-color: #00F5D4 !important;
}
.cym-sample-play-btn--mini.playing {
  border-color: #C9A84C !important;
  color: #C9A84C !important;
  background: rgba(201,168,76,0.08) !important;
}
.cym-sample-play-btn--mini.loading { opacity: 0.6; cursor: wait; }
.cym-sample-play-btn--mini .cym-sample-play-btn__ico {
  font-size: 0.75rem;
  line-height: 1;
}

/* Mini progress bar */
.cym-sample-player__progress-wrap--mini {
  flex: 1;
  height: 3px !important;
  background: rgba(255,255,255,0.08) !important;
  border-radius: 2px;
  cursor: pointer;
  min-width: 0;
}

/* Time on grid */
.cym-grid-sample .cym-sample-player__time {
  font-size: 0.6rem !important;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Error message on grid */
.cym-grid-sample ~ .cym-sample-error {
  display: block;
  padding: 4px 1.2rem;
  font-size: 0.68rem !important;
}

/* ═══════════════════════════════════════════
   SAMPLE PLAYER — LIVE CYMATIC CANVAS  v2.0.0
═══════════════════════════════════════════ */
.cym-sample-cymatic {
  display: none;
  width: 100%;
  background: #050508;
  border-top: 1px solid rgba(0,245,212,0.12);
  margin-top: 0;
  /* Smooth appearance */
  animation: cymFadeIn 0.4s ease forwards;
}
@keyframes cymFadeIn {
  from { opacity: 0; transform: scaleY(0.8); }
  to   { opacity: 1; transform: scaleY(1); }
}

/* On the single product page — taller canvas */
.cym-sample-player .cym-sample-cymatic {
  height: 200px;
  border: 1px solid rgba(0,245,212,0.15);
  border-top: none;
  margin-bottom: 0.5rem;
}

/* On the shop grid card — compact */
.cym-grid-sample ~ .cym-sample-cymatic,
.woocommerce ul.products li.product .cym-sample-cymatic {
  height: 80px;
  border-top: 1px solid rgba(0,245,212,0.1);
}

/* 30-second label on player */
.cym-sample-player__note {
  font-size: 0.68rem;
  color: rgba(232,232,240,0.35);
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.05em;
}

/* ═══════════════════════════════════════════
   NO-IMAGE PRODUCT PLACEHOLDER  v2.4.0
   PHP injects our SVG only when has_post_thumbnail()
   is false. CSS just styles that injected element.
   No :has(), no background tricks, no double images.
═══════════════════════════════════════════ */

/* Image link wrapper — consistent across all products */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block !important;
  background: #050508 !important;
}

/* Hide WooCommerce's default grey placeholder — our PHP injects a better one */
.woocommerce ul.products li.product img.woocommerce-placeholder {
  display: none !important;
}

/* Our injected placeholder container */
.cym-product-no-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #050508;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid rgba(0,245,212,0.1);
}
.cym-product-no-image img.cym-product-placeholder {
  width: 85% !important;
  height: 85% !important;
  object-fit: contain !important;
  display: block !important;
  filter: none !important;
}

/* Sale badge */
.woocommerce ul.products li.product .onsale {
  z-index: 3 !important;
  position: absolute !important;
}

/* ── Single product placeholder gallery ──── */
.cym-product-gallery--placeholder {
  float: left;
  width: 48%;
  margin-right: 4%;
}
@media (max-width: 768px) {
  .cym-product-gallery--placeholder {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 2rem;
  }
}
.cym-product-gallery--placeholder img {
  width: 100% !important;
  display: block;
  border: 1px solid rgba(0,245,212,0.15);
  background: #050508;
}
/* Hide WooCommerce's own gallery placeholder div if it somehow renders */
.woocommerce-product-gallery__image--placeholder {
  display: none !important;
}
