/* ==========================================================================
   1. GLOBAL FONT SETUP: INTER (SINGLE SITE-WIDE FONT)
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

html, body, span, div, h1, h2, h3, h4, h5, h6, button, input, select, textarea, label, table, .elementor, .elementor-widget, .woocommerce {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* ==========================================================================
   2. UNIFIED TRICITY ROYAL BLUE BUTTONS & LINKS (#0066cc)
   ========================================================================== */
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit.alt, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce div.product form.cart .single_add_to_cart_button, .elementor-button, a.tcb-btn {
  background-color: #0066cc !important;
  color: #ffffff !important;
  border: 1px solid #0066cc !important;
  border-radius: 4px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 10px 20px !important;
  text-transform: uppercase !important;
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover, .woocommerce #respond input#submit.alt:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce div.product form.cart .single_add_to_cart_button:hover, .elementor-button:hover, a.tcb-btn:hover {
  background-color: #004fb3 !important;
  border-color: #004fb3 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   4. MY ACCOUNT PAGE SITE-WIDE - DASHBOARD CARDS & 1140px LAYOUT
   ========================================================================== */
.woocommerce-account .elementor-location-header + *, .woocommerce-account .e-con-boxed, .woocommerce-account .woocommerce {
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.woocommerce-account .woocommerce {
  padding: 30px 24px !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  width: 100% !important;
  float: none !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  font-family: 'Inter', sans-serif !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account nav.woocommerce-MyAccount-navigation {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

.tcb-card-item,
.tcb-card-media-wrap {
  background-color: #ffffff !important;
  background: #ffffff !important;
}

/* ==========================================================================
   5. HIGH-DENSITY SINGLE PRODUCT PAGE STYLING
   ========================================================================== */
.single-product .elementor-location-single, .single-product div.product {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 24px !important;
  font-family: 'Inter', sans-serif !important;
  box-sizing: border-box !important;
}

.single-product h1.product_title {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.3px;
}

.single-product .product_meta {
  font-size: 13px !important;
  color: #64748b !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 10px 0 !important;
  margin-bottom: 20px !important;
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.single-product .product_meta a {
  color: #0066cc !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.single-product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 20px !important;
  margin-bottom: 24px !important;
}

.single-product div.product form.cart .quantity input.qty {
  height: 48px !important;
  width: 80px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 4px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
  color: #0f172a !important;
}

.single-product div.product form.cart .single_add_to_cart_button {
  height: 48px !important;
  background-color: #0066cc !important;
  border-color: #0066cc !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-radius: 4px !important;
  padding: 0 32px !important;
  transition: background-color 0.15s ease !important;
}

.single-product div.product form.cart .single_add_to_cart_button:hover {
  background-color: #004fb3 !important;
  border-color: #004fb3 !important;
}

.tcb-pdf-download-wrap {
  margin: 16px 0 24px 0 !important;
}

.tcb-pdf-download-btn, .single-product .tcb-spec-sheet-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background-color: #ffffff !important;
  color: #0066cc !important;
  border: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
}

.tcb-pdf-download-btn:hover, .single-product .tcb-spec-sheet-btn:hover {
  background-color: transparent !important;
  color: #004fb3 !important;
  text-decoration: underline !important;
}

.single-product table.shop_attributes {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

.single-product table.shop_attributes tr:nth-child(even) {
  background-color: #f8fafc !important;
}

.single-product table.shop_attributes th {
  width: 35% !important;
  color: #334155 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 12px 20px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-right: 1px solid #e2e8f0 !important;
  text-align: left !important;
}

.single-product table.shop_attributes td {
  padding: 12px 20px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  font-size: 14px !important;
  color: #0f172a !important;
  font-style: normal !important;
}

/* ==========================================================================
   5.1 CUSTOM SHORTCODE GRID FIX & HARD-STACKED PRICING OVERRIDES
   ========================================================================== */
.tcb-pdp-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}

.tcb-pdp-header {
  margin-bottom: 20px;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 16px;
}

.tcb-breadcrumbs {
  font-size: 13px;
  margin-bottom: 8px;
  color: #64748b;
}

.tcb-product-title {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 6px 0 10px 0 !important;
  line-height: 1.3 !important;
}

.tcb-meta-strip {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: #475569;
}

.tcb-meta-label {
  font-weight: 600;
  color: #64748b;
}

.tcb-meta-value {
  font-weight: 700;
  color: #0f172a;
}

.tcb-stock-badge.in-stock {
  color: #166534;
  background-color: #f0fdf4;
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 700;
  display: inline-block;
}

.tcb-pdp-hero {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  align-items: start !important;
  margin-bottom: 40px !important;
}

.tcb-pdp-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tcb-main-image-frame {
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 16px;
  background: #ffffff;
  box-sizing: border-box;
  text-align: center;
}

.tcb-main-image-frame img {
  max-width: 100%;
  height: 380px;
  object-fit: contain;
}

.tcb-gallery-thumbs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
}

.tcb-thumb-btn {
  border: 1px solid #cbd5e1;
  background: #fff;
  padding: 4px;
  border-radius: 4px;
  cursor: pointer;
  width: 64px;
  height: 64px;
}

.tcb-thumb-btn.active, .tcb-thumb-btn:hover {
  border-color: #0066cc;
}

.tcb-thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.tcb-pdp-buy-panel {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 24px;
  box-sizing: border-box;
}

.tcb-price-box {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  margin-bottom: 16px !important;
  width: 100% !important;
}

.tcb-dynamic-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
}

.tcb-dynamic-price del {
  display: block !important;
  margin-bottom: 8px !important;
  text-decoration: line-through !important;
}

.tcb-dynamic-price del, .tcb-dynamic-price del * {
  display: inline !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
  line-height: 1.2 !important;
}

.tcb-dynamic-price ins, .tcb-dynamic-price > .woocommerce-Price-amount {
  display: inline-flex !important;
  align-items: baseline !important;
  text-decoration: none !important;
}

.tcb-dynamic-price ins *, .tcb-dynamic-price > .woocommerce-Price-amount, .tcb-dynamic-price > .woocommerce-Price-amount * {
  display: inline !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
}

.tcb-price-box > .tcb-unit {
  display: none !important;
}

.tcb-dynamic-price ins::after, .tcb-dynamic-price > .woocommerce-Price-amount::after {
  content: " / EA" !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin-left: 6px !important;
  text-decoration: none !important;
}

.tcb-cart-form {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 20px 0 !important;
}

.tcb-qty-selector {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 13px;
}

.tcb-add-cart-btn {
  flex-grow: 1;
  height: 46px !important;
}

.tcb-spec-sheet-btn {
  background: transparent;
  border: none;
  color: #0066cc;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
}

.tcb-spec-sheet-btn:hover {
  text-decoration: underline;
}

.tcb-specs-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
  border: 1px solid #e2e8f0;
}

.tcb-specs-table th {
  width: 30%;
  background: #f1f5f9;
  text-align: left;
  padding: 10px 14px;
  font-size: 13px;
  border-bottom: 1px solid #e2e8f0;
}

.tcb-specs-table td {
  padding: 10px 14px;
  font-size: 13px;
  border-bottom: 1px solid #e2e8f0;
}

/* ==========================================================================
   6. MOBILE CENTERING & RESPONSIVE FIX (< 768px)
   ========================================================================== */
@media (max-width: 768px) {
  .tcb-pdp-container, .single-product div.product {
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .tcb-pdp-hero {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .tcb-pdp-gallery {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 20px auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .tcb-main-image-frame {
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 360px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .tcb-main-image-frame img {
    margin: 0 auto !important;
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
  }
  .tcb-gallery-thumbs {
    justify-content: center !important;
    width: 100% !important;
  }
  .tcb-pdp-buy-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  .tcb-product-title {
    text-align: center !important;
  }
  .tcb-meta-item, .tcb-stock-wrap {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .tcb-price-box {
    align-items: center !important;
    text-align: center !important;
  }
  .tcb-dynamic-price {
    align-items: center !important;
    text-align: center !important;
  }
  .tcb-dynamic-price del {
    text-align: center !important;
  }
  .tcb-pdp-specs-section {
    width: 100% !important;
    margin: 24px auto 0 auto !important;
  }
  .tcb-specs-header h2 {
    text-align: center !important;
  }
}

/* ==========================================================================
   7. PRINT ENGINE (CLEAN PDF EXPORT)
   ========================================================================== */
@media print {
  header, footer, .tcb-header, .tcb-nav-drawer, .tcb-nav-overlay, .single-product form.cart, .tcb-pdf-download-wrap, .related.products, .woocommerce-tabs ul.tabs {
    display: none !important;
  }
  body, html, .single-product div.product {
    background: #ffffff !important;
    color: #000000 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12pt !important;
  }
  .woocommerce-tabs .panel {
    display: block !important;
    border: 1px solid #000000 !important;
    box-shadow: none !important;
  }
  table.shop_attributes {
    width: 100% !important;
    border-collapse: collapse !important;
  }
  table.shop_attributes th, table.shop_attributes td {
    border: 1px solid #cccccc !important;
    padding: 8px 12px !important;
    font-size: 10pt !important;
  }
}

/* ==========================================================================
   9. LOGIN, ACCOUNT & NOTICES CLEANUP (REMOVES ELEMENTOR RED DEFAULTS)
   ========================================================================== */
.woocommerce form .form-row .required, .woocommerce form .form-row label .required, .woocommerce label .required {
  color: #0f172a !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.woocommerce-form-login a, .woocommerce-form-register a, .woocommerce-ResetPassword a, .woocommerce-LostPassword a {
  color: #0066cc !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.woocommerce-form-login a:hover, .woocommerce-form-register a:hover, .woocommerce-ResetPassword a:hover, .woocommerce-LostPassword a:hover {
  color: #004fb3 !important;
  text-decoration: underline !important;
}

.woocommerce-form-login input[type="checkbox"]:checked, .woocommerce-form-register input[type="checkbox"]:checked {
  background-color: #0066cc !important;
  border-color: #0066cc !important;
}

.woocommerce-form-login input.input-text:focus, .woocommerce-form-register input.input-text:focus {
  border-color: #0066cc !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2) !important;
}

.woocommerce-notices-wrapper .woocommerce-error, .woocommerce-notices-wrapper .woocommerce-info, .woocommerce-notices-wrapper .woocommerce-message {
  background-color: #ffffff !important;
  border-top: 3px solid #0066cc !important;
  border-left: 1px solid #cbd5e1 !important;
  border-right: 1px solid #cbd5e1 !important;
  border-bottom: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

.woocommerce-notices-wrapper .woocommerce-error::before, .woocommerce-notices-wrapper .woocommerce-info::before, .woocommerce-notices-wrapper .woocommerce-message::before {
  color: #0066cc !important;
}