/* ==========================================================================
   Token Trophy — Store Skin  (tt-store)
   Lane: award-gallery / tech-luxury  ·  deep navy #0b1526 + metallic gold #e7c466
   Extends the homepage system (theme/templates/front-page.html) across the
   whole commerce layer: shop archive, single product, cart, checkout.
   Loaded site-wide via mu-plugin tt-store-css.php.
   Contrast contract: any element with a non-white bg declares its own color.
   ========================================================================== */

:root{
  --tt-navy:#0b1526;
  --tt-navy-2:#132543;
  --tt-gold:#e7c466;
  --tt-gold-hi:#f0d17f;
  --tt-blue:#3b82f6;
  --tt-ink:#0f172a;
  --tt-body:#475569;
  --tt-muted:#64748b;
  --tt-faint:#94a3b8;
  --tt-line:#e2e8f0;
  --tt-line-soft:#f1f5f9;
  --tt-wash:#f8fafc;
  --tt-r:10px;
  --tt-rc:16px;
}

/* ---------- base ---------------------------------------------------------- */
.woocommerce a{color:var(--tt-navy);text-decoration:none;transition:color .12s ease}
.woocommerce a:hover{color:#1e293b}
.woocommerce .woocommerce-message a,.woocommerce .woocommerce-info a{text-decoration:underline}

.woocommerce h1,.woocommerce h2,.woocommerce h3,.woocommerce h4{color:var(--tt-ink);letter-spacing:-0.01em}

/* ---------- buttons ------------------------------------------------------- */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #place_order{
  background:var(--tt-navy);
  color:#ffffff;
  border:1px solid var(--tt-navy);
  border-radius:var(--tt-r);
  padding:14px 26px;
  font-size:15px;
  font-weight:700;
  line-height:1;
  letter-spacing:0.01em;
  transition:transform .12s ease,background .12s ease,border-color .12s ease;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce #place_order:hover{
  background:var(--tt-navy-2);
  border-color:var(--tt-navy-2);
  color:#ffffff;
  transform:translateY(-1px);
}
.woocommerce .tt-btn-gold,
.woocommerce a.tt-btn-gold,
.woocommerce .button.tt-gold{
  background:var(--tt-gold);
  border-color:var(--tt-gold);
  color:var(--tt-navy);
}
.woocommerce .tt-btn-gold:hover{background:var(--tt-gold-hi);border-color:var(--tt-gold-hi);color:var(--tt-navy)}
.woocommerce .button[disabled],
.woocommerce .button.disabled{background:#cbd5e1;border-color:#cbd5e1;color:#ffffff;opacity:1}

/* ---------- form fields (the raw-select problem) -------------------------- */
.woocommerce select,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="password"],
.woocommerce textarea,
.woocommerce .select2-container .select2-selection{
  border:1px solid var(--tt-line);
  border-radius:var(--tt-r);
  background:#ffffff;
  color:var(--tt-ink);
  padding:12px 14px;
  font-size:15px;
  line-height:1.2;
  min-height:48px;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
}
.woocommerce select{
  padding-right:40px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230b1526' d='M1.41 0 6 4.59 10.59 0 12 1.41 6 7.41 0 1.41z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:12px 8px;
}
.woocommerce select:focus,
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce .select2-container--focus .select2-selection{
  border-color:var(--tt-gold);
  outline:none;
  box-shadow:0 0 0 3px rgba(231,196,102,0.30);
}
.woocommerce .select2-container--default .select2-selection--single{padding:0 12px}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:46px;color:var(--tt-ink);padding-left:0}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px;right:12px}

/* ---------- breadcrumbs --------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb{
  color:var(--tt-faint);
  font-size:12.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:600;
  padding:26px 0 0;
  margin:0 0 6px;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--tt-muted)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--tt-navy)}

/* ---------- notices ------------------------------------------------------- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error{
  background:var(--tt-wash);
  border:1px solid var(--tt-line);
  border-top:3px solid var(--tt-navy);
  border-radius:var(--tt-r);
  color:var(--tt-body);
  font-size:14.5px;
  padding:16px 20px 16px 52px;
  position:relative;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before{top:18px;left:20px;color:var(--tt-navy)}
.woocommerce .woocommerce-message{border-top-color:var(--tt-navy)}
.woocommerce .woocommerce-info{border-top-color:var(--tt-blue)}

/* ==========================================================================
   SHOP ARCHIVE
   ========================================================================== */
.tt-shop-band{
  background:var(--tt-navy);
  color:#ffffff;
  padding:64px 0 60px;
  position:relative;
  overflow:hidden;
}
.tt-shop-band::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(800px 420px at 85% -20%, rgba(231,196,102,0.16), transparent 60%),
             radial-gradient(700px 400px at -10% 120%, rgba(59,130,246,0.10), transparent 60%);
  pointer-events:none;
}
.tt-shop-band .tt-wrap{position:relative;max-width:1140px;margin:0 auto;padding:0 24px}
.tt-shop-band .tt-eyebrow{color:var(--tt-gold);font-size:13px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;margin:0 0 14px}
.tt-shop-band h1{color:#ffffff;font-size:clamp(30px,4vw,46px);line-height:1.06;font-weight:800;letter-spacing:-0.02em;margin:0 0 16px}
.tt-shop-band p{color:#cbd5e1;font-size:17px;line-height:1.6;max-width:60ch;margin:0}
.tt-shop-chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0}
.tt-shop-chips span{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(231,196,102,0.55);
  color:var(--tt-gold);
  font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;
}

/* archive toolbar + grid */
.woocommerce .woocommerce-products-header{display:none}          /* kill default "Shop" title */
.woocommerce .woocommerce-result-count{color:var(--tt-muted);font-size:14px;margin:0}
.tt-shop-tools{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
  padding:34px 0 22px;border-bottom:1px solid var(--tt-line-soft);margin:0 0 40px;
}
.tt-shop-tools .woocommerce-ordering{margin:0}
.tt-shop-tools .woocommerce-ordering select{min-width:230px;min-height:46px;font-size:14px}
.woocommerce .tt-shop-tools .woocommerce-result-count{margin:0}
.woocommerce nav.woocommerce-pagination{margin:44px 0 0}

.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  margin:0!important;padding:0!important;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;
  background:#ffffff;border:1px solid var(--tt-line);border-radius:var(--tt-rc);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .15s ease,box-shadow .15s ease;
  list-style:none;
}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 24px 48px -20px rgba(15,23,42,0.25)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block}
.woocommerce ul.products li.product img{
  width:100%;height:300px;object-fit:contain;background:#ffffff;
  padding:26px;border-bottom:1px solid var(--tt-line-soft);border-radius:0;margin:0!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--tt-ink);font-size:20px;font-weight:800;letter-spacing:-0.01em;
  padding:22px 24px 6px;margin:0;
}
.woocommerce ul.products li.product .price{
  color:var(--tt-ink);font-size:15px;font-weight:700;padding:0 24px;margin:0 0 18px;
}
.woocommerce ul.products li.product .price del{color:var(--tt-faint);font-weight:500;margin-right:8px}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .star-rating{margin:0 24px 10px;color:var(--tt-gold)}
.woocommerce ul.products li.product .button{
  display:block;text-align:center;margin:auto 24px 26px;
}
.woocommerce ul.products li.product .onsale{
  background:var(--tt-gold);color:var(--tt-navy);font-weight:700;border-radius:999px;
  padding:5px 14px;min-height:0;line-height:1.4;top:18px;right:18px;
}

/* ==========================================================================
   SINGLE PRODUCT
   ========================================================================== */
.woocommerce div.product{padding:8px 0 20px}
.woocommerce div.product .woocommerce-product-gallery{width:48%}
.woocommerce div.product div.summary{width:44%}
.woocommerce div.product .woocommerce-product-gallery__wrapper{
  border:1px solid var(--tt-line);border-radius:var(--tt-rc);overflow:hidden;background:#ffffff;
}
.woocommerce div.product .woocommerce-product-gallery__image img{border-radius:0}
.woocommerce div.product .flex-control-thumbs{display:flex;gap:12px;margin:14px 0 0;padding:0}
.woocommerce div.product .flex-control-thumbs li{width:76px;margin:0}
.woocommerce div.product .flex-control-thumbs img{
  border:1px solid var(--tt-line);border-radius:10px;padding:6px;background:#ffffff;
}
.woocommerce div.product .flex-control-thumbs img.flex-active,
.woocommerce div.product .flex-control-thumbs img:hover{border-color:var(--tt-gold)}

.woocommerce div.product .product_title{
  color:var(--tt-ink);font-size:clamp(26px,3vw,36px);line-height:1.1;font-weight:800;
  letter-spacing:-0.02em;margin:0 0 14px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--tt-ink);font-size:26px;font-weight:800;margin:0 0 18px;
}
.woocommerce div.product p.price del{color:var(--tt-faint);font-weight:500}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{
  color:var(--tt-body);font-size:16px;line-height:1.7;margin:0 0 22px;
}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0 0 12px}

/* variation + qty row */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin:0 0 18px}
.woocommerce div.product form.cart .variations{margin:0;width:100%}
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td{padding:0 0 12px;text-align:left;background:none;vertical-align:middle}
.woocommerce div.product form.cart .variations label{color:var(--tt-ink);font-weight:700;font-size:14px}
.woocommerce div.product form.cart .variations select{
  min-width:240px;min-height:48px;font-size:15px;font-weight:600;color:var(--tt-ink);
}
.woocommerce div.product form.cart .reset_variations{color:var(--tt-muted);font-size:13px}
.woocommerce div.product form.cart div.quantity{margin:0}
.woocommerce .quantity input.qty{
  width:76px;height:50px;border:1px solid var(--tt-line);border-radius:var(--tt-r);
  color:var(--tt-ink);background:#ffffff;font-weight:700;text-align:center;
}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1;min-width:220px;min-height:50px;font-size:16px}
.woocommerce div.product .product_meta{
  border-top:1px solid var(--tt-line-soft);padding-top:18px;margin-top:6px;
  color:var(--tt-muted);font-size:13.5px;
}
.woocommerce div.product .product_meta a{color:var(--tt-ink);font-weight:600}

/* trust row (injected) */
.tt-trust{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 6px;
}
.tt-trust div{
  background:var(--tt-wash);border:1px solid var(--tt-line);border-radius:var(--tt-r);
  padding:14px 16px;color:var(--tt-body);font-size:13.5px;line-height:1.5;
}
.tt-trust strong{display:block;color:var(--tt-ink);font-size:14px;margin:0 0 2px}

/* tabs */
.woocommerce div.product .woocommerce-tabs{clear:both;margin:56px 0 0;border-top:1px solid var(--tt-line-soft);padding-top:8px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 26px;display:flex;gap:28px;border-bottom:1px solid var(--tt-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none;border:none;border-radius:0;margin: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(--tt-muted);font-weight:700;font-size:15px;padding:14px 2px;display:block;
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--tt-ink);border-bottom-color:var(--tt-gold)}
.woocommerce div.product .woocommerce-tabs .panel{color:var(--tt-body);font-size:16px;line-height:1.75;margin:0}
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3{color:var(--tt-ink);font-weight:800;letter-spacing:-0.01em;margin:30px 0 10px}
.woocommerce div.product .woocommerce-tabs .panel h3{font-size:19px}
.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol{padding-left:20px;margin:0 0 18px}
.woocommerce div.product .woocommerce-tabs .panel li{margin:0 0 7px}
.woocommerce div.product .woocommerce-tabs .panel p{margin:0 0 16px}
.woocommerce div.product .woocommerce-tabs .panel table{width:100%;border-collapse:collapse;margin:0 0 18px}
.woocommerce div.product .woocommerce-tabs .panel table th,
.woocommerce div.product .woocommerce-tabs .panel table td{
  border:1px solid var(--tt-line);padding:12px 14px;text-align:left;color:var(--tt-ink);font-size:15px;
}
.woocommerce div.product .woocommerce-tabs .panel table th{background:var(--tt-wash);font-weight:700}
.woocommerce div.product .woocommerce-tabs .panel blockquote{
  border-left:3px solid var(--tt-gold);margin:0 0 18px;padding:6px 0 6px 20px;
  color:var(--tt-ink);font-size:19px;font-weight:600;line-height:1.5;
}

/* related products */
.woocommerce section.related,
.woocommerce section.upsells{clear:both;margin:64px 0 0;border-top:1px solid var(--tt-line-soft);padding-top:44px}
.woocommerce section.related > h2,
.woocommerce section.upsells > h2{
  color:var(--tt-ink);font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-0.015em;margin:0 0 28px;
}

/* ==========================================================================
   CART + CHECKOUT
   ========================================================================== */
.woocommerce table.shop_table{
  border:1px solid var(--tt-line);border-radius:var(--tt-rc);border-collapse:separate;border-spacing:0;overflow:hidden;
}
.woocommerce table.shop_table th{background:var(--tt-wash);color:var(--tt-ink);font-weight:700;font-size:13.5px;letter-spacing:0.03em;text-transform:uppercase;padding:16px}
.woocommerce table.shop_table td{border-top:1px solid var(--tt-line-soft);padding:18px 16px;color:var(--tt-body);vertical-align:middle}
.woocommerce table.shop_table td.product-name a{color:var(--tt-ink);font-weight:700}
.woocommerce .cart_totals h2,
.woocommerce #order_review_heading,
.woocommerce .woocommerce-billing-fields h3,
.woocommerce .woocommerce-shipping-fields h3,
.woocommerce .woocommerce-additional-fields h3{
  color:var(--tt-ink);font-size:22px;font-weight:800;letter-spacing:-0.01em;margin:0 0 18px;
}
.woocommerce .cart_totals table.shop_table td,
.woocommerce .cart_totals table.shop_table th{color:var(--tt-body)}
.woocommerce .cart_totals .order-total td,
.woocommerce .cart_totals .order-total th{color:var(--tt-ink);font-weight:800;font-size:18px}
.woocommerce .cart-collaterals{margin-top:36px}
.woocommerce .cart-collaterals .cart_totals{background:var(--tt-wash);border:1px solid var(--tt-line);border-radius:var(--tt-rc);padding:26px}
.woocommerce .cart-collaterals .cart_totals table.shop_table{border:none;border-radius:0}
.woocommerce .cart-collaterals .cart_totals table.shop_table th,
.woocommerce .cart-collaterals .cart_totals table.shop_table td{border-top:1px solid var(--tt-line-soft);padding:12px 0;background:none}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;font-size:16px;padding:16px}
.woocommerce .return-to-shop a.button{background:transparent;color:var(--tt-ink);border:1px solid var(--tt-line)}
.woocommerce .return-to-shop a.button:hover{background:var(--tt-wash);color:var(--tt-ink)}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review{
  background:var(--tt-wash);border:1px solid var(--tt-line);border-radius:var(--tt-rc);padding:26px;margin-bottom:24px;
}
.woocommerce-checkout #order_review{background:var(--tt-navy);border-color:var(--tt-navy)}
.woocommerce-checkout #order_review_heading{color:#ffffff}
.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td{background:transparent;border-color:rgba(255,255,255,0.14);color:#e2e8f0}
.woocommerce-checkout #order_review .shop_table th{background:rgba(255,255,255,0.05);color:#ffffff}
.woocommerce-checkout #order_review .shop_table .product-name a{color:#ffffff}
.woocommerce-checkout #order_review .shop_table .order-total td,
.woocommerce-checkout #order_review .shop_table .order-total th{color:#ffffff}
.woocommerce-checkout #order_review .shop_table .order-total .amount{color:var(--tt-gold)}
.woocommerce-checkout #order_review #payment{background:transparent}
.woocommerce-checkout #order_review #payment ul.payment_methods{border-color:rgba(255,255,255,0.14);background:transparent}
.woocommerce-checkout #order_review #payment ul.payment_methods li{color:#e2e8f0}
.woocommerce-checkout #order_review #payment label{color:#e2e8f0}
.woocommerce-checkout #order_review #payment div.place-order{margin:18px -26px -26px;padding:0;border-radius:0 0 var(--tt-rc) var(--tt-rc)}

.woocommerce form .form-row label{color:var(--tt-ink);font-weight:600;font-size:14px}
.woocommerce form .form-row .required{color:#dc2626}
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register{
  border:1px solid var(--tt-line);border-radius:var(--tt-rc);background:var(--tt-wash);padding:24px;
}

/* ---------- product page injected blocks --------------------------------- */
.tt-engrave{
  background:var(--tt-navy);color:#ffffff;border-radius:var(--tt-rc);
  padding:34px 36px;margin:52px 0 0;
}
.tt-engrave h3{color:#ffffff;font-size:22px;font-weight:800;margin:0 0 10px;letter-spacing:-0.01em}
.tt-engrave p{color:#cbd5e1;font-size:15.5px;line-height:1.65;margin:0 0 14px;max-width:70ch}
.tt-engrave a{color:var(--tt-gold);font-weight:700}

/* ---------- responsive ---------------------------------------------------- */
@media (max-width:900px){
  .woocommerce ul.products{grid-template-columns:1fr}
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product div.summary{width:100%;float:none}
  .woocommerce div.product div.summary{margin-top:28px}
  .tt-trust{grid-template-columns:1fr}
  .tt-shop-band{padding:46px 0 42px}
  .woocommerce div.product form.cart .single_add_to_cart_button{min-width:100%}
}
