/* SpeedToys WooCommerce — v4.0 Clean Rewrite */
/* Only targets .st-* template classes + WC form fields */


/* WC utility classes we must define since WC CSS is removed */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hidden,.woocommerce-input-wrapper .hide{display:none}

*,*::before,*::after{box-sizing:border-box}

/* ── CART PAGE ── */
.st-cart{display:flex;gap:32px;align-items:flex-start}
.st-cart-items{
  flex:1 1 0%;min-width:0;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:20px;padding:32px;backdrop-filter:blur(16px);
}
.st-cart-title{
  font-family:'Barlow Condensed',sans-serif;font-size:.85rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.35);margin:0 0 24px;
}
.st-cart-summary{
  flex:0 0 340px;position:sticky;top:140px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:20px;padding:32px;backdrop-filter:blur(16px);
}

/* Cart items */
.st-cart-item{
  display:grid;grid-template-columns:28px 70px 1fr 60px auto;gap:14px;
  align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.06);
}
.st-cart-item:last-of-type{border-bottom:0}
.st-cart-remove{color:rgba(239,68,68,.5);font-size:22px;text-decoration:none;text-align:center;transition:color .2s}
.st-cart-remove:hover{color:#ef4444}
.st-cart-img img{width:70px!important;height:70px!important;object-fit:cover;border-radius:12px;display:block}
.st-cart-info h3{font-size:.9rem;font-weight:600;color:#fff;margin:0 0 2px;line-height:1.3}
.st-cart-info h3 a{color:inherit;text-decoration:none}
.st-cart-info h3 a:hover{color:#ff6b00}
.st-cart-price{font-size:.8rem;color:rgba(255,255,255,.4)}
.st-cart-qty .quantity{display:flex;justify-content:center}
.st-cart-qty input.qty,
.st-cart-qty input[type="number"]{
  width:52px!important;height:40px!important;text-align:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:10px;color:#fff;font-weight:700;font-size:.9rem;
  -moz-appearance:textfield;
}
.st-cart-qty input::-webkit-inner-spin-button,
.st-cart-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.st-cart-qty input:focus{border-color:#ff6b00;outline:none;box-shadow:0 0 0 3px rgba(255,107,0,.15)}
.st-cart-subtotal{text-align:right;font-weight:700;font-size:.95rem;color:#fff;white-space:nowrap;padding-right:4px}

/* Cart actions */
.st-cart-actions{display:flex;gap:10px;align-items:center;padding-top:20px;margin-top:8px;flex-wrap:nowrap}
.st-coupon{display:flex;gap:8px;flex:1;min-width:200px}
.st-coupon-input{
  flex:1;padding:12px 16px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:.9rem;
}
.st-coupon-input::placeholder{color:rgba(255,255,255,.25)}
.st-coupon-input:focus{border-color:#ff6b00;outline:none}
.st-btn-outline{
  padding:12px 20px;background:transparent;border:1px solid rgba(255,255,255,.12);
  border-radius:10px;color:rgba(255,255,255,.55);font-size:.75rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s;white-space:nowrap;
}
.st-btn-outline:hover{border-color:#ff6b00;color:#ff6b00}

/* Cart totals (rendered by WC) */
.st-cart-summary .cross-sells{display:none}
.st-cart-summary h2{
  font-family:'Barlow Condensed',sans-serif;font-size:.85rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.35);margin:0 0 20px;
}
.st-cart-summary table{width:100%;border-collapse:collapse}
.st-cart-summary table th,
.st-cart-summary table td{padding:12px 0;border:0;color:#fff;font-size:.95rem}
.st-cart-summary table th{text-align:left;font-weight:600}
.st-cart-summary table td{text-align:right}
.st-cart-summary table tr{border-bottom:1px solid rgba(255,255,255,.06)}
.st-cart-summary table tr.order-total{border-bottom:0;border-top:2px solid #ff6b00}
.st-cart-summary table tr.order-total th,
.st-cart-summary table tr.order-total td{padding-top:16px;font-size:1.1rem;font-weight:700}
.st-cart-summary table tr.order-total .amount{color:#ff6b00;font-size:1.35rem;font-weight:800}
.st-cart-summary .wc-proceed-to-checkout{margin-top:20px}
.st-cart-summary .wc-proceed-to-checkout a,
.st-cart-summary .wc-proceed-to-checkout .checkout-button{
  display:block;width:100%;text-align:center;padding:16px;
  background:linear-gradient(135deg,#ff6b00,#ff8c33);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;border-radius:50px;
  text-decoration:none;border:0;cursor:pointer;transition:box-shadow .2s;
}
.st-cart-summary .wc-proceed-to-checkout a:hover{box-shadow:0 8px 30px rgba(255,107,0,.35)}

/* ── CHECKOUT PAGE ── */
.st-checkout-grid{
  display:grid!important;grid-template-columns:1fr 340px;gap:32px;align-items:start;
}
.st-checkout-main{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:20px;padding:36px;backdrop-filter:blur(16px);
}
.st-checkout-section + .st-checkout-section{margin-top:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.06)}
.st-checkout-sidebar{
  position:sticky;top:140px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:20px;padding:28px;backdrop-filter:blur(16px);
}
.st-sidebar-title{
  font-family:'Barlow Condensed',sans-serif;font-size:.85rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.35);margin:0 0 20px;
}

/* Coupon toggle + form (above grid) */
.woocommerce-form-coupon-toggle,
.checkout_coupon.woocommerce-form-coupon{grid-column:1/-1}
.woocommerce-form-coupon-toggle .woocommerce-info{
  background:rgba(255,107,0,.05);border:1px solid rgba(255,107,0,.12);
  border-radius:14px;padding:14px 20px;color:rgba(255,255,255,.6);font-size:.9rem;
}
.woocommerce-form-coupon-toggle .woocommerce-info a{color:#ff6b00;font-weight:600}
.checkout_coupon{
  display:flex;gap:10px;align-items:flex-end;padding:20px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:14px;
}
.checkout_coupon p{margin:0;flex:1}
.checkout_coupon .form-row-last{flex:0 0 auto}

/* ── FORM FIELDS (shared cart+checkout) ── */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3{
  font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;color:#fff;
  margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06);
}
.woocommerce .form-row{display:block;margin-bottom:16px;padding:0}
.woocommerce .form-row::before,.woocommerce .form-row::after{display:none}
.woocommerce .form-row label{
  display:block;margin-bottom:8px;
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;
  color:rgba(255,255,255,.4);
}
.woocommerce .form-row label .required{color:#ff6b00}
.woocommerce .form-row .woocommerce-input-wrapper{display:block;width:100%}
.woocommerce .form-row input[type="text"],
.woocommerce .form-row input[type="email"],
.woocommerce .form-row input[type="tel"],
.woocommerce .form-row input[type="password"],
.woocommerce .form-row input[type="number"],
.woocommerce .form-row textarea,
.woocommerce .form-row select{
  display:block;width:100%;padding:13px 16px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:12px;color:#fff;font-size:.95rem;font-family:'Inter',sans-serif;
}
.woocommerce .form-row input:focus,
.woocommerce .form-row textarea:focus,
.woocommerce .form-row select:focus{
  border-color:#ff6b00;outline:none;box-shadow:0 0 0 3px rgba(255,107,0,.15);
}
.woocommerce .form-row input::placeholder,
.woocommerce .form-row textarea::placeholder{color:rgba(255,255,255,.25)}
.woocommerce .form-row textarea{min-height:80px;resize:vertical}
.woocommerce .form-row-first,.woocommerce .form-row-last{display:inline-block;width:48%;vertical-align:top}
.woocommerce .form-row-first{margin-right:4%}

/* Select2 */
.select2-container{width:100%!important}
.select2-container--default .select2-selection--single{
  height:48px;padding:11px 16px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff;line-height:24px;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px;right:12px}
.select2-dropdown{background:#1a1a2e;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;z-index:999999}
.select2-results__option{padding:10px 16px;color:#fff}
.select2-results__option--highlighted[aria-selected]{background:#ff6b00}
.select2-search--dropdown .select2-search__field{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;padding:10px;border-radius:8px}

/* Order review table */
.st-checkout-sidebar table{width:100%;border-collapse:collapse}
.st-checkout-sidebar table th,
.st-checkout-sidebar table td{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);color:#fff;font-size:.88rem;vertical-align:top}
.st-checkout-sidebar table thead th{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.3);font-weight:600}
.st-checkout-sidebar table td:last-child,
.st-checkout-sidebar table th:last-child{text-align:right}
.st-checkout-sidebar table tfoot .order-total{border-top:2px solid #ff6b00;border-bottom:0}
.st-checkout-sidebar table tfoot .order-total th,
.st-checkout-sidebar table tfoot .order-total td{padding-top:14px;font-weight:700;font-size:1.05rem}
.st-checkout-sidebar table tfoot .order-total .amount{color:#ff6b00;font-size:1.25rem;font-weight:800}

/* Payment */
#payment{background:transparent;border:0;padding:0;margin-top:16px}
#payment .payment_box,
.st-checkout-sidebar .woocommerce-info{
  background:rgba(255,107,0,.05);border:1px solid rgba(255,107,0,.1);
  border-radius:12px;padding:14px;color:rgba(255,255,255,.55);font-size:.82rem;line-height:1.5;
}
.woocommerce-privacy-policy-text p{font-size:.72rem;color:rgba(255,255,255,.28);line-height:1.4;margin:12px 0}
.woocommerce-privacy-policy-text a{color:#ff6b00}
#place_order{
  display:block;width:100%;padding:16px;margin-top:12px;
  background:linear-gradient(135deg,#ff6b00,#ff8c33);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;border:0;border-radius:50px;
  cursor:pointer;transition:box-shadow .2s;
}
#place_order:hover{box-shadow:0 8px 30px rgba(255,107,0,.35)}

/* ── NOTICES ── */
.woocommerce-error{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:14px;padding:14px 20px;color:#fca5a5;font-size:.9rem;list-style:none;margin:0 0 20px}
.woocommerce-message{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:14px;padding:14px 20px;color:#86efac;font-size:.9rem;margin:0 0 20px}
.woocommerce-info{background:rgba(255,107,0,.06);border:1px solid rgba(255,107,0,.15);border-radius:14px;padding:14px 20px;color:rgba(255,255,255,.6);font-size:.9rem;margin:0 0 20px}
.woocommerce-info a{color:#ff6b00}

/* ── SHOP / PRODUCT GRID ── */
ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;list-style:none;padding:0;margin:0}
ul.products li.product{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s;
}
ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3)}
ul.products li.product a img{width:100%;height:200px;object-fit:cover;display:block}
ul.products li.product .woocommerce-loop-product__title{padding:14px 16px 4px;font-size:.9rem;font-weight:600;color:#fff}
ul.products li.product .price{padding:0 16px 14px;color:#fff;font-weight:700}
ul.products li.product .price del{color:rgba(255,255,255,.3);margin-right:6px}
ul.products li.product .price ins{color:#ff6b00;text-decoration:none}
ul.products li.product .button,
ul.products li.product .add_to_cart_button{
  display:block;margin:0 16px 16px;padding:10px;text-align:center;
  background:linear-gradient(135deg,#ff6b00,#ff8c33);color:#fff;border-radius:10px;
  font-size:.85rem;font-weight:600;text-decoration:none;text-transform:uppercase;
}
ul.products li.product .onsale{
  position:absolute;top:12px;right:12px;background:#ff6b00;color:#fff;
  padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;z-index:1;
}

/* Empty cart */
.cart-empty{text-align:center;padding:60px 20px;color:rgba(255,255,255,.5);font-size:1.1rem}
.return-to-shop{text-align:center;margin-top:20px}
.return-to-shop .button{
  display:inline-block;padding:14px 32px;border:1px solid rgba(255,255,255,.12);
  border-radius:50px;color:#fff;text-decoration:none;font-weight:600;transition:all .2s;
}
.return-to-shop .button:hover{border-color:#ff6b00;color:#ff6b00}

/* WC data-title mobile labels — HIDE on desktop */
td::before{display:none!important}

/* ── RESPONSIVE ── */
@media(max-width:991px){
  .st-cart{flex-direction:column}
  .st-cart-summary{flex:unset;width:100%;position:static}
  .st-checkout-grid{grid-template-columns:1fr!important}
  .st-checkout-sidebar{position:static}
}
@media(max-width:768px){
  .st-cart-item{grid-template-columns:24px 56px 1fr auto;gap:10px}
  .st-cart-item .st-cart-qty{display:none}
  .st-cart-item .st-cart-subtotal{grid-column:4}
  .st-cart-actions{flex-direction:column}
  .st-coupon{width:100%}
  .woocommerce .form-row-first,.woocommerce .form-row-last{display:block;width:100%;margin-right:0}
}

/* ── LIGHT MODE ── */
[data-theme="light"] .st-cart-items,
[data-theme="light"] .st-cart-summary,
[data-theme="light"] .st-checkout-main,
[data-theme="light"] .st-checkout-sidebar{background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.06);box-shadow:0 4px 24px rgba(0,0,0,.04)}
[data-theme="light"] .st-cart-title,
[data-theme="light"] .st-cart-summary h2,
[data-theme="light"] .st-sidebar-title{color:#94a3b8}
[data-theme="light"] .st-cart-info h3,
[data-theme="light"] .st-cart-info h3 a{color:#1a1a2e}
[data-theme="light"] .st-cart-price{color:#64748b}
[data-theme="light"] .st-cart-subtotal{color:#1a1a2e}
[data-theme="light"] .st-cart-item{border-color:rgba(0,0,0,.06)}
[data-theme="light"] .st-cart-qty input{background:#f1f5f9;border-color:rgba(0,0,0,.1);color:#1a1a2e}
[data-theme="light"] .st-coupon-input{background:#f8fafc;border-color:rgba(0,0,0,.1);color:#1a1a2e}
[data-theme="light"] .st-coupon-input::placeholder{color:#94a3b8}
[data-theme="light"] .st-btn-outline{border-color:rgba(0,0,0,.1);color:#475569}
[data-theme="light"] .st-cart-summary table th,
[data-theme="light"] .st-cart-summary table td,
[data-theme="light"] .st-checkout-sidebar table th,
[data-theme="light"] .st-checkout-sidebar table td{color:#1a1a2e;border-color:rgba(0,0,0,.06)}
[data-theme="light"] .woocommerce .form-row label{color:#64748b}
[data-theme="light"] .woocommerce .form-row input[type="text"],
[data-theme="light"] .woocommerce .form-row input[type="email"],
[data-theme="light"] .woocommerce .form-row input[type="tel"],
[data-theme="light"] .woocommerce .form-row input[type="password"],
[data-theme="light"] .woocommerce .form-row textarea,
[data-theme="light"] .woocommerce .form-row select{background:#f8fafc;border-color:rgba(0,0,0,.1);color:#1a1a2e}
[data-theme="light"] .woocommerce .form-row input::placeholder{color:#94a3b8}
[data-theme="light"] .woocommerce-billing-fields > h3{color:#1a1a2e;border-color:rgba(0,0,0,.06)}
[data-theme="light"] .select2-container--default .select2-selection--single{background:#f8fafc;border-color:rgba(0,0,0,.1)}
[data-theme="light"] .select2-container--default .select2-selection--single .select2-selection__rendered{color:#1a1a2e}
[data-theme="light"] .select2-dropdown{background:#fff;border-color:rgba(0,0,0,.08)}
[data-theme="light"] .select2-results__option{color:#1a1a2e}
[data-theme="light"] .select2-search--dropdown .select2-search__field{background:#f1f5f9;border-color:rgba(0,0,0,.08);color:#1a1a2e}
[data-theme="light"] ul.products li.product{background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.06)}
[data-theme="light"] ul.products li.product .woocommerce-loop-product__title{color:#1a1a2e}
[data-theme="light"] ul.products li.product .price{color:#1a1a2e}
[data-theme="light"] .woocommerce-info{background:rgba(255,107,0,.04);border-color:rgba(255,107,0,.1);color:#475569}
[data-theme="light"] #payment .payment_box{background:rgba(255,107,0,.03);border-color:rgba(255,107,0,.08);color:#475569}
[data-theme="light"] .woocommerce-privacy-policy-text p{color:#94a3b8}
[data-theme="light"] .st-cart-remove{color:rgba(239,68,68,.4)}
[data-theme="light"] .cart-empty{color:#64748b}
