.fp-woo-wrap ul.products{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;
  list-style:none;margin:40px 0;padding:0;
}
.fp-woo-wrap ul.products li.product{
  background:var(--fp-charcoal-2);border:1px solid var(--fp-charcoal-3);border-radius:4px;padding:20px;
}
.fp-woo-wrap ul.products li.product a{text-decoration:none;color:var(--fp-off-white);}
.fp-woo-wrap ul.products li.product img{border-radius:3px;margin-bottom:14px;aspect-ratio:1;object-fit:cover;}
.fp-woo-wrap ul.products li.product h2,
.fp-woo-wrap ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--fp-font-head);font-size:16px;margin:8px 0;font-weight:700;
}
.fp-woo-wrap .price{font-family:var(--fp-font-mono);color:var(--fp-lime);}
.fp-woo-wrap .button{
  background:var(--fp-lime);color:var(--fp-charcoal-2)!important;border:none;border-radius:3px;
  padding:12px 20px;font-family:var(--fp-font-head);font-weight:700;text-decoration:none;display:inline-block;
}
.fp-woo-wrap .woocommerce-breadcrumb{
  font-family:var(--fp-font-mono);font-size:11px;color:var(--fp-steel);margin-bottom:30px;
}
.fp-woo-wrap .woocommerce-ordering select,
.fp-woo-wrap .woocommerce-widget-layered-nav select{
  background:var(--fp-charcoal-2);border:1px solid var(--fp-border);color:var(--fp-off-white);padding:8px;border-radius:3px;
}

/* Cart */
.fp-woo-wrap table.shop_table{width:100%;border-collapse:collapse;font-family:var(--fp-font-head);}
.fp-woo-wrap table.shop_table th,
.fp-woo-wrap table.shop_table td{border-bottom:1px solid var(--fp-charcoal-3);padding:14px 10px;text-align:left;}
.fp-woo-wrap #order_review, .fp-woo-wrap .cart_totals{
  background:var(--fp-charcoal-2);border:1px solid var(--fp-charcoal-3);border-radius:4px;padding:24px;
}

/* Forms (checkout, account) */
.fp-woo-wrap input[type=text], .fp-woo-wrap input[type=email], .fp-woo-wrap input[type=tel],
.fp-woo-wrap input[type=password], .fp-woo-wrap textarea, .fp-woo-wrap select{
  background:var(--fp-charcoal-2);border:1px solid var(--fp-border);color:var(--fp-off-white);
  padding:10px 12px;border-radius:3px;font-family:var(--fp-font-head);width:100%;
}
.fp-woo-wrap label{font-size:13px;color:var(--fp-off-white-dim);}

/* Hide native number input spinner (we use custom -/+ buttons instead) */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button{
  -webkit-appearance:none;margin:0;
}
input[type=number]{
  -moz-appearance:textfield;
}

/* My Account (login/register/dashboard) */
.fp-woo-wrap .woocommerce-form-login,
.fp-woo-wrap .woocommerce-form-register{
  background:var(--fp-charcoal-2);border:1px solid var(--fp-charcoal-3);border-radius:6px;
  padding:32px;max-width:420px;
}
.fp-woo-wrap .woocommerce-form-row{margin-bottom:16px;}
.fp-woo-wrap .woocommerce-Button,
.fp-woo-wrap button.button{
  background:var(--fp-lime)!important;color:var(--fp-charcoal-2)!important;border:none!important;
  border-radius:3px;padding:12px 24px;font-family:var(--fp-font-head);font-weight:700;cursor:pointer;
}
.fp-woo-wrap .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border:1px solid var(--fp-charcoal-3);border-radius:4px;overflow:hidden;}
.fp-woo-wrap .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--fp-charcoal-3);}
.fp-woo-wrap .woocommerce-MyAccount-navigation li:last-child{border-bottom:none;}
.fp-woo-wrap .woocommerce-MyAccount-navigation a{
  display:block;padding:14px 18px;text-decoration:none;color:var(--fp-off-white-dim);
  font-family:var(--fp-font-mono);font-size:13px;letter-spacing:.05em;
}
.fp-woo-wrap .woocommerce-MyAccount-navigation li.is-active a{color:var(--fp-lime);background:var(--fp-charcoal-2);}
.fp-woo-wrap .woocommerce-MyAccount-content{
  background:var(--fp-charcoal-2);border:1px solid var(--fp-charcoal-3);border-radius:4px;padding:28px;
}
.fp-woo-wrap .woocommerce-MyAccount-navigation{margin-bottom:0;}
@media (min-width:768px){
  .fp-woo-wrap .woocommerce-account-content-wrap,
  .fp-woo-wrap .woocommerce-MyAccount-content{}
}

/* Checkout — distraction-free feel */
#customer_details,
#order_review{
  background:var(--fp-charcoal-2);border:1px solid var(--fp-charcoal-3);border-radius:6px;padding:28px;margin-bottom:20px;
}
.woocommerce-checkout-review-order-table{width:100%;}
#place_order{width:100%;padding:16px;font-size:16px;font-weight:700;}

/* Checkout: payment method list */
.fp-woo-wrap ul.wc_payment_methods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.fp-woo-wrap ul.wc_payment_methods li.wc_payment_method{
  border:1px solid var(--fp-border);border-radius:4px;padding:16px 18px;background:var(--fp-charcoal);
}
.fp-woo-wrap ul.wc_payment_methods li.wc_payment_method label{color:var(--fp-off-white);font-family:var(--fp-font-head);font-weight:600;}
.fp-woo-wrap ul.wc_payment_methods li.wc_payment_method .payment_box{
  background:var(--fp-charcoal-2);border-radius:3px;padding:14px;margin-top:12px;font-size:13px;color:#9a9a92;
}
.fp-woo-wrap #payment{background:transparent;border:none;}
.fp-woo-wrap .woocommerce-terms-and-conditions-wrapper{margin:16px 0;font-size:13px;color:#9a9a92;}

/* Step numbering to match design (Contact / Verzendadres / Betaalmethode) */
#customer_details h3,
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
#payment h3{
  font-family:var(--fp-font-head);font-weight:700;font-size:20px;letter-spacing:-.01em;
  display:flex;align-items:center;gap:12px;margin:0 0 18px;
}

/* Sticky order summary sidebar on wide screens */
#order_review{ position:sticky; top:24px; }
#order_review .shop_table{ font-family:var(--fp-font-head); }
#order_review .shop_table td, #order_review .shop_table th{ border-color:var(--fp-charcoal-3); }
.order-total .woocommerce-Price-amount{ font-weight:800; font-size:22px; }

/* Payment method radio list */
ul.wc_payment_methods{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
ul.wc_payment_methods li.wc_payment_method{
  border:1px solid #232323; border-radius:4px; padding:14px 16px;
}
ul.wc_payment_methods li.wc_payment_method label{ font-family:var(--fp-font-head); font-weight:600; font-size:15px; }
ul.wc_payment_methods li.payment_method_selected,
ul.wc_payment_methods li.wc_payment_method:has(input:checked){
  border-color:var(--fp-lime); background:#15200a;
}
ul.wc_payment_methods input[type=radio]{ accent-color:var(--fp-lime); margin-right:10px; }
.payment_box{ font-family:var(--fp-font-head); font-size:13px; color:#9a9a92; padding-top:10px; }

/* Terms checkbox */
.woocommerce-terms-and-conditions-wrapper label{ font-size:12px; line-height:1.5; color:#9a9a92; }
#terms{ accent-color:var(--fp-lime); margin-right:8px; }

/* Coupon field */
.checkout_coupon input[type=text]{ background:var(--fp-charcoal); }
.checkout_coupon button{ background:transparent!important; color:var(--fp-off-white)!important; border:1px solid var(--fp-border)!important; }

@media (max-width:900px){
  .woocommerce-checkout .col2-set,
  form.checkout{ display:block!important; }
  #order_review{ position:static; margin-top:20px; }
}
