/* ============================================================
   HeizMax® Shop — WooCommerce cart, checkout, account, notices
   (loaded only on shop pages; product/shop templates live in style.css)
   ============================================================ */
.shp-phead .wrap{padding-block:clamp(2.2rem,5vw,3.4rem)}
.shp-page{padding-top:clamp(2rem,4vw,3rem)}
.shp-wc{font-size:.97rem}

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error,
body .woocommerce-message,body .woocommerce-info,body .woocommerce-error{
  list-style:none;margin:0 0 1.6rem;padding:1rem 1.2rem 1rem 3rem;border:1px solid var(--line-d);border-left:4px solid var(--steel);
  border-radius:12px;background:#fff;color:var(--ink);position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;font-size:.95rem}
body .woocommerce-message::before,body .woocommerce-info::before,body .woocommerce-error::before{
  content:"";position:absolute;left:1.1rem;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--steel);font-family:inherit}
body .woocommerce-message{border-left-color:#1d7a3e}body .woocommerce-message::before{background:#1d7a3e}
body .woocommerce-error{border-left-color:var(--red)}body .woocommerce-error::before{background:var(--red)}
.woocommerce-error li{list-style:none;margin:0}
.woocommerce-message .button,.woocommerce-info .button{order:2;margin-left:auto}

/* ---------- Buttons + fields ---------- */
.shp-wc .button,.shp-info .button,.woocommerce-message .button,.woocommerce-info .button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--display);font-weight:700;font-size:.92rem;
  padding:.85rem 1.4rem;border-radius:100px;border:1.5px solid var(--line-d);background:#fff;color:var(--ink);cursor:pointer;
  transition:background .25s,color .25s,border-color .25s,transform .25s;line-height:1.2;text-decoration:none}
.shp-wc .button:hover{border-color:var(--ink);transform:translateY(-2px)}
.shp-wc .button.alt,.shp-wc .checkout-button,.shp-wc #place_order,.woocommerce-message .button{
  background:var(--red);border-color:var(--red);color:#fff}
.shp-wc .button.alt:hover,.shp-wc .checkout-button:hover,.shp-wc #place_order:hover{background:#c4161c;border-color:#c4161c;color:#fff}
.shp-wc .button:disabled,.shp-wc .button[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.shp-wc .input-text,.shp-wc select,.shp-wc textarea,.shp-wc input[type=email],.shp-wc input[type=tel],.shp-wc input[type=password],.shp-wc input[type=text]{
  width:100%;font:inherit;font-size:.95rem;padding:.8rem 1rem;border:1.5px solid var(--line-d);border-radius:12px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.shp-wc .input-text:focus,.shp-wc select:focus,.shp-wc textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(227,30,36,.12)}
.shp-wc label{font-size:.82rem;font-weight:600;color:var(--ink-2);margin-bottom:.35rem;display:block}
.shp-wc .required{color:var(--red);text-decoration:none;border:0}
.shp-wc .form-row{margin:0 0 1rem;padding:0}
.shp-wc .select2-container .select2-selection--single{height:48px;border:1.5px solid var(--line-d);border-radius:12px}
.shp-wc .select2-container .select2-selection--single .select2-selection__rendered{line-height:45px;padding-left:1rem}
.shp-wc .select2-container .select2-selection--single .select2-selection__arrow{height:46px}

/* ---------- Tables (cart, order review, orders) ---------- */
.shp-wc table.shop_table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line-d);border-radius:16px;overflow:hidden;margin:0 0 1.6rem}
.shp-wc table.shop_table th{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;text-align:left;padding:1rem 1.1rem;background:var(--paper)}
.shp-wc table.shop_table td{padding:1rem 1.1rem;border-top:1px solid var(--line-d);vertical-align:middle}
.shp-wc table.shop_table tfoot th,.shp-wc table.shop_table tfoot td{background:#fff;font-family:inherit;font-size:.92rem;text-transform:none;letter-spacing:0;color:var(--ink)}
.shp-wc table.shop_table .order-total th,.shp-wc table.shop_table .order-total td{font-family:var(--display);font-weight:800;font-size:1.1rem}
.shp-wc .product-name a{font-family:var(--display);font-weight:700;color:var(--ink)}
.shp-wc .product-name a:hover{color:var(--red)}
.shp-wc .product-thumbnail img{width:76px;height:76px;object-fit:contain;background:#f3f3f3;border-radius:10px;padding:4px}
.shp-wc .product-remove a.remove{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--paper-2);color:var(--ink)!important;font-size:1.1rem;text-decoration:none}
.shp-wc .product-remove a.remove:hover{background:var(--red);color:#fff!important}
.shp-wc .quantity .qty{width:76px;text-align:center}
.shp-wc td.actions{background:var(--paper)}
.shp-wc td.actions .coupon{display:none}
.shp-wc td.actions .button[name=update_cart]{float:right}
.shp-wc small.tax_label,.shp-wc .includes_tax,.shp-wc .woocommerce-Price-taxLabel{font-family:var(--mono);font-size:.62rem;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}

/* ---------- Cart layout: items left, totals right ---------- */
.woocommerce-cart .shp-wc>.woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(1.4rem,3vw,2.4rem);align-items:start}
.woocommerce-cart .shp-wc>.woocommerce>.woocommerce-notices-wrapper{grid-column:1 / -1}
.woocommerce-cart .cart-collaterals{position:sticky;top:110px}
.woocommerce-cart .cart_totals{background:#fff;border:1px solid var(--line-d);border-radius:18px;padding:1.4rem;width:100%;float:none}
.woocommerce-cart .cart_totals h2{font-family:var(--display);font-weight:800;font-size:1.3rem;margin-bottom:1rem}
.woocommerce-cart .cart_totals table.shop_table{border:0;border-radius:0;margin:0}
.woocommerce-cart .cart_totals table.shop_table th,.woocommerce-cart .cart_totals table.shop_table td{padding:.75rem 0;background:#fff;border-top:1px solid var(--line-d)}
.woocommerce-cart .cart_totals table.shop_table tr:first-child th,.woocommerce-cart .cart_totals table.shop_table tr:first-child td{border-top:0}
.woocommerce-cart .wc-proceed-to-checkout{padding:1.2rem 0 0}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{width:100%;padding:1rem;font-size:1rem}
.cart-empty.woocommerce-info{font-size:1.05rem}
.return-to-shop .button{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}

/* ---------- Checkout: details left, order + payment right ---------- */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-template-areas:"cust head" "cust review";column-gap:clamp(1.4rem,3vw,2.6rem);align-items:start}
.woocommerce-checkout form.checkout>.woocommerce-NoticeGroup{grid-column:1 / -1}
.woocommerce-checkout #customer_details{grid-area:cust}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none;width:100%;max-width:none}
.woocommerce-checkout #order_review_heading{grid-area:head;font-family:var(--display);font-weight:800;font-size:1.3rem;margin:0 0 1rem}
.woocommerce-checkout #order_review{grid-area:review;background:#fff;border:1px solid var(--line-d);border-radius:18px;padding:1.3rem;position:sticky;top:110px}
.woocommerce-checkout #order_review table.shop_table{border:0;border-radius:0;margin-bottom:1rem}
.woocommerce-checkout #order_review table.shop_table th,.woocommerce-checkout #order_review table.shop_table td{padding:.7rem 0;background:#fff}
.woocommerce-checkout #order_review table.shop_table thead th{border-top:0}
.woocommerce-checkout .woocommerce-billing-fields>h3,.woocommerce-checkout .woocommerce-additional-fields>h3,.woocommerce-checkout #ship-to-different-address{font-family:var(--display);font-weight:800;font-size:1.3rem;margin:0 0 1rem}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row{grid-column:1 / -1;width:100%;float:none}
.woocommerce-checkout #billing_first_name_field,.woocommerce-checkout #billing_last_name_field,.woocommerce-checkout #billing_postcode_field,.woocommerce-checkout #billing_city_field,.woocommerce-checkout #billing_phone_field,.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #shipping_first_name_field,.woocommerce-checkout #shipping_last_name_field,.woocommerce-checkout #shipping_postcode_field,.woocommerce-checkout #shipping_city_field{grid-column:span 1!important}
.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields{margin-top:1.6rem}
.woocommerce-checkout #ship-to-different-address label{display:flex;align-items:center;gap:.6rem;font-size:1.05rem;font-weight:700}
#payment{background:none}
#payment ul.payment_methods{list-style:none;margin:0 0 1rem;padding:0;border:0;display:grid;gap:.55rem}
#payment ul.payment_methods li{border:1.5px solid var(--line-d);border-radius:12px;padding:.8rem 1rem;background:#fff}
#payment ul.payment_methods li:has(input:checked){border-color:var(--red);background:rgba(227,30,36,.03)}
#payment ul.payment_methods li label{display:inline;font-size:.95rem;font-weight:700;color:var(--ink);margin:0 0 0 .4rem;cursor:pointer}
#payment ul.payment_methods li img{display:inline-block;max-height:22px;vertical-align:middle;margin-left:.4rem}
#payment div.payment_box{background:var(--paper)!important;border-radius:10px;padding:.8rem 1rem;margin:.7rem 0 0;font-size:.88rem;color:var(--ink-2)}
#payment div.payment_box::before{display:none}
#payment .place-order{padding:0;margin:0}
#payment #place_order{width:100%;padding:1.05rem;font-size:1.02rem;margin-top:.6rem}
.shp-wc .woocommerce-terms-and-conditions-wrapper{font-size:.85rem;color:var(--ink-2);margin-bottom:.6rem}
.shp-wc .woocommerce-privacy-policy-text p{font-size:.8rem;color:var(--muted)}
.shp-wc .shp-b2b{background:var(--paper);border-radius:10px;padding:.75rem .9rem!important;margin:.4rem 0 .6rem!important}
.shp-wc .shp-b2b label,.shp-wc .woocommerce-terms-and-conditions-wrapper label{display:flex;gap:.55rem;align-items:flex-start;font-size:.86rem;font-weight:600;margin:0}
.shp-wc .shp-b2b input,.shp-wc .woocommerce-terms-and-conditions-wrapper input{margin-top:.2rem;accent-color:var(--red)}
.shp-wc .shp-legal{font-size:.8rem;color:var(--muted);margin:.2rem 0 .4rem}
.shp-wc .shp-legal a,.shp-wc .woocommerce-terms-and-conditions-wrapper a{color:var(--red);text-decoration:underline;text-underline-offset:2px}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,.woocommerce-checkout .woocommerce-form-coupon-toggle{grid-column:1 / -1}
.woocommerce-checkout .woocommerce-form-coupon-toggle{display:none}

/* ---------- Thank-you + account ---------- */
.woocommerce-order .woocommerce-thankyou-order-received{font-family:var(--display);font-weight:800;font-size:clamp(1.3rem,2.4vw,1.7rem);margin-bottom:1.4rem;color:#1d7a3e}
.woocommerce-order ul.order_details{list-style:none;padding:1.2rem;margin:0 0 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;background:#fff;border:1px solid var(--line-d);border-radius:16px}
.woocommerce-order ul.order_details li{font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:0;margin:0;padding:0;float:none}
.woocommerce-order ul.order_details li strong{display:block;font-family:var(--display);font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink);margin-top:.3rem}
.woocommerce-order h2{font-family:var(--display);font-weight:800;font-size:1.3rem;margin:1.6rem 0 1rem}
.woocommerce-customer-details address{border:1px solid var(--line-d);border-radius:14px;padding:1.1rem;background:#fff;font-style:normal;line-height:1.7}
.woocommerce-account .shp-wc>.woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(1.4rem,3vw,2.4rem);align-items:start}
.woocommerce-MyAccount-navigation{float:none!important;width:auto!important}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:.5rem;background:#fff;border:1px solid var(--line-d);border-radius:16px}
.woocommerce-MyAccount-navigation li a{display:block;padding:.7rem .9rem;border-radius:10px;font-weight:600;color:var(--ink)}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--paper-2);color:var(--red)}
.woocommerce-MyAccount-content{float:none!important;width:auto!important}
.woocommerce-account:not(.logged-in) .shp-wc>.woocommerce{display:block;max-width:520px}
.woocommerce-form-login{background:#fff;border:1px solid var(--line-d)!important;border-radius:18px!important;padding:1.4rem!important;margin:0!important}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .woocommerce-cart .shp-wc>.woocommerce,.woocommerce-checkout form.checkout,.woocommerce-account .shp-wc>.woocommerce{display:block}
  .woocommerce-cart .cart-collaterals,.woocommerce-checkout #order_review{position:static}
  .woocommerce-checkout #order_review_heading{margin-top:2rem}
}
@media(max-width:768px){
  .shp-wc table.shop_table_responsive thead{display:none}
  .shp-wc table.shop_table_responsive tr{display:block;border-top:1px solid var(--line-d)}
  .shp-wc table.shop_table_responsive tr td{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:0;padding:.55rem 1rem;text-align:right}
  .shp-wc table.shop_table_responsive tr td::before{content:attr(data-title);font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left}
  .shp-wc table.shop_table_responsive tr td.product-remove::before,.shp-wc table.shop_table_responsive tr td.actions::before,.shp-wc table.shop_table_responsive tr td.product-thumbnail::before{display:none}
  .shp-wc td.actions{display:block!important}
  .shp-wc td.actions .button[name=update_cart]{float:none;width:100%}
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper>.form-row{grid-column:1 / -1!important}
}
