/* ═════════════════════════════════════════════════════════════
   TNC SHOP · woocommerce.css
   Conditional WC-only styles, loaded on shop/cart/checkout/account.
   ═════════════════════════════════════════════════════════════ */

/* Variations form */
.variations_form .variations { width: 100%; }
.variations_form .variations tr { display: flex; flex-direction: column; gap: var(--s-2); margin-bottom: var(--s-3); }
.variations_form .variations label { font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.variations_form .variations select { width: 100%; background: var(--ink); border: 1px solid rgba(var(--fg-rgb),.12); color: var(--white); padding: .75rem 1rem; border-radius: var(--r-2); min-height: 48px; }
.reset_variations { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; color: var(--crimson-l); margin-top: .25rem; display: inline-block; }
.variations_form .single_variation_wrap { margin-top: var(--s-4); }

/* Quantity */
.quantity { display: inline-flex; align-items: center; background: var(--charcoal); border: 1px solid rgba(var(--fg-rgb),.1); border-radius: var(--r-2); overflow: hidden; }
.quantity .qty { background: transparent; border: 0; color: var(--white); text-align: center; width: 50px; padding: .55rem 0; font-family: var(--font-mono); }
.quantity::before, .quantity::after { display: none; }

/* Single product price */
/* Scoped deliberately. A bare `.price` selector leaked the 2rem display face
   onto WooCommerce Block markup (which also uses that class name), producing a
   giant price that overflowed the checkout order-summary box. */
.tnc-single-product .price,
.tnc-prod-price-now .price,
ul.products .price,
.tnc-prod-card .price { font-family: var(--font-impact); font-size: 2rem; color: var(--saffron); letter-spacing: .04em; }
.tnc-single-product .price del,
ul.products .price del,
.tnc-prod-card .price del { color: var(--muted); margin-right: .35rem; font-size: 1.2rem; }
.tnc-single-product .price ins,
ul.products .price ins,
.tnc-prod-card .price ins { text-decoration: none; }
.woocommerce-Price-amount { font-family: inherit; }

/* Gallery */
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__wrapper { display: grid; gap: .5rem; }
.woocommerce-product-gallery__image img { border-radius: var(--r-3); }
.flex-control-nav.flex-control-thumbs { display: flex; gap: .5rem; margin-top: .5rem; padding: 0; list-style: none; flex-wrap: wrap; }
.flex-control-nav.flex-control-thumbs li img { width: 64px; height: 80px; object-fit: cover; border-radius: var(--r-2); cursor: pointer; border: 2px solid transparent; opacity: .6; }
.flex-control-nav.flex-control-thumbs li img.flex-active, .flex-control-nav.flex-control-thumbs li img:hover { border-color: var(--saffron); opacity: 1; }

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; background: var(--charcoal); border: 1px solid rgba(var(--fg-rgb),.07); border-radius: var(--r-3); padding: .5rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li { padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .85rem 1rem; font-family: var(--font-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: rgba(var(--fg-rgb),.7); border-radius: var(--r-2); }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover, .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: rgba(232,130,12,.08); color: var(--saffron); }
.woocommerce-account .woocommerce-MyAccount-content { background: var(--charcoal); border: 1px solid rgba(var(--fg-rgb),.07); border-radius: var(--r-3); padding: var(--s-5); }
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-account .woocommerce-MyAccount-content h3 { font-family: var(--font-impact); margin-bottom: var(--s-3); }
@media (min-width: 800px) {
  .woocommerce-account .woocommerce-MyAccount-content + .woocommerce-MyAccount-navigation { float: right; }
  .u-columns.col2-set { display: grid; grid-template-columns: 240px 1fr; gap: var(--s-5); }
}

/* Stars */
.star-rating { font-size: 14px; height: 1.2em; line-height: 1.2; overflow: hidden; position: relative; width: 6em; display: inline-block; }
.star-rating::before { content: '\f006\f006\f006\f006\f006'; opacity: .25; float: left; top: 0; left: 0; position: absolute; }
.star-rating span { overflow: hidden; float: left; top: 0; left: 0; position: absolute; padding-top: 1.5em; color: var(--saffron); }
.star-rating span::before { content: '\f005\f005\f005\f005\f005'; top: 0; position: absolute; left: 0; }

/* Reviews */
#reviews #comments h2 { font-family: var(--font-impact); font-size: 1.6rem; margin: var(--s-5) 0 var(--s-4); }
.commentlist { list-style: none; margin: 0; padding: 0; }
.commentlist li { background: var(--charcoal); border: 1px solid rgba(var(--fg-rgb),.07); border-radius: var(--r-3); padding: var(--s-5); margin-bottom: var(--s-3); }
.commentlist li .meta { font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; color: var(--muted); margin-bottom: .35rem; }
.commentlist li .description p { color: rgba(var(--fg-rgb),.75); }
#review_form_wrapper { background: var(--charcoal); border: 1px solid rgba(var(--fg-rgb),.07); border-radius: var(--r-3); padding: var(--s-5); margin-top: var(--s-5); }
#review_form_wrapper h3 { font-family: var(--font-impact); margin-bottom: var(--s-3); }
.comment-form label { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); display: block; margin-bottom: .25rem; }
.comment-form input, .comment-form textarea { width: 100%; background: var(--ink); border: 1px solid rgba(var(--fg-rgb),.12); color: var(--white); padding: .85rem 1rem; border-radius: var(--r-2); margin-bottom: var(--s-3); }
.comment-form .submit { background: var(--saffron); color: var(--ink); border: 0; padding: .85rem 1.5rem; border-radius: var(--r-2); font-family: var(--font-impact); font-size: 1rem; letter-spacing: .06em; cursor: pointer; }

/* Add to cart button on single product */
.single_add_to_cart_button {
  background: var(--saffron) !important;
  color: var(--ink) !important;
  border: 0;
  padding: 1rem 1.5rem;
  border-radius: var(--r-2);
  font-family: var(--font-impact);
  font-size: 1.1rem;
  letter-spacing: .06em;
  cursor: pointer;
  width: 100%;
  min-height: 56px;
  margin-top: var(--s-3);
  transition: background .15s;
}
.single_add_to_cart_button:hover { background: var(--saffron-l) !important; }

.added_to_cart {
  display: inline-block;
  margin-top: .5rem;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--teal);
  text-decoration: underline;
}

/* Related products */
.related.products h2 { display: none; }
.related.products .products { margin-top: 0; }

/* Stock notice on single product */
.stock { font-family: var(--font-mono); font-size: 12px; letter-spacing: .04em; padding: .35rem .75rem; display: inline-block; border-radius: var(--r-2); }
.stock.in-stock { background: rgba(13,158,138,.1); color: #5DD; border: 1px solid rgba(13,158,138,.25); }
.stock.out-of-stock { background: rgba(196,30,58,.1); color: #F88; border: 1px solid rgba(196,30,58,.25); }
.stock.available-on-backorder { background: rgba(232,130,12,.1); color: var(--saffron); border: 1px solid rgba(232,130,12,.25); }

/* Login / register forms */
.woocommerce-form-login, .woocommerce-form-register { background: var(--charcoal); border: 1px solid rgba(var(--fg-rgb),.07); border-radius: var(--r-3); padding: var(--s-5); max-width: 480px; margin: 0 auto; }
