/*
Theme Name: Python Labs
Theme URI: https://pythonlabs.shop
Description: Custom dark theme for Python Labs research compounds
Author: Python Labs
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Bebas+Neue&family=Inter:wght@300;400;500;600;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: #0d0d0d !important;
  color: #e8e6e0 !important;
  font-family: 'Inter', sans-serif !important;
  overflow-x: hidden;
}

/* Trust bar */
.trust-bar {
  background: #0a0a0a;
  border-bottom: 1px solid #1a1a1a;
  text-align: center;
  padding: 9px;
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #666;
}
.trust-bar b { color: #fff; font-weight: 500; }

/* Header */
.site-header {
  background: rgba(10,10,10,0.95) !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  padding: 0 48px !important;
  height: 62px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

.site-branding .site-title a,
.site-branding .site-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 24px !important;
  letter-spacing: 0.12em !important;
  color: #fff !important;
  text-decoration: none !important;
}

.main-navigation ul {
  display: flex !important;
  gap: 36px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.main-navigation a {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #666 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a { color: #fff !important; }

.nav-cart a {
  font-family: 'DM Mono', monospace !important;
  font-size: 11px !important;
  color: #666 !important;
  text-decoration: none !important;
  letter-spacing: 0.06em !important;
}

/* Main */
.site-content, main, .site-main {
  background: #0d0d0d !important;
  min-height: 60vh;
}

/* Breadcrumb */
.woocommerce-breadcrumb {
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  color: #444 !important;
  letter-spacing: 0.08em !important;
  padding: 16px 48px !important;
  background: #0d0d0d !important;
}
.woocommerce-breadcrumb a { color: #555 !important; text-decoration: none !important; }

/* Shop header */
.woocommerce-products-header {
  padding: 48px 48px 24px !important;
}
.woocommerce-products-header__title,
h1.page-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 52px !important;
  font-weight: 400 !important;
  color: #f0ede6 !important;
  letter-spacing: 0.04em !important;
}

/* Shop toolbar */
.woocommerce-result-count {
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  color: #444 !important;
  letter-spacing: 0.08em !important;
  padding: 0 48px !important;
}
.woocommerce-ordering {
  padding: 0 48px 16px !important;
}
.woocommerce-ordering select {
  background: #111 !important;
  border: 1px solid #222 !important;
  border-radius: 3px !important;
  padding: 8px 14px !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 11px !important;
  color: #888 !important;
  outline: none !important;
}

/* Product grid */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  padding: 24px 48px 48px !important;
  margin: 0 !important;
  list-style: none !important;
  float: none !important;
  width: 100% !important;
}

/* Product cards */
.woocommerce ul.products li.product {
  background: #f0eeea !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  transition: transform 0.2s !important;
  position: relative !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-3px) !important;
}

/* Product image */
.woocommerce ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

/* Product body */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #0d0d0d !important;
  padding: 14px 16px 4px !important;
  margin: 0 !important;
  border-top: 1px solid #e0ddd8 !important;
  text-decoration: none !important;
}
.woocommerce ul.products li.product a {
  text-decoration: none !important;
}
.woocommerce ul.products li.product .price {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0d0d0d !important;
  padding: 4px 16px 12px !important;
  display: block !important;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
}

/* Add to cart / Read more button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_simple {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 0 16px 16px !important;
  padding: 10px !important;
  background: #0d0d0d !important;
  color: #fff !important;
  border: 1.5px solid #0d0d0d !important;
  border-radius: 2px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.15s !important;
  text-decoration: none !important;
}
.woocommerce ul.products li.product .button:hover {
  background: #fff !important;
  color: #0d0d0d !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: #c0392b !important;
  color: #fff !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 9px !important;
  letter-spacing: 0.1em !important;
  border-radius: 2px !important;
  padding: 4px 8px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1 !important;
  top: 10px !important;
  left: 10px !important;
}

/* Single product page */
.woocommerce div.product {
  padding: 48px !important;
  background: #0d0d0d !important;
}
.woocommerce div.product .product_title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 52px !important;
  color: #f0ede6 !important;
  letter-spacing: 0.04em !important;
  font-weight: 400 !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #f0ede6 !important;
}
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p {
  color: #888 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
  background: #fff !important;
  color: #0d0d0d !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  transition: all 0.2s !important;
  cursor: pointer !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: #e8e6e0 !important;
}

/* Quantity input */
.woocommerce div.product form.cart .qty {
  background: #111 !important;
  border: 1px solid #222 !important;
  color: #e8e6e0 !important;
  border-radius: 2px !important;
  padding: 8px 12px !important;
  font-size: 14px !important;
}

/* Tabs */
.woocommerce-tabs .tabs {
  border-bottom: 1px solid #1a1a1a !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.woocommerce-tabs .tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}
.woocommerce-tabs .tabs li a {
  font-family: 'DM Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #555 !important;
  padding: 12px 20px !important;
  display: block !important;
  text-decoration: none !important;
}
.woocommerce-tabs .tabs li.active a { color: #fff !important; }
.woocommerce-tabs .panel {
  background: #0d0d0d !important;
  color: #888 !important;
  padding: 24px 0 !important;
}

/* Cart page */
.woocommerce-cart .site-main { padding: 48px !important; }
.woocommerce table.shop_table {
  background: #111 !important;
  border: 1px solid #1a1a1a !important;
  color: #e8e6e0 !important;
  width: 100% !important;
}
.woocommerce table.shop_table th {
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #555 !important;
  border-bottom: 1px solid #1a1a1a !important;
  padding: 12px 16px !important;
  background: #0a0a0a !important;
}
.woocommerce table.shop_table td {
  color: #e8e6e0 !important;
  border-bottom: 1px solid #1a1a1a !important;
  padding: 16px !important;
  background: #111 !important;
}
.woocommerce .cart-collaterals {
  background: #0d0d0d !important;
}
.woocommerce .cart_totals {
  background: #111 !important;
  border: 1px solid #1a1a1a !important;
  padding: 24px !important;
  border-radius: 3px !important;
}
.woocommerce .cart_totals h2 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 28px !important;
  color: #f0ede6 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 16px !important;
}
.woocommerce a.checkout-button,
.woocommerce .checkout-button {
  background: #fff !important;
  color: #0d0d0d !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  width: 100% !important;
}
.woocommerce a.checkout-button:hover { background: #e8e6e0 !important; }

/* Checkout */
.woocommerce-checkout .site-main { padding: 48px !important; }
.woocommerce-checkout h3 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 28px !important;
  color: #f0ede6 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 16px !important;
}
.woocommerce-checkout label {
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #555 !important;
}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  background: #111 !important;
  border: 1px solid #222 !important;
  color: #e8e6e0 !important;
  border-radius: 2px !important;
  padding: 10px 14px !important;
  width: 100% !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
}
#place_order {
  background: #fff !important;
  color: #0d0d0d !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  width: 100% !important;
}
#place_order:hover { background: #e8e6e0 !important; }

/* Notices */
.woocommerce-message,
.woocommerce-info {
  background: #111 !important;
  border-top-color: #fff !important;
  color: #e8e6e0 !important;
}

/* Footer */
.site-footer {
  background: #080808 !important;
  border-top: 1px solid #1a1a1a !important;
  padding: 32px 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.site-footer a { color: #555 !important; text-decoration: none !important; }
.site-footer a:hover { color: #888 !important; }
.footer-legal {
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  color: #333 !important;
}

/* Responsive */
@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; padding: 20px !important; }
  .site-header { padding: 0 20px !important; }
  .main-navigation { display: none !important; }
  .woocommerce div.product { padding: 20px !important; }
}a { color: #e8e6e0 !important; text-decoration: none !important; }
a:hover { color: #fff !important; }
