/* ==========================================================================
   VAPEXXL — WooCommerce overrides
   Aligns default WooCommerce markup with the VAPEXXL design system.
   ========================================================================== */

/* Shell */
.wc-shell{padding:56px 0 84px}

/* ---------- Notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{
  border-radius:var(--r-md);border:1px solid var(--rule);background:var(--paper);
  color:var(--text);font-size:14px;padding:14px 17px;margin-bottom:20px;list-style:none;
}
.woocommerce-message{border-top-color:var(--ok)}
.woocommerce-info{border-top-color:var(--info)}
.woocommerce-error{border-top-color:var(--warn)}

/* ---------- Buttons ---------- */
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce input.button.alt,#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
.wc-block-components-button,.single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:46px;padding:0 22px;border:1px solid transparent;border-radius:var(--r-md);
  font-family:var(--ff-body);font-size:15px;font-weight:600;cursor:pointer;
  background:var(--navy);color:#fff;line-height:1.2;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover{
  background:var(--navy-70);color:#fff;text-decoration:none;
}
.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button{
  background:var(--accent);color:#211A00;border-color:var(--accent);
}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{background:#D8B33C}
.woocommerce .button.wc-forward{background:transparent;color:var(--navy);border-color:var(--rule-strong)}
.woocommerce .button.wc-forward:hover{border-color:var(--navy);background:rgba(10,23,48,.03)}
.woocommerce a.remove{
  color:var(--warn)!important;background:var(--warn-wash);border-radius:var(--r-sm);
  width:26px;height:26px;line-height:24px;font-size:16px;
}

/* ---------- Shop archive grid ---------- */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:0!important;width:100%}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{
  float:none!important;width:auto!important;margin:0!important;
  background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);
  overflow:hidden;display:flex;flex-direction:column;
  transition:border-color .16s,box-shadow .16s;
}
.woocommerce ul.products li.product:hover{border-color:var(--rule-strong);box-shadow:var(--shadow-1)}
.woocommerce ul.products li.product a img{margin:0;border-bottom:1px solid var(--rule);background:#fff}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--ff-display);font-size:15.5px!important;font-weight:600;line-height:1.3;
  color:var(--text);padding:14px 17px 0;
}
.woocommerce ul.products li.product .price{
  font-family:var(--ff-mono);font-size:19px;color:var(--navy)!important;padding:6px 17px 16px;
}
.woocommerce ul.products li.product .price del{font-size:12.5px;color:var(--text-3);opacity:1}
.woocommerce ul.products li.product .price ins{text-decoration:none;font-weight:500}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
  background:var(--accent-wash);color:var(--accent-ink);border:1px solid #EBDCA4;
  font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;
  min-width:0;min-height:0;padding:3px 9px;border-radius:var(--r-sm);line-height:1.5;margin:0;
  position:absolute;top:10px;left:10px;z-index:2;
}
.woocommerce ul.products li.product .star-rating{margin:2px 17px 6px}
.woocommerce ul.products li.product .button{margin:0 17px 18px;align-self:flex-start}

/* Result count + ordering */
.woocommerce .woocommerce-result-count{font-size:13.5px;color:var(--text-2);margin-top:4px}
.woocommerce .woocommerce-ordering select{width:auto;min-height:40px}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul{border:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin-right:6px}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sm);
  min-width:38px;color:var(--text);font-family:var(--ff-mono);
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------- Single product ---------- */
.woocommerce div.product .product_title{font-family:var(--ff-display);font-weight:700;line-height:1.12;letter-spacing:-.015em;font-size:clamp(26px,2.7vw,34px)}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--ff-mono);font-size:26px;color:var(--navy)!important;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:16px 0;margin:18px 0;
}
.woocommerce div.product p.price del{font-size:16px;color:var(--text-3)}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product div.images{width:44%;margin-bottom:40px}
.woocommerce div.product div.images img{border:1px solid var(--rule);border-radius:var(--r-lg);background:#fff}
.woocommerce div.product div.summary{width:52%;margin-bottom:40px}
.woocommerce div.product form.cart{border-top:1px solid var(--rule);padding-top:18px}
.woocommerce div.product form.cart div.quantity .qty{
  min-height:46px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-family:var(--ff-mono);
}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding-left:0;margin-bottom:26px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom:1px solid var(--rule)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;border:0;border-radius:0;border-bottom:2px solid transparent;margin:0 -1px 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{
  padding:13px 16px;font-size:15px;font-weight:600;color:var(--text-2);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  border-bottom-color:var(--navy);margin-bottom:-1px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--navy)}
.woocommerce div.product .woocommerce-tabs .panel{font-size:15.5px;line-height:1.75;color:#22304A;max-width:78ch}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:24px;margin-bottom:14px}
.woocommerce .related.products>h2,.woocommerce .upsells.products>h2{font-size:26px;margin-bottom:22px}

/* Product meta / SKU */
.woocommerce div.product .product_meta{font-size:13px;color:var(--text-2);margin-top:14px}
.woocommerce div.product .product_meta a{color:var(--navy)}

/* ---------- Cart ---------- */
.woocommerce table.shop_table{
  border:1px solid var(--rule);border-radius:var(--r-lg);border-collapse:separate;border-spacing:0;
  background:var(--paper);font-size:14.5px;overflow:hidden;
}
.woocommerce table.shop_table th{
  font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-2);background:var(--bg);font-weight:500;padding:14px;
}
.woocommerce table.shop_table td{border-top:1px solid var(--rule);padding:14px}
.woocommerce table.shop_table img{width:64px;border:1px solid var(--rule);border-radius:var(--r-md);background:#fff;padding:5px}
.woocommerce table.shop_table .product-name a{color:var(--text);font-weight:600}
.woocommerce .quantity .qty{min-height:40px;border:1px solid var(--rule-strong);border-radius:var(--r-md);font-family:var(--ff-mono)}
.woocommerce-Price-amount{font-family:var(--ff-mono)}
.woocommerce table.shop_table tfoot td,.woocommerce table.shop_table tfoot th{font-weight:500}
.woocommerce .cart-collaterals .cart_totals{width:46%;float:right}
.woocommerce .cart-collaterals .cart_totals h2{font-size:22px;margin-bottom:16px}
.woocommerce-cart .wc-proceed-to-checkout{padding:18px 0}

/* ---------- Checkout & forms ---------- */
.woocommerce form .form-row label{font-size:13.5px;font-weight:600;margin-bottom:6px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.select2-container--default .select2-selection--single{
  min-height:46px;padding:10px 13px;background:var(--paper);border:1px solid var(--rule-strong);
  border-radius:var(--r-md);font-size:15px;line-height:1.6;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:24px;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(10,23,48,.09);outline:none}
.woocommerce-checkout #payment{
  background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);
}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--rule)}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600}
.woocommerce-checkout #payment div.payment_box{background:var(--bg);border-radius:var(--r-md);font-size:13.5px}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce h1,.woocommerce h2,.woocommerce h3,.woocommerce-checkout .woocommerce-billing-fields h3{
  font-family:var(--ff-display);letter-spacing:-.015em;color:var(--text);
}
.woocommerce .woocommerce-billing-fields h3,.woocommerce .woocommerce-additional-fields h3,
.woocommerce-checkout #payment h3,#order_review_heading{font-size:18px}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sm);margin-bottom:6px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;font-size:14px;color:var(--text)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--navy);color:#fff;border-radius:var(--r-sm)}

/* ---------- Responsive ---------- */
@media (max-width:1120px){
  .woocommerce ul.products{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
  .woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%;float:none}
  .woocommerce .cart-collaterals .cart_totals{width:100%;float:none}
}
@media (max-width:620px){
  .woocommerce ul.products{grid-template-columns:1fr}
}
