/**
 * WooCommerce page styling — shop, product, cart, checkout, account.
 *
 * Styling only. No WooCommerce template file is overridden anywhere in this
 * theme, so WooCommerce can update without leaving outdated templates behind.
 */

/* ==========================================================================
   1. Shared page chrome
   ========================================================================== */
.woocommerce-page .site-content,
.woocommerce .site-content { background: var(--tb-black); }

.woocommerce-products-header,
.woocommerce-products-header__title {
  text-align: center;
}

.woocommerce-products-header__title.page-title,
.woocommerce-page .entry-title {
  font-family: var(--tb-font-display);
  font-size: clamp(30px, 4vw, 48px);
  color: var(--tb-cream);
  margin-bottom: 10px;
}

.woocommerce-breadcrumb,
.storefront-breadcrumb {
  background: transparent;
  padding: 18px 0;
  font-size: 12px;
  letter-spacing: 1px;
  color: var(--tb-muted);
  border-bottom: 1px solid var(--tb-line);
}

.woocommerce-breadcrumb a { color: var(--tb-muted); }
.woocommerce-breadcrumb a:hover { color: var(--tb-gold); }

/* Result count + sorting */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-result-count {
  color: var(--tb-muted);
  font-size: 12.5px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce select,
.woocommerce-page select {
  background: #000;
  border: 1px solid var(--tb-line);
  color: var(--tb-cream);
  padding: 10px 14px;
  border-radius: 0;
  font-family: var(--tb-font-body);
}

/* ==========================================================================
   2. Notices — success, info, error
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background: #000;
  border: 1px solid var(--tb-line);
  border-top: 3px solid var(--tb-gold);
  color: var(--tb-cream);
  border-radius: 0;
  padding: 16px 20px 16px 46px;
  font-size: 13.5px;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { color: var(--tb-gold); top: 17px; left: 18px; }

.woocommerce-error { border-top-color: #c0392b; }
.woocommerce-error::before { color: #e74c3c; }

.woocommerce-message a.button,
.woocommerce-info a.button { padding: 9px 18px; font-size: 10.5px; }

/* ==========================================================================
   3. Single product
   ========================================================================== */
.woocommerce div.product .product_title {
  font-family: var(--tb-font-display);
  font-size: clamp(26px, 3.4vw, 40px);
  color: var(--tb-cream);
  margin-bottom: 14px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--tb-gold);
  font-size: 26px;
  font-weight: 600;
  font-family: var(--tb-font-body);
}

.woocommerce div.product p.price del { color: #6b6b5a; font-size: 18px; opacity: 1; }
.woocommerce div.product p.price ins { background: none; color: var(--tb-gold); text-decoration: none; }

.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--tb-muted);
  line-height: 1.85;
  font-weight: 300;
}

.woocommerce div.product .product_meta {
  border-top: 1px solid var(--tb-line);
  padding-top: 18px;
  margin-top: 24px;
  font-size: 12.5px;
  color: var(--tb-muted);
  letter-spacing: 0.5px;
}

.woocommerce div.product .product_meta a { color: var(--tb-gold); }

/* Quantity input */
.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty {
  background: #000;
  border: 1px solid var(--tb-line);
  color: var(--tb-cream);
  border-radius: 0;
  padding: 12px 8px;
  font-family: var(--tb-font-body);
}

/* Variation selects (size / colour) */
.woocommerce div.product form.cart .variations {
  border: 1px solid var(--tb-line);
  padding: 18px;
  margin-bottom: 20px;
}

.woocommerce div.product form.cart .variations label {
  color: var(--tb-cream);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 600;
}

.woocommerce div.product form.cart .variations td { border: none; padding: 8px 0; }
.woocommerce div.product form.cart .reset_variations { color: var(--tb-gold); font-size: 12px; }

/* Stock messaging — real status, never a fake scarcity badge */
.woocommerce div.product .stock { color: var(--tb-gold); font-weight: 600; font-size: 13px; }
.woocommerce div.product .out-of-stock { color: #e74c3c; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--tb-line);
  padding: 0;
  margin-bottom: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--tb-line); }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: none;
  border-radius: 0;
  margin: 0 26px 0 0;
  padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--tb-muted);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
  padding: 14px 0;
  display: block;
  border-bottom: 2px solid transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--tb-gold);
  border-bottom-color: var(--tb-gold);
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: transparent;
  padding-top: 30px;
  color: var(--tb-cream);
}

/* Reviews */
.woocommerce #reviews #comments ol.commentlist li .comment-text {
  border: 1px solid var(--tb-line);
  border-radius: 0;
  background: #000;
  color: var(--tb-cream);
}

.woocommerce .star-rating span::before,
.woocommerce p.stars a::before { color: var(--tb-gold); }

/* Related / upsells */
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2 {
  font-family: var(--tb-font-display);
  font-size: 26px;
  text-align: center;
  margin-bottom: 34px;
  color: var(--tb-cream);
}

/* ==========================================================================
   4. Cart
   ========================================================================== */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
  border: 1px solid var(--tb-line);
  border-radius: 0;
  border-collapse: collapse;
  background: #000;
  color: var(--tb-cream);
}

.woocommerce table.shop_table th {
  color: var(--tb-gold);
  font-family: var(--tb-font-body);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
  border-bottom: 1px solid var(--tb-line);
  padding: 16px 12px;
}

.woocommerce table.shop_table td {
  border-top: 1px solid var(--tb-line);
  padding: 18px 12px;
  color: var(--tb-cream);
}

.woocommerce table.shop_table tbody tr:hover { background: rgba(212, 175, 55, 0.03); }

.woocommerce a.remove {
  color: var(--tb-gold) !important;
  border: 1px solid var(--tb-line);
  border-radius: 0;
  width: 24px; height: 24px;
  line-height: 22px;
  font-size: 16px;
}

.woocommerce a.remove:hover { background: var(--tb-gold) !important; color: #000 !important; }

.woocommerce .cart_totals h2,
.woocommerce-cart .cart-collaterals h2 {
  font-family: var(--tb-font-display);
  font-size: 22px;
  color: var(--tb-cream);
  margin-bottom: 18px;
}

.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td { padding: 14px 12px; }

.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount { color: var(--tb-gold); font-size: 19px; }

.woocommerce .cart input[type="text"],
.woocommerce .coupon input[type="text"] {
  background: #000;
  border: 1px solid var(--tb-line);
  color: var(--tb-cream);
  border-radius: 0;
  padding: 13px 14px;
}

/* ==========================================================================
   5. Checkout — where payment happens, so it has to read as trustworthy
   ========================================================================== */
.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--tb-font-display);
  font-size: 21px;
  color: var(--tb-cream);
  border-bottom: 1px solid var(--tb-line);
  padding-bottom: 12px;
  margin-bottom: 22px;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  color: var(--tb-cream);
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: 500;
  margin-bottom: 6px;
}

.woocommerce form .form-row .required { color: var(--tb-gold); border: none; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce .select2-container .select2-selection--single,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce textarea {
  background: #000;
  border: 1px solid var(--tb-line);
  color: var(--tb-cream);
  border-radius: 0;
  padding: 13px 14px;
  font-family: var(--tb-font-body);
  font-size: 14px;
  box-shadow: none;
  height: auto;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce textarea:focus { border-color: var(--tb-gold); outline: none; }

.woocommerce form .form-row input.input-text::placeholder { color: #6f6959; }

/* Select2 dropdowns (country / state) */
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--tb-cream); line-height: 26px; }
.woocommerce .select2-dropdown,
.select2-container--default .select2-dropdown {
  background: #000;
  border: 1px solid var(--tb-line);
  color: var(--tb-cream);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--tb-gold); color: #000; }

/* Order review + payment box */
.woocommerce-checkout #payment {
  background: #000;
  border: 1px solid var(--tb-line);
  border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--tb-line);
  padding: 20px;
}

.woocommerce-checkout #payment ul.payment_methods li {
  color: var(--tb-cream);
  margin-bottom: 12px;
  list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods label {
  color: var(--tb-cream);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.3px;
}

.woocommerce-checkout #payment div.payment_box {
  background: rgba(212, 175, 55, 0.06);
  border: 1px solid var(--tb-line);
  border-radius: 0;
  color: var(--tb-cream);
  font-size: 13px;
}

.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--tb-line); }

.woocommerce-checkout #payment div.form-row { padding: 20px; }

.woocommerce-checkout #payment #place_order,
.woocommerce #payment #place_order {
  width: 100%;
  padding: 17px 30px;
  font-size: 13px;
  letter-spacing: 3px;
  background: var(--tb-gold);
  color: #000;
  border-color: var(--tb-gold);
}

.woocommerce-checkout #payment #place_order:hover { background: transparent; color: var(--tb-gold); }

.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper { color: var(--tb-muted); font-size: 12.5px; line-height: 1.7; }
.woocommerce-privacy-policy-text a { color: var(--tb-gold); }

/* Order confirmation */
.woocommerce ul.order_details {
  background: #000;
  border: 1px solid var(--tb-line);
  padding: 24px;
  margin-bottom: 30px;
}

.woocommerce ul.order_details li {
  color: var(--tb-muted);
  border-right: 1px solid var(--tb-line);
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.woocommerce ul.order_details li strong { color: var(--tb-gold); font-size: 15px; letter-spacing: 0; }

/* ==========================================================================
   6. My Account — the customer database front end
   ========================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation {
  border: 1px solid var(--tb-line);
  background: #000;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }

.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--tb-line);
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 15px 20px;
  color: var(--tb-cream);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--tb-gold);
  color: #000;
}

.woocommerce-account .woocommerce-MyAccount-content { color: var(--tb-cream); }

.woocommerce-account .addresses .title h3,
.woocommerce-account h2 { font-family: var(--tb-font-display); color: var(--tb-cream); }

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 { padding: 0; }

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon,
.woocommerce-account .woocommerce form.lost_reset_password {
  border: 1px solid var(--tb-line);
  border-radius: 0;
  background: #000;
  padding: 30px;
}

.woocommerce form .form-row label.inline,
.woocommerce-form__label-for-checkbox span { color: var(--tb-muted); font-size: 13px; }

/* ==========================================================================
   7. Pagination
   ========================================================================== */
.woocommerce nav.woocommerce-pagination ul {
  border: 1px solid var(--tb-line);
  border-radius: 0;
}

.woocommerce nav.woocommerce-pagination ul li { border-right: 1px solid var(--tb-line); }

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  color: var(--tb-cream);
  padding: 10px 16px;
  font-size: 13px;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--tb-gold);
  color: #000;
}

/* ==========================================================================
   8. Widgets in the shop sidebar
   ========================================================================== */
.widget_price_filter .ui-slider .ui-slider-range,
.widget_price_filter .ui-slider .ui-slider-handle { background: var(--tb-gold); }
.widget_price_filter .price_slider_wrapper .ui-widget-content { background: #1c1c1c; }

.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total { border-top: 2px solid var(--tb-line); color: var(--tb-cream); }

/* ==========================================================================
   9. Print — order confirmations and invoices
   ========================================================================== */
@media print {
  body, .site, .site-content { background: #fff !important; color: #000 !important; }
  .tb-whatsapp, .tb-announcement, .site-header, .site-footer, .tb-promo { display: none !important; }
  .woocommerce table.shop_table, .woocommerce ul.order_details { border-color: #999 !important; background: #fff !important; }
  .woocommerce table.shop_table td, .woocommerce table.shop_table th { color: #000 !important; }
}
