/* ============================================================
   PZ CHECKOUT CSS — Cart / Checkout / Thank You redesign v2
   New classes only. Relies on pz-frontend.css base components.
   Mobile-first. Breakpoints: 600px (tablet), 960px (desktop).
   ============================================================ */

/* --- Field & label base (WC adds these classes) --- */
.pz-field{margin-bottom:14px}
.pz-label{display:block;font-size:12px;font-weight:600;color:var(--pz-gray-600);margin-bottom:4px}

/* --- WC billing/shipping form grid overrides --- */
.woocommerce-billing-fields .form-row,
.woocommerce-shipping-fields .form-row{margin-bottom:12px}
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr;gap:12px}
.woocommerce-billing-fields__field-wrapper .form-row input,
.woocommerce-shipping-fields__field-wrapper .form-row input,
.woocommerce-billing-fields__field-wrapper .form-row select,
.woocommerce-shipping-fields__field-wrapper .form-row select{width:100%;padding:12px;min-height:44px;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);font-size:14px;background:#fff;color:var(--pz-gray-900);outline:none}
.woocommerce-billing-fields__field-wrapper .form-row input:focus,
.woocommerce-shipping-fields__field-wrapper .form-row input:focus,
.woocommerce-billing-fields__field-wrapper .form-row select:focus,
.woocommerce-shipping-fields__field-wrapper .form-row select:focus{border-color:var(--pz-primary);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.woocommerce-billing-fields__field-wrapper label,
.woocommerce-shipping-fields__field-wrapper label{display:block;font-size:12px;font-weight:600;color:var(--pz-gray-600);margin-bottom:4px}

/* --- WC notice styling --- */
.woocommerce-error,.woocommerce-message,.woocommerce-info{padding:14px 18px;border-radius:var(--pz-r-lg);font-size:13px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px;list-style:none}
.woocommerce-error{background:var(--pz-danger-lighter);border:1px solid var(--pz-danger-light);color:var(--pz-danger)}
.woocommerce-message{background:var(--pz-success-lighter);border:1px solid var(--pz-success-light);color:var(--pz-success)}
.woocommerce-info{background:var(--pz-info-light);border:1px solid var(--pz-info);color:var(--pz-info)}
.woocommerce-error li,.woocommerce-message li,.woocommerce-info li{list-style:none}

/* --- WooCommerce cart overrides (merged from premium) --- */
.woocommerce-cart-form .pz-cart-item a.remove{display:none}
.woocommerce .pz-cart-item .product-name a,.woocommerce-page .pz-cart-item a{text-decoration:none}
.woocommerce .pz-card-premium .pz-card-b.np{padding:0}
.woocommerce table.shop_table{border:none}
.woocommerce .pz-sum-row .woocommerce-shipping-methods{list-style:none;padding:0;margin:0;font-size:13px}
.woocommerce .pz-sum-row .woocommerce-shipping-methods li{margin:0;padding:2px 0}
.woocommerce .pz-sum-row .woocommerce-shipping-methods label{font-size:13px;font-weight:400}

/* --- Progress stepper --- */
.pz-progress{display:flex;align-items:center;background:#fff;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-xl);padding:3px;margin-bottom:16px;box-shadow:var(--pz-s-sm)}
.pz-progress-step{flex:1;padding:10px 8px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:600;color:var(--pz-gray-400);border-radius:var(--pz-r-lg);transition:all .3s var(--pz-ease)}
.pz-progress-step.done{color:var(--pz-success)}
.pz-progress-step.active{color:var(--pz-primary);background:var(--pz-primary-light);box-shadow:var(--pz-s-sm)}
.pz-progress-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:700;background:var(--pz-gray-200);transition:all .3s var(--pz-ease)}
.pz-progress-step.done .pz-progress-dot{background:var(--pz-success);color:#fff}
.pz-progress-step.active .pz-progress-dot{background:var(--pz-primary);color:#fff;box-shadow:0 2px 8px rgba(59,130,246,.35)}
.pz-progress-label{font-size:11px}
.pz-progress-connector{flex:1;display:flex;align-items:center;justify-content:center;flex-shrink:1;min-width:12px;max-width:60px;padding:0 2px}
.pz-progress-connector-line{height:2px;width:100%;background:var(--pz-gray-200);border-radius:1px;transition:background .3s}
.pz-progress-connector.done .pz-progress-connector-line{background:var(--pz-success)}

/* Progress stepper — dots+lines variant (form-checkout.php) */
.pz-progress-dot--default{background:var(--pz-gray-100);color:var(--pz-gray-400);border:2px solid var(--pz-gray-200)}
.pz-progress-dot--active{background:var(--pz-primary);color:#fff;border:2px solid var(--pz-primary);box-shadow:0 0 0 4px var(--pz-primary-lighter)}
.pz-progress-dot--done{background:var(--pz-success);color:#fff;border:2px solid var(--pz-success)}
.pz-progress-label--active{color:var(--pz-primary);font-weight:600}
.pz-progress-label--done{color:var(--pz-success);font-weight:600}
.pz-progress-line{flex:1;height:3px;background:var(--pz-gray-200);margin:0 -4px;position:relative;top:-10px}
.pz-progress-line--done{background:var(--pz-success)}

/* --- Vendor group header --- */
.pz-vendor-hd{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--pz-gray-50);border-bottom:1px solid var(--pz-gray-100);font-size:12px;font-weight:600;color:var(--pz-gray-600)}
.pz-vendor-hd .mi{font-size:16px;color:var(--pz-primary)}

/* --- Cart item --- */
.pz-cart-item{display:flex;align-items:flex-start;gap:12px;padding:16px;border-bottom:1px solid var(--pz-gray-100);transition:background .15s,opacity .3s,max-height .3s,padding .3s}
.pz-cart-item:last-child{border-bottom:none}
.pz-cart-item:hover{background:var(--pz-gray-50)}
.pz-cart-thumb{width:68px;height:68px;background:linear-gradient(135deg,var(--pz-gray-50),var(--pz-gray-100));border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.pz-cart-thumb img{width:100%;height:100%;object-fit:contain}
.pz-cart-thumb .mi{color:var(--pz-gray-300);font-size:26px}
/* .pz-cart-img — alias used in cart.php */
.pz-cart-img{width:64px;height:64px;background:var(--pz-gray-50);border:1px solid var(--pz-gray-100);border-radius:var(--pz-r-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.pz-cart-img img{width:100%;height:100%;object-fit:contain}
.pz-cart-info{flex:1;min-width:0}
.pz-cart-name{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pz-gray-900)}
.pz-cart-name a{color:inherit;text-decoration:none}
.pz-cart-name a:hover{color:var(--pz-primary)}
.pz-cart-meta{font-size:11px;color:var(--pz-gray-400);margin-top:2px}
.pz-cart-fitment{font-size:11px;color:var(--pz-gray-400);margin-top:3px;display:flex;align-items:center;gap:3px}
.pz-cart-fitment .mi{font-size:12px}
.pz-cart-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:8px}
.pz-cart-price{font-size:16px;font-weight:800;color:var(--pz-gray-900)}
.pz-cart-each{font-size:11px;color:var(--pz-gray-400);font-weight:400}
.pz-cart-unit{font-size:11px;color:var(--pz-gray-400)}
.pz-cart-stock{font-size:11px;display:flex;align-items:center;gap:3px;margin-top:4px}
.pz-cart-stock.in{color:var(--pz-success)}
.pz-cart-stock.out{color:var(--pz-danger)}
.pz-cart-stock .mi{font-size:13px}
.pz-cart-remove{min-width:36px;min-height:36px;padding:4px;align-self:flex-start;border:1px solid var(--pz-gray-100);background:var(--pz-gray-50);cursor:pointer;border-radius:var(--pz-r-sm);transition:all .15s;display:flex;align-items:center;justify-content:center;text-decoration:none}
.pz-cart-remove:hover{background:var(--pz-danger-lighter);border-color:var(--pz-danger-light)}
.pz-cart-remove:hover .mi{color:var(--pz-danger)}
.pz-cart-remove:focus-visible{outline:2px solid var(--pz-primary);outline-offset:2px}
.pz-cart-remove .mi{font-size:18px}

/* --- Qty (pill style — merged from premium) --- */
.pz-qty-pill{display:inline-flex;align-items:center;background:var(--pz-gray-50);border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-full);overflow:hidden}
.pz-qty-pill button{width:36px;height:36px;border:none;background:transparent;cursor:pointer;font-size:16px;font-weight:700;color:var(--pz-gray-600);transition:all .1s;padding:0;margin:0;line-height:1;display:flex;align-items:center;justify-content:center}
.pz-qty-pill button:hover{background:var(--pz-gray-200);color:var(--pz-gray-900)}
.pz-qty-pill input,.pz-qty-pill input.qty,.pz-qty-pill input[type="number"]{width:36px;height:36px;text-align:center;font-weight:800;font-size:14px;line-height:36px;border:none;background:transparent;outline:none;-moz-appearance:textfield;padding:0;margin:0;min-height:auto;box-shadow:none}
.pz-qty-pill input::-webkit-outer-spin-button,.pz-qty-pill input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* --- Savings banner (merged from premium) --- */
.pz-savings{display:flex;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(135deg,var(--pz-success-lighter),var(--pz-success-light));border-radius:var(--pz-r-xl);margin-bottom:8px}
.pz-savings-icon{width:40px;height:40px;border-radius:50%;background:var(--pz-success);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pz-savings-icon .mi{font-size:20px;color:#fff}
.pz-savings-text{font-size:13px;font-weight:700;color:var(--pz-success)}
.pz-savings-sub{font-size:11px;color:var(--pz-gray-500)}

/* --- Premium button overrides (merged from premium) --- */
.pz-btn--gradient{background:linear-gradient(135deg,var(--pz-primary),var(--pz-primary-dark));color:#fff;box-shadow:0 4px 14px rgba(59,130,246,.35);border:none}
.pz-btn--gradient:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,.45)}
.pz-btn--gradient:active{transform:translateY(0);box-shadow:0 2px 8px rgba(59,130,246,.3)}

/* --- Premium card (elevated — merged from premium) --- */
.pz-card-premium{background:#fff;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-xl);overflow:hidden;box-shadow:var(--pz-s-sm);transition:box-shadow .25s var(--pz-ease)}
.pz-card-premium:hover{box-shadow:var(--pz-s-md)}
.pz-card-premium .pz-card-hd{border-bottom:1px solid var(--pz-gray-100)}
.pz-card-premium .pz-card-t .mi{color:var(--pz-primary)}

/* --- Badge (primary tint — merged from premium) --- */
.pz-badge-primary{background:var(--pz-primary-light);color:var(--pz-primary)}

/* --- Summary --- */
.pz-sum-row{display:flex;justify-content:space-between;padding:5px 0;font-size:13px}
.pz-sum-row .lbl{color:var(--pz-gray-400)}
.pz-sum-row .val{font-weight:600}
.pz-sum-label{color:var(--pz-gray-400)}
.pz-sum-total{display:flex;justify-content:space-between;padding:12px 0 4px;border-top:2px solid var(--pz-gray-900);margin-top:8px;font-size:18px;font-weight:800}
.pz-trust-msg{text-align:center;font-size:11px;color:var(--pz-success);font-weight:600;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:4px}
.pz-trust-msg .mi{font-size:14px}
.pz-free-ship{background:var(--pz-success-lighter);border-radius:var(--pz-r-sm);padding:6px 10px;font-size:11px;font-weight:600;color:var(--pz-success);display:flex;align-items:center;gap:4px;margin-bottom:8px}
.pz-free-ship .mi{font-size:14px}

/* --- Security strip (merged from premium) --- */
.pz-sec-strip{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;margin-top:12px;border-top:1px solid var(--pz-gray-100);flex-wrap:wrap}
.pz-sec-item{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--pz-gray-400)}
.pz-sec-item .mi{font-size:14px}

/* --- Out of stock --- */
.pz-oos-hd{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--pz-warning-lighter);border-bottom:1px solid var(--pz-warning-light);font-size:12px;font-weight:600;color:#92400e}
.pz-oos-hd .mi{font-size:16px;color:var(--pz-warning)}
.pz-oos-item{display:flex;align-items:center;gap:12px;padding:12px 16px;opacity:.55;border-bottom:1px solid var(--pz-gray-100);transition:opacity .3s,max-height .3s,padding .3s}
.pz-oos-item:last-child{border-bottom:none}

/* --- Delivery type selector (horizontal by default) --- */
.pz-delivery-opt{display:flex;gap:10px;margin-bottom:16px;flex-direction:row}
.pz-delivery-btn{flex:1;display:flex;align-items:center;gap:10px;padding:14px;border:2px solid var(--pz-gray-200);border-radius:var(--pz-r-lg);cursor:pointer;background:#fff;transition:all .2s var(--pz-ease);font-family:var(--pz-font)}
.pz-delivery-btn:hover{border-color:var(--pz-gray-300);box-shadow:var(--pz-s-sm)}
.pz-delivery-btn.on{border-color:var(--pz-primary);background:var(--pz-primary-light);box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.pz-delivery-btn .mi{font-size:22px;color:var(--pz-gray-400);transition:color .2s}
.pz-delivery-btn.on .mi{color:var(--pz-primary)}
.pz-delivery-title{font-size:13px;font-weight:700;color:var(--pz-gray-800)}
.pz-delivery-sub{font-size:11px;color:var(--pz-gray-500)}
.pz-delivery-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--pz-gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;margin-left:auto}
.pz-delivery-btn.on .pz-delivery-radio{border-color:var(--pz-primary);background:var(--pz-primary)}
.pz-delivery-dot{width:8px;height:8px;border-radius:50%;background:#fff;display:none}
.pz-delivery-btn.on .pz-delivery-dot{display:block}

/* --- Payment radios --- */
.pz-pay-opt{display:flex;align-items:center;gap:12px;padding:14px;border:2px solid var(--pz-gray-200);border-radius:var(--pz-r-lg);cursor:pointer;background:#fff;transition:all .2s var(--pz-ease);margin-bottom:8px}
.pz-pay-opt:hover{border-color:var(--pz-gray-300);box-shadow:var(--pz-s-sm)}
.pz-pay-opt.on{border-color:var(--pz-primary);background:var(--pz-primary-light);box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.pz-pay-emoji{font-size:24px;line-height:1;flex-shrink:0}
.pz-pay-info{flex:1}
.pz-pay-name{font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px}
.pz-pay-desc{font-size:11px;color:var(--pz-gray-500)}
.pz-pay-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--pz-gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}
.pz-pay-opt.on .pz-pay-radio{border-color:var(--pz-primary);background:var(--pz-primary)}
.pz-pay-dot{width:8px;height:8px;border-radius:50%;background:#fff;display:none}
.pz-pay-opt.on .pz-pay-dot{display:block}

/* --- Payment method cards (legacy variant from premium) --- */
.pz-pay-method{display:flex;align-items:center;gap:14px;padding:16px;border:2px solid var(--pz-gray-200);border-radius:var(--pz-r-xl);cursor:pointer;transition:all .2s var(--pz-ease)}
.pz-pay-method:hover{border-color:var(--pz-gray-300);box-shadow:var(--pz-s-sm)}
.pz-pay-method.selected{border-color:var(--pz-primary);background:var(--pz-primary-light);box-shadow:0 0 0 4px rgba(59,130,246,.1)}
.pz-pay-method.selected .pz-pay-radio{border-color:var(--pz-primary);background:var(--pz-primary)}
.pz-pay-method.selected .pz-pay-radio::after{content:'';width:7px;height:7px;background:#fff;border-radius:50%}

/* --- M-Pesa info --- */
.pz-mpesa-info{background:var(--pz-success-lighter);border:1px solid var(--pz-success-light);border-radius:var(--pz-r-md);padding:12px;font-size:12px;color:var(--pz-gray-600);line-height:1.7;margin-top:8px}
.pz-mpesa-info strong{color:var(--pz-success);display:flex;align-items:center;gap:4px;margin-bottom:4px}
.pz-mpesa-info strong .mi{font-size:16px}

/* --- Card payment form (toggle) --- */
.pz-card-form{display:none;margin-top:12px;animation:pzSlideDown .2s ease}
.pz-card-form.show{display:block}

/* --- Checkout order items (mini list) --- */
.pz-co-item{display:flex;gap:10px;padding:10px 16px;border-bottom:1px solid var(--pz-gray-100);align-items:center}
.pz-co-item:last-child{border-bottom:none}
.pz-co-thumb{width:40px;height:40px;background:linear-gradient(135deg,var(--pz-gray-50),var(--pz-gray-100));border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden}
.pz-co-thumb img{width:100%;height:100%;object-fit:contain}
.pz-co-thumb .mi{font-size:16px;color:var(--pz-gray-300)}
.pz-co-qty{position:absolute;top:-5px;right:-5px;width:18px;height:18px;border-radius:50%;background:var(--pz-primary);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(59,130,246,.3)}
.pz-co-name{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.pz-co-sku{font-size:10px;color:var(--pz-gray-400);font-family:var(--pz-mono)}
.pz-co-price{font-size:12px;font-weight:700;white-space:nowrap}

/* --- Review item thumbnails in checkout sidebar (merged from premium) --- */
.pz-review-item{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.pz-review-thumb{width:40px;height:40px;background:var(--pz-gray-50);border-radius:var(--pz-r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--pz-gray-100);overflow:hidden}
.pz-review-thumb img{width:100%;height:100%;object-fit:contain}
.pz-review-name{flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pz-review-qty{font-size:12px;font-weight:700;flex-shrink:0;color:var(--pz-gray-400)}

/* --- Collapsible items (sidebar + mobile) --- */
.pz-items-collapse{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--pz-gray-100)}
.pz-items-toggle{display:flex;align-items:center;justify-content:space-between;padding:8px 0;cursor:pointer;list-style:none;user-select:none}
.pz-items-toggle::-webkit-details-marker{display:none}
.pz-items-toggle::after{content:'expand_more';font-family:'Material Icons Outlined';font-size:20px;color:var(--pz-gray-400);transition:transform .25s var(--pz-ease);flex-shrink:0;margin-left:8px}
.pz-items-collapse[open] .pz-items-toggle::after{transform:rotate(180deg)}
.pz-items-preview{display:flex;align-items:center;gap:0}
.pz-items-preview-thumb{width:32px;height:32px;border-radius:var(--pz-r-sm);border:2px solid #fff;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--pz-gray-50);flex-shrink:0;box-shadow:0 0 0 1px var(--pz-gray-100)}
.pz-items-preview-thumb:not(:first-child){margin-left:-8px}
.pz-items-preview-thumb img{width:100%;height:100%;object-fit:contain}
.pz-items-preview-more{width:32px;height:32px;border-radius:var(--pz-r-sm);border:2px solid #fff;background:var(--pz-gray-100);color:var(--pz-gray-500);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:-8px}
.pz-items-count{font-size:12px;font-weight:600;color:var(--pz-gray-500);white-space:nowrap}
.pz-items-list{padding-top:8px}
.pz-items-list .pz-review-item:last-child{margin-bottom:0}

/* --- Sidebar coupon field --- */
.pz-coupon-sidebar{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--pz-gray-100)}
.pz-coupon-row{display:flex;gap:6px}
.pz-coupon-row input{flex:1;min-width:0;padding:8px 10px;min-height:36px;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);font-size:13px;background:#fff;color:var(--pz-gray-900);outline:none;transition:border-color var(--pz-dur) var(--pz-ease),box-shadow var(--pz-dur) var(--pz-ease)}
.pz-coupon-row input:focus{border-color:var(--pz-primary);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.pz-coupon-row input::placeholder{color:var(--pz-gray-400)}
.pz-coupon-row button{padding:8px 14px;min-height:36px;font-size:12px;font-weight:700;color:#fff;background:var(--pz-primary);border:none;border-radius:var(--pz-r-md);cursor:pointer;white-space:nowrap;transition:background .15s}
.pz-coupon-row button:hover{background:var(--pz-primary-dark)}
.pz-coupon-row button:disabled{opacity:.6;cursor:not-allowed}
.pz-coupon-msg{font-size:11px;margin-top:6px;line-height:1.4}
.pz-coupon-msg:empty{display:none}
.pz-coupon-ok{color:var(--pz-success)}
.pz-coupon-err{color:var(--pz-danger)}
.pz-coupon-msg .woocommerce-error,.pz-coupon-msg .woocommerce-message{padding:0;margin:0;border:none;background:none;box-shadow:none;font-size:11px;display:inline}
.pz-coupon-msg .woocommerce-error li,.pz-coupon-msg .woocommerce-message li{list-style:none}

/* --- Hide WC duplicate product rows in order review (keep tfoot totals) --- */
#pz-checkout-summary .woocommerce-checkout-review-order-table thead,
#pz-checkout-summary .woocommerce-checkout-review-order-table tbody{display:none}
.pz-order-review-toggle .woocommerce-checkout-review-order-table thead,
.pz-order-review-toggle .woocommerce-checkout-review-order-table tbody{display:none}

/* --- Style WC order review tfoot (subtotal/shipping/VAT/total) --- */
#pz-checkout-summary .woocommerce-checkout-review-order-table,
.pz-order-review-toggle .woocommerce-checkout-review-order-table{border:none;border-collapse:collapse;width:100%}
#pz-checkout-summary .woocommerce-checkout-review-order-table tfoot th,
#pz-checkout-summary .woocommerce-checkout-review-order-table tfoot td,
.pz-order-review-toggle .woocommerce-checkout-review-order-table tfoot th,
.pz-order-review-toggle .woocommerce-checkout-review-order-table tfoot td{padding:10px 0;border-bottom:1px solid var(--pz-gray-100);font-size:13px;font-weight:400;color:var(--pz-gray-600);text-align:left}
#pz-checkout-summary .woocommerce-checkout-review-order-table tfoot td,
.pz-order-review-toggle .woocommerce-checkout-review-order-table tfoot td{text-align:right;font-weight:600;color:var(--pz-gray-900)}
#pz-checkout-summary .woocommerce-checkout-review-order-table tfoot tr:last-child th,
#pz-checkout-summary .woocommerce-checkout-review-order-table tfoot tr:last-child td,
.pz-order-review-toggle .woocommerce-checkout-review-order-table tfoot tr:last-child th,
.pz-order-review-toggle .woocommerce-checkout-review-order-table tfoot tr:last-child td{font-size:16px;font-weight:800;color:var(--pz-gray-900);border-bottom:none;border-top:2px solid var(--pz-gray-900);padding-top:12px}

/* --- Shipping methods inside WC review tfoot --- */
#pz-checkout-summary .woocommerce-shipping-methods,
.pz-order-review-toggle .woocommerce-shipping-methods{list-style:none;padding:0;margin:0}
#pz-checkout-summary .woocommerce-shipping-methods li,
.pz-order-review-toggle .woocommerce-shipping-methods li{padding:2px 0;font-size:13px}
#pz-checkout-summary .woocommerce-shipping-methods label,
.pz-order-review-toggle .woocommerce-shipping-methods label{font-size:13px;font-weight:400;cursor:pointer}
#pz-checkout-summary .woocommerce-shipping-methods input[type="radio"],
.pz-order-review-toggle .woocommerce-shipping-methods input[type="radio"]{accent-color:var(--pz-primary);margin-right:6px}

/* --- Place Order button inside sidebar review --- */
#pz-checkout-summary .woocommerce-checkout-payment{margin-top:16px;overflow:hidden}
#pz-checkout-summary .woocommerce-checkout-payment img,
#pz-checkout-summary .woocommerce-checkout-payment svg{max-width:100%;height:auto}
#pz-checkout-summary .payment_box{overflow:hidden;word-break:break-word}
#pz-checkout-summary .payment_box img{max-width:100%;height:auto}
#pz-checkout-summary #place_order{width:100%;padding:14px 24px;min-height:48px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--pz-primary),var(--pz-primary-dark));border:none;border-radius:var(--pz-r-lg);cursor:pointer;box-shadow:0 4px 14px rgba(59,130,246,.35);transition:all .2s var(--pz-ease);letter-spacing:.3px}
#pz-checkout-summary #place_order:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,.45)}
#pz-checkout-summary #place_order:active{transform:translateY(0);box-shadow:0 2px 8px rgba(59,130,246,.3)}
#pz-checkout-summary #place_order:focus-visible{outline:2px solid var(--pz-primary);outline-offset:2px}

/* --- Terms inside sidebar review --- */
#pz-checkout-summary .woocommerce-terms-and-conditions-wrapper{margin:12px 0;font-size:12px;color:var(--pz-gray-500)}
#pz-checkout-summary .woocommerce-terms-and-conditions-wrapper a{color:var(--pz-primary)}

/* --- Thank You hero (gradient bg — merged from premium) --- */
.pz-ty-hero{text-align:center;padding:40px 20px;background:linear-gradient(180deg,var(--pz-success-lighter) 0%,var(--pz-gray-50) 100%);border-radius:var(--pz-r-xl);margin-bottom:24px}
.pz-ty-icon{width:88px;height:88px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:0 4px 20px rgba(16,185,129,.2);animation:pzBounceIn .6s var(--pz-ease)}
@keyframes pzBounceIn{0%{transform:scale(0)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
.pz-ty-title{font-size:28px;font-weight:900;margin-top:20px;letter-spacing:-.5px}
.pz-ty-sub{font-size:14px;color:var(--pz-gray-500);margin-top:8px;max-width:360px;margin-left:auto;margin-right:auto}

/* --- WC order-received wrapper (constrains the full-width WC container) --- */
.woocommerce-order{max-width:720px;margin:0 auto;background:var(--pz-gray-50);padding:0}

/* --- Thank You container (responsive replacement for inline max-width) --- */
.pz-ty-container{width:100%;max-width:600px;margin:0 auto;padding:20px}

/* --- Timeline (thank-you page) --- */
.pz-timeline{padding:16px}
.pz-tl-step{display:flex;gap:14px}
.pz-tl-track{display:flex;flex-direction:column;align-items:center}
.pz-tl-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s}
.pz-tl-dot.done{background:var(--pz-success-light)}
.pz-tl-dot.active{background:var(--pz-primary-light);outline:2px solid var(--pz-primary);outline-offset:-2px;animation:pzPulse 2s ease infinite}
.pz-tl-dot.pending{background:var(--pz-gray-100)}
/* Dot-wrap variant (thankyou.php) */
.pz-tl-dot-wrap{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0}
.pz-tl-dot--active{background:var(--pz-success);color:#fff;box-shadow:0 0 0 4px var(--pz-success-light)}
.pz-tl-dot--pending{background:var(--pz-gray-100);color:var(--pz-gray-400)}
.pz-tl-line{width:2px;flex:1;min-height:24px;margin:4px 0;border-radius:1px}
.pz-tl-line.done{background:var(--pz-success)}
.pz-tl-line.pending{background:var(--pz-gray-200)}
.pz-tl-line--done{background:var(--pz-success)}
.pz-tl-line--pending{background:var(--pz-gray-200)}
.pz-tl-content{padding-bottom:20px}
.pz-tl-label{font-size:13px;font-weight:700}
.pz-tl-label.pending{color:var(--pz-gray-400)}
.pz-tl-sub{font-size:11px;color:var(--pz-gray-400);margin-top:1px}
.pz-tl-title{font-size:13px;font-weight:700}
.pz-tl-desc{font-size:11px;color:var(--pz-gray-400);margin-top:2px}

/* --- Thank you item row (merged from premium) --- */
.pz-ty-item{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--pz-gray-100)}
.pz-ty-item:last-child{border-bottom:none}
.pz-ty-item-img{width:48px;height:48px;background:var(--pz-gray-50);border:1px solid var(--pz-gray-100);border-radius:var(--pz-r-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.pz-ty-item-img img{width:100%;height:100%;object-fit:contain}
.pz-ty-item-info{flex:1;min-width:0}
.pz-ty-item-name{font-size:13px;font-weight:700}
.pz-ty-item-qty{font-size:11px;color:var(--pz-gray-400)}
.pz-ty-item-price{font-size:14px;font-weight:800}

/* --- Detail row (merged from premium) --- */
.pz-detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--pz-gray-100);font-size:13px}
.pz-detail-row:last-child{border-bottom:none}
.pz-detail-label{color:var(--pz-gray-400)}
.pz-detail-value{font-weight:600}
.pz-detail-total{font-size:20px;font-weight:900;border-top:2px solid var(--pz-gray-900);padding-top:14px;margin-top:4px;border-bottom:none}

/* --- Escrow banner (merged — gradient from premium) --- */
.pz-escrow{background:linear-gradient(135deg,var(--pz-success-lighter),var(--pz-success-light));border:1px solid var(--pz-success-light);border-radius:var(--pz-r-xl);padding:14px 20px;font-size:13px;color:var(--pz-success);font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px}
.pz-escrow .mi{font-size:16px}

/* --- Share row (merged from premium) --- */
.pz-share{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:12px;color:var(--pz-gray-400)}
.pz-share-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--pz-gray-200);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;color:var(--pz-gray-500)}
.pz-share-btn:hover{border-color:var(--pz-primary);color:var(--pz-primary);background:var(--pz-primary-light)}
.pz-share-btn:focus-visible{outline:2px solid var(--pz-primary);outline-offset:2px}

/* --- Thank you actions (merged from premium) --- */
.pz-ty-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}

/* --- Processing overlay --- */
.pz-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:380px;gap:20px;text-align:center;padding:40px}
.pz-processing-spinner{width:64px;height:64px;border:4px solid var(--pz-gray-200);border-top-color:var(--pz-primary);border-radius:50%;animation:pzSpin .8s linear infinite}

/* --- Inline field row --- */
.pz-fields-row{display:flex;flex-wrap:wrap;gap:12px}
.pz-fields-row .pz-field{flex:1 1 100%}
.pz-fields-row .pz-field.half{flex:1 1 calc(50% - 6px)}
.pz-input-icon{position:relative}
.pz-input-icon .mi{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--pz-gray-400);pointer-events:none;transition:color .15s}
.pz-input-icon .pz-input{padding-left:34px}

/* --- Validation states --- */
.pz-input.error{border-color:var(--pz-danger);background:var(--pz-danger-lighter);box-shadow:0 0 0 3px rgba(239,68,68,.1)}
.pz-input.error:focus{border-color:var(--pz-danger);box-shadow:0 0 0 3px rgba(239,68,68,.15)}
.pz-error-msg{font-size:11px;color:var(--pz-danger);margin-top:3px;display:none;align-items:center;gap:3px}
.pz-error-msg.show{display:flex}
.pz-error-msg .mi{font-size:13px}

/* --- Order badge (copyable) --- */
.pz-order-badge{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:#fff;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-full);padding:8px 18px;cursor:pointer;transition:all .2s;box-shadow:var(--pz-s-sm)}
.pz-order-badge:hover{box-shadow:var(--pz-s-md);border-color:var(--pz-primary-lighter)}
.pz-order-badge:active{transform:scale(.97)}

/* --- Shipment status badge --- */
.pz-ship-status{margin-left:auto;display:inline-flex;align-items:center;gap:3px}

/* --- Sticky sidebar --- */
.pz-sidebar{height:fit-content;position:sticky;top:16px}

/* --- Remove link (OOS items) --- */
.pz-remove-link{background:none;border:none;cursor:pointer;font-size:11px;color:var(--pz-primary);text-decoration:underline;font-family:var(--pz-font);padding:0}

/* --- Success button variant --- */
.pz-btn--success{background:var(--pz-success);color:#fff;border-color:var(--pz-success)}
.pz-btn--success:hover{background:var(--pz-success-dark,#059669);box-shadow:0 4px 12px rgba(16,185,129,.3)}
.pz-btn--success:active{transform:scale(.97)}

/* --- Sticky mobile CTA bar --- */
.pz-sticky-cta{position:fixed;bottom:52px;left:0;right:0;background:#fff;border-top:1px solid var(--pz-gray-200);padding:12px 16px;z-index:101;transform:translateY(100%);transition:transform .3s var(--pz-ease);box-shadow:0 -4px 16px rgba(0,0,0,.08);display:flex;align-items:center;gap:12px}
.pz-sticky-cta.visible{transform:translateY(0)}
.pz-sticky-cta .pz-sticky-total{font-size:16px;font-weight:800;flex-shrink:0}
.pz-sticky-cta .pz-btn{flex:1}

/* --- Mobile order review collapsible --- */
.pz-order-review-toggle{width:100%}
.pz-order-review-toggle summary{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-size:13px;font-weight:700;cursor:pointer;list-style:none;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-lg);background:#fff}
.pz-order-review-toggle summary::-webkit-details-marker{display:none}
.pz-order-review-toggle summary::after{content:'expand_more';font-family:'Material Icons Outlined';font-size:20px;color:var(--pz-gray-400);transition:transform .2s}
.pz-order-review-toggle[open] summary::after{transform:rotate(180deg)}

/* --- Animations --- */
@keyframes pzPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
@keyframes pzSpin{to{transform:rotate(360deg)}}
@keyframes pzSlideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes pzPulse{0%,100%{outline-offset:-2px}50%{outline-offset:2px}}
@keyframes pzShake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-3px)}20%,40%,60%,80%{transform:translateX(3px)}}

/* ============================================================
   REGULAR WC CHECKOUT — body.pz-checkout-page
   Styles for the native WooCommerce /checkout/ page (non-WFACP).
   Covers: #place_order, Select2, validation, login/coupon toggles,
   form-field grid, and general layout polish.
   ============================================================ */

/* --- Place Order button (native WC) --- */
body.pz-checkout-page #place_order{width:100%;padding:14px 24px;min-height:48px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--pz-primary),var(--pz-primary-dark));border:none;border-radius:var(--pz-r-lg);cursor:pointer;box-shadow:0 4px 14px rgba(59,130,246,.35);transition:all .2s var(--pz-ease);letter-spacing:.3px}
body.pz-checkout-page #place_order:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,.45)}
body.pz-checkout-page #place_order:active{transform:translateY(0);box-shadow:0 2px 8px rgba(59,130,246,.3)}
body.pz-checkout-page #place_order:focus-visible{outline:2px solid var(--pz-primary);outline-offset:2px}

/* --- Select2 dropdowns (WC country/state pickers) --- */
body.pz-checkout-page .select2-container .select2-selection--single{min-height:44px;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);padding:10px 12px;background:#fff;transition:border-color var(--pz-dur) var(--pz-ease),box-shadow var(--pz-dur) var(--pz-ease)}
body.pz-checkout-page .select2-container .select2-selection--single .select2-selection__rendered{color:var(--pz-gray-900);font-size:14px;line-height:22px;padding:0}
body.pz-checkout-page .select2-container .select2-selection--single .select2-selection__arrow{height:44px;right:8px}
body.pz-checkout-page .select2-container--open .select2-selection--single{border-color:var(--pz-primary);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
body.pz-checkout-page .select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--pz-gray-400)}
/* Select2 dropdown panel */
body.pz-checkout-page .select2-dropdown{border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);box-shadow:var(--pz-s-lg);overflow:hidden}
body.pz-checkout-page .select2-results__option{padding:10px 12px;font-size:14px;color:var(--pz-gray-700);transition:background .1s}
body.pz-checkout-page .select2-results__option--highlighted[aria-selected]{background:var(--pz-primary-light);color:var(--pz-primary)}
body.pz-checkout-page .select2-results__option[aria-selected="true"]{background:var(--pz-primary);color:#fff}
body.pz-checkout-page .select2-search--dropdown .select2-search__field{padding:10px 12px;min-height:44px;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);font-size:14px;outline:none}
body.pz-checkout-page .select2-search--dropdown .select2-search__field:focus{border-color:var(--pz-primary);box-shadow:0 0 0 3px rgba(59,130,246,.12)}

/* --- WC validation states --- */
body.pz-checkout-page .woocommerce-invalid .input-text,
body.pz-checkout-page .woocommerce-invalid input,
body.pz-checkout-page .woocommerce-invalid select{border-color:var(--pz-danger);background:var(--pz-danger-lighter);box-shadow:0 0 0 3px rgba(239,68,68,.1)}
body.pz-checkout-page .woocommerce-invalid .input-text:focus,
body.pz-checkout-page .woocommerce-invalid input:focus,
body.pz-checkout-page .woocommerce-invalid select:focus{border-color:var(--pz-danger);box-shadow:0 0 0 3px rgba(239,68,68,.15)}
body.pz-checkout-page .woocommerce-invalid .select2-selection--single{border-color:var(--pz-danger);background:var(--pz-danger-lighter);box-shadow:0 0 0 3px rgba(239,68,68,.1)}
body.pz-checkout-page .woocommerce-validated .input-text,
body.pz-checkout-page .woocommerce-validated input,
body.pz-checkout-page .woocommerce-validated select{border-color:var(--pz-success)}
body.pz-checkout-page .woocommerce-validated .select2-selection--single{border-color:var(--pz-success)}

/* --- WC login/coupon toggle bars --- */
body.pz-checkout-page .woocommerce-form-login-toggle .woocommerce-info,
body.pz-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info{background:var(--pz-gray-50);border:1px solid var(--pz-gray-200);color:var(--pz-gray-700);border-radius:var(--pz-r-lg);padding:14px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--pz-dur) var(--pz-ease)}
body.pz-checkout-page .woocommerce-form-login-toggle .woocommerce-info:hover,
body.pz-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info:hover{background:var(--pz-primary-light);border-color:var(--pz-primary-lighter)}
body.pz-checkout-page .woocommerce-form-login-toggle .woocommerce-info a,
body.pz-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info a{color:var(--pz-primary);font-weight:700;text-decoration:none}
/* Expanded login/coupon forms */
body.pz-checkout-page .woocommerce-form-login,
body.pz-checkout-page .checkout_coupon{background:#fff;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-lg);padding:16px;margin-bottom:16px;box-shadow:var(--pz-s-sm)}
body.pz-checkout-page .woocommerce-form-login p,
body.pz-checkout-page .checkout_coupon p{margin:0 0 12px;font-size:13px;color:var(--pz-gray-600)}
body.pz-checkout-page .woocommerce-form-login label,
body.pz-checkout-page .checkout_coupon label{display:block;font-size:12px;font-weight:600;color:var(--pz-gray-600);margin-bottom:4px}
body.pz-checkout-page .woocommerce-form-login input[type="text"],
body.pz-checkout-page .woocommerce-form-login input[type="password"],
body.pz-checkout-page .woocommerce-form-login input[type="email"],
body.pz-checkout-page .checkout_coupon input[type="text"]{width:100%;padding:10px 12px;min-height:44px;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);font-size:14px;background:#fff;color:var(--pz-gray-900);outline:none;transition:border-color var(--pz-dur) var(--pz-ease),box-shadow var(--pz-dur) var(--pz-ease);box-sizing:border-box}
body.pz-checkout-page .woocommerce-form-login input:focus,
body.pz-checkout-page .checkout_coupon input:focus{border-color:var(--pz-primary);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
body.pz-checkout-page .woocommerce-form-login button,
body.pz-checkout-page .checkout_coupon button{padding:10px 18px;min-height:44px;font-size:13px;font-weight:600;color:#fff;background:var(--pz-primary);border:none;border-radius:var(--pz-r-md);cursor:pointer;transition:background .15s}
body.pz-checkout-page .woocommerce-form-login button:hover,
body.pz-checkout-page .checkout_coupon button:hover{background:var(--pz-primary-dark)}

/* --- WC form field 2-column grid (billing/shipping) --- */
body.pz-checkout-page .woocommerce-billing-fields__field-wrapper,
body.pz-checkout-page .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr;gap:12px}
/* Full-width fields that should never split */
body.pz-checkout-page .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
body.pz-checkout-page .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
body.pz-checkout-page .woocommerce-billing-fields__field-wrapper #billing_company_field,
body.pz-checkout-page .woocommerce-billing-fields__field-wrapper #billing_email_field,
body.pz-checkout-page .woocommerce-shipping-fields__field-wrapper #shipping_address_1_field,
body.pz-checkout-page .woocommerce-shipping-fields__field-wrapper #shipping_address_2_field,
body.pz-checkout-page .woocommerce-shipping-fields__field-wrapper #shipping_company_field{grid-column:1 / -1}
/* Payment methods inside pz-card-premium */
body.pz-checkout-page .pz-card-premium .wc_payment_methods{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
body.pz-checkout-page .pz-card-premium .wc_payment_method{padding:12px;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);transition:all .15s}
body.pz-checkout-page .pz-card-premium .wc_payment_method:has(input:checked){border-color:var(--pz-primary);background:var(--pz-primary-light)}
body.pz-checkout-page .pz-card-premium .payment_method_title{font-size:14px;font-weight:600}
body.pz-checkout-page .pz-card-premium .payment_box{font-size:12px;color:var(--pz-gray-500);margin-top:8px;padding-top:8px;border-top:1px solid var(--pz-gray-100);overflow:hidden;word-break:break-word}
body.pz-checkout-page .pz-card-premium .payment_box img,
body.pz-checkout-page .pz-card-premium .payment_box svg{max-width:100%;height:auto;display:inline-block}
body.pz-checkout-page .pz-card-premium .payment_box p{margin:0 0 6px;line-height:1.5}
body.pz-checkout-page .pz-card-premium .payment_box iframe{max-width:100%}
/* Terms wrapper */
body.pz-checkout-page .woocommerce-terms-and-conditions-wrapper{margin:12px 0;font-size:12px;color:var(--pz-gray-500)}
body.pz-checkout-page .woocommerce-terms-and-conditions-wrapper a{color:var(--pz-primary)}

/* ============================================================
   WFACP (FunnelKit) Checkout Override
   Targets the canvas template used on /checkout/ and /checkouts/*
   Scoped to body.wfacp_checkout-template to avoid side-effects.
   ============================================================ */

/* --- Page base --- */
body.wfacp_checkout-template{font-family:var(--pz-font);font-size:14px;color:var(--pz-gray-900);background:var(--pz-gray-50);-webkit-font-smoothing:antialiased;line-height:1.5}

/* --- Template container --- */
body.wfacp_checkout-template .wfacp-template-container{max-width:520px;margin:0 auto;padding:16px;background:#fff;min-height:100vh}

/* --- Constrain all images inside WFACP container --- */
body.wfacp_checkout-template .wfacp-template-container img{max-width:100%;height:auto}

/* --- Logo / header area (first child is usually the logo paragraph) --- */
body.wfacp_checkout-template .wfacp-template-container>p:first-child{text-align:center;padding:16px 0 12px;margin-bottom:0}
body.wfacp_checkout-template .wfacp-template-container>p:first-child img{max-height:32px;width:auto;display:inline-block;margin:0 auto}

/* --- SSL / trust badge --- */
body.wfacp_checkout-template .wfacp-template-container>ul:first-of-type{list-style:none;padding:0;margin:0 0 16px;text-align:center;font-size:11px;color:var(--pz-gray-400)}
body.wfacp_checkout-template .wfacp-template-container>ul:first-of-type li{display:inline-flex;align-items:center;gap:4px}

/* --- Section headings --- */
body.wfacp_checkout-template h2{font-size:15px;font-weight:700;color:var(--pz-gray-800);padding:16px 0 8px;margin:8px 0 0;border-top:1px solid var(--pz-gray-100);letter-spacing:-.2px}
body.wfacp_checkout-template h2:first-of-type{border-top:none;margin-top:0}
body.wfacp_checkout-template h4{font-size:13px;font-weight:600;color:var(--pz-gray-600);margin:4px 0 8px}

/* --- Form fields (p.form-row wrappers) --- */
body.wfacp_checkout-template #wfacp_checkout_form p[id$="_field"]{margin:0 0 12px;padding:0}
body.wfacp_checkout-template #wfacp_checkout_form label{display:block;font-size:12px;font-weight:600;color:var(--pz-gray-500);margin-bottom:4px}
body.wfacp_checkout-template #wfacp_checkout_form input[type="text"],
body.wfacp_checkout-template #wfacp_checkout_form input[type="email"],
body.wfacp_checkout-template #wfacp_checkout_form input[type="tel"],
body.wfacp_checkout-template #wfacp_checkout_form input[type="number"],
body.wfacp_checkout-template #wfacp_checkout_form input[type="search"],
body.wfacp_checkout-template #wfacp_checkout_form select,
body.wfacp_checkout-template #wfacp_checkout_form textarea{width:100%;padding:10px 12px;min-height:44px;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);font-size:14px;background:#fff;color:var(--pz-gray-900);outline:none;transition:border-color var(--pz-dur) var(--pz-ease),box-shadow var(--pz-dur) var(--pz-ease);box-sizing:border-box}
body.wfacp_checkout-template #wfacp_checkout_form input:focus,
body.wfacp_checkout-template #wfacp_checkout_form select:focus,
body.wfacp_checkout-template #wfacp_checkout_form textarea:focus{border-color:var(--pz-primary);box-shadow:0 0 0 3px rgba(59,130,246,.12)}

/* --- Checkbox + label inline --- */
body.wfacp_checkout-template #wfacp_checkout_form input[type="checkbox"]{width:18px;height:18px;accent-color:var(--pz-primary);vertical-align:middle;margin-right:6px}
body.wfacp_checkout-template #wfacp_checkout_form p[id$="_field"] label:has(input[type="checkbox"]){display:inline-flex;align-items:center;font-size:13px;color:var(--pz-gray-700);cursor:pointer}

/* --- Shipping methods --- */
body.wfacp_checkout-template ul#shipping_method{list-style:none;padding:0;margin:0 0 16px}
body.wfacp_checkout-template ul#shipping_method li{padding:10px 12px;margin-bottom:6px;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);font-size:13px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .15s var(--pz-ease)}
body.wfacp_checkout-template ul#shipping_method li:hover{border-color:var(--pz-primary-lighter);background:var(--pz-primary-light)}
body.wfacp_checkout-template ul#shipping_method input[type="radio"]{accent-color:var(--pz-primary)}

/* --- Payment section --- */
body.wfacp_checkout-template .wc_payment_methods{list-style:none;padding:0;margin:0 0 16px}
body.wfacp_checkout-template .wc_payment_method{padding:12px;margin-bottom:8px;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);transition:all .15s}
body.wfacp_checkout-template .wc_payment_method.wc_payment_method--selected,
body.wfacp_checkout-template .wc_payment_method:has(input:checked){border-color:var(--pz-primary);background:var(--pz-primary-light)}
body.wfacp_checkout-template .payment_method_title{font-size:14px;font-weight:600}
body.wfacp_checkout-template .payment_box{font-size:12px;color:var(--pz-gray-500);margin-top:8px;padding-top:8px;border-top:1px solid var(--pz-gray-100)}

/* --- Place Order button --- */
body.wfacp_checkout-template #place_order{width:100%;padding:14px 24px;min-height:48px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--pz-primary),var(--pz-primary-dark));border:none;border-radius:var(--pz-r-lg);cursor:pointer;box-shadow:0 4px 14px rgba(59,130,246,.35);transition:all .2s var(--pz-ease);letter-spacing:.3px}
body.wfacp_checkout-template #place_order:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,.45)}
body.wfacp_checkout-template #place_order:active{transform:translateY(0);box-shadow:0 2px 8px rgba(59,130,246,.3)}

/* --- Terms checkbox --- */
body.wfacp_checkout-template .woocommerce-terms-and-conditions-wrapper{margin:12px 0;font-size:12px;color:var(--pz-gray-500)}
body.wfacp_checkout-template .woocommerce-terms-and-conditions-wrapper a{color:var(--pz-primary)}

/* --- Order summary tables --- */
body.wfacp_checkout-template table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:16px}
body.wfacp_checkout-template table td,
body.wfacp_checkout-template table th{padding:8px 0;border-bottom:1px solid var(--pz-gray-100);text-align:left}
body.wfacp_checkout-template table td:last-child,
body.wfacp_checkout-template table th:last-child{text-align:right;font-weight:600}
body.wfacp_checkout-template table tfoot tr:last-child td{font-size:16px;font-weight:800;border-top:2px solid var(--pz-gray-900);border-bottom:none;padding-top:12px}
body.wfacp_checkout-template table img{width:40px;height:40px;object-fit:contain;border-radius:var(--pz-r-sm);border:1px solid var(--pz-gray-100)}
body.wfacp_checkout-template table a{color:var(--pz-gray-800);text-decoration:none;font-weight:600}

/* --- Coupon form --- */
body.wfacp_checkout-template input#coupon_code{padding:10px 12px;min-height:44px;border:1px solid var(--pz-gray-200);border-radius:var(--pz-r-md);font-size:14px;outline:none;flex:1}
body.wfacp_checkout-template input#coupon_code:focus{border-color:var(--pz-primary);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
body.wfacp_checkout-template form:has(#coupon_code){display:flex;gap:8px;align-items:flex-end;margin-bottom:16px}
body.wfacp_checkout-template form:has(#coupon_code) button{padding:10px 16px;min-height:44px;font-size:13px;font-weight:600;color:#fff;background:var(--pz-primary);border:none;border-radius:var(--pz-r-md);cursor:pointer;white-space:nowrap;transition:background .15s}
body.wfacp_checkout-template form:has(#coupon_code) button:hover{background:var(--pz-primary-dark)}

/* --- Wallet balance notice --- */
body.wfacp_checkout-template .wfacp-template-container>p:has(bdi){background:var(--pz-info-light);border:1px solid var(--pz-info);border-radius:var(--pz-r-md);padding:12px 16px;font-size:13px;color:var(--pz-gray-700);margin-bottom:16px}

/* --- Testimonials section (bottom area) --- */
body.wfacp_checkout-template .wfacp-template-container>p:has(>i){padding:12px 16px;font-size:12px;color:var(--pz-gray-500);line-height:1.6;border-bottom:1px solid var(--pz-gray-100)}
body.wfacp_checkout-template .wfacp-template-container>p>i{color:var(--pz-warning);font-style:normal}
body.wfacp_checkout-template .wfacp-template-container>p>em{font-style:italic;color:var(--pz-gray-600);font-size:12px;display:block;margin-top:4px}
body.wfacp_checkout-template .wfacp-template-container>p>strong{font-weight:700;color:var(--pz-gray-700);font-size:12px}
body.wfacp_checkout-template .wfacp-template-container>p:has(>img[src]):not(:first-child){display:flex;align-items:flex-start;gap:12px;padding:16px;border-bottom:1px solid var(--pz-gray-100)}
body.wfacp_checkout-template .wfacp-template-container>p>img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}

/* --- Testimonials heading --- */
body.wfacp_checkout-template .wfacp-template-container>h3{font-size:14px;font-weight:700;color:var(--pz-gray-800);padding:16px 0 8px;margin:8px 0 0;border-top:1px solid var(--pz-gray-100)}

/* --- Trust features list --- */
body.wfacp_checkout-template .wfacp-template-container>ul:last-of-type{list-style:none;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
body.wfacp_checkout-template .wfacp-template-container>ul:last-of-type li{font-size:11px;color:var(--pz-gray-500);display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:var(--pz-gray-50);border-radius:var(--pz-r-full);border:1px solid var(--pz-gray-100)}

/* --- Hide stray BR tags --- */
body.wfacp_checkout-template #wfacp_checkout_form>br{display:none}
body.wfacp_checkout-template .wfacp-template-container>p>br{display:none}
body.wfacp_checkout-template .wfacp-template-container>p{margin:0 0 12px}

/* --- Footer / copyright --- */
body.wfacp_checkout-template .wfacp-template-container>p:last-child{text-align:center;font-size:11px;color:var(--pz-gray-400);padding:20px 0 16px;margin-top:16px;border-top:1px solid var(--pz-gray-100)}

/* --- WC notices inside WFACP --- */
body.wfacp_checkout-template .woocommerce-error,
body.wfacp_checkout-template .woocommerce-message,
body.wfacp_checkout-template .woocommerce-info{padding:12px 16px;border-radius:var(--pz-r-md);font-size:13px;font-weight:600;margin-bottom:12px;list-style:none}

/* ============================================================
   SMALL MOBILE — max-width: 599px
   ============================================================ */
@media(max-width:599px){
  .pz-progress{padding:2px;gap:2px}
  .pz-progress-step{padding:8px 4px;gap:4px;font-size:11px}
  .pz-progress-dot{width:24px;height:24px;font-size:10px}
  .pz-progress-dot--default,
  .pz-progress-dot--active,
  .pz-progress-dot--done{width:24px;height:24px;font-size:10px}
  .pz-progress-label{font-size:9px}
  .pz-progress-connector{min-width:8px;max-width:40px}
  .pz-ty-container{padding:16px 12px}
  /* WFACP small mobile */
  body.wfacp_checkout-template .wfacp-template-container{padding:12px}
}

/* ============================================================
   TABLET — min-width: 600px
   ============================================================ */
@media(min-width:600px){
  .pz-progress-label{display:inline}
  .cart-layout{display:grid;grid-template-columns:1fr 280px;gap:16px}
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr 1fr}
  .pz-ty-container{max-width:720px;padding:24px}
  /* WFACP tablet */
  body.wfacp_checkout-template .wfacp-template-container{max-width:580px;padding:24px;border-radius:var(--pz-r-xl);margin-top:20px;margin-bottom:20px;box-shadow:var(--pz-s-md);min-height:auto}
}

/* ============================================================
   DESKTOP — min-width: 960px
   ============================================================ */
@media(min-width:960px){
  .cart-layout{grid-template-columns:1fr 340px;gap:20px}
  .pz-cart-thumb{width:60px;height:60px}
  .pz-sticky-cta{display:none}
  .pz-order-review-toggle{display:none}
  .pz-ty-container{max-width:860px}
  /* WFACP desktop */
  body.wfacp_checkout-template .wfacp-template-container{max-width:640px;padding:32px 40px;margin-top:32px;margin-bottom:32px}
}

/* ============================================================
   CHECKOUT SLIM — /checkouts/mini/ page-height reduction
   Cuts ~30-40% off mobile page height by hiding duplicates,
   constraining decorative sections, and tightening spacing.
   Scoped to body.wfacp_checkout-template
   ============================================================ */

/* --- 1. Hide duplicate order summary block (Shop Smarter / Your Cart) ---
   The collapsible order summary and mini-cart below the form are duplicates
   of the inline order review inside the form. Hide the entire block.        */
body.wfacp_checkout-template .wfacp_collapsible_order_summary_wrap{display:none}
body.wfacp_checkout-template .wfacp_mini_cart_start_h{display:none}

/* --- 2. Constrain hero / banner image ---
   Any promotional image inside the template container (not logo, not
   product thumbs) gets height-capped with cover crop.                       */
body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="banner"]),
body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="hero"]){max-height:180px;overflow:hidden}
body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="banner"]) img,
body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="hero"]) img{width:100%;height:180px;object-fit:cover}

/* --- 3. Slim testimonials — show only first 2 ---
   Testimonials are <p> tags containing star-rating <img> inside the
   template container after the form. Use :has(>img) combined with
   nth-of-type to hide the 3rd+ testimonial block.
   Structure: heading (h3) → testimonial p → testimonial p → ...            */
body.wfacp_checkout-template .wfacp-template-container>p:has(>img[src*="star"]):nth-of-type(n+4){display:none}
body.wfacp_checkout-template .wfacp-template-container>p:has(>img[src]):not(:first-child):nth-of-type(n+5){display:none}

/* Also hide the quote paragraphs that follow hidden testimonials.
   These are <p> with <em> or <strong> that sit between testimonial imgs. */
body.wfacp_checkout-template .wfacp-template-container>p:has(>img[src*="star"]):nth-of-type(n+4)+p{display:none}
body.wfacp_checkout-template .wfacp-template-container>p:has(>img[src*="star"]):nth-of-type(n+4)+p+p{display:none}

/* Fallback: cap the testimonials area max-height if nth selectors miss */
body.wfacp_checkout-template .wfacp-template-container>h3~p:has(>i){max-height:none}

/* --- 4. Tighten form field spacing --- */
body.wfacp_checkout-template #wfacp_checkout_form p[id$="_field"]{margin:0 0 8px}
body.wfacp_checkout-template #wfacp_checkout_form .wfacp-form-control-wrapper{margin-bottom:8px}
body.wfacp_checkout-template #wfacp_checkout_form .wfacp-section{margin-bottom:12px;padding-bottom:12px}

/* --- 5. Tighten section headings --- */
body.wfacp_checkout-template h2{padding:10px 0 6px;margin:4px 0 0}
body.wfacp_checkout-template h3{font-size:13px;padding:8px 0 4px;margin:4px 0 0}
body.wfacp_checkout-template h4{margin:2px 0 6px}

/* --- 6. Tighten paragraph spacing inside the form --- */
body.wfacp_checkout-template #wfacp_checkout_form p{margin-bottom:8px}
body.wfacp_checkout-template .wfacp-template-container>p{margin:0 0 8px}

/* --- 7. Compact trust badges --- */
body.wfacp_checkout-template .wfacp-template-container>ul:last-of-type{margin:10px 0;gap:6px}
body.wfacp_checkout-template .wfacp-template-container>ul:last-of-type li{padding:4px 8px;font-size:10px}

/* --- 8. Tighten payment section --- */
body.wfacp_checkout-template .wc_payment_method{padding:10px;margin-bottom:6px}
body.wfacp_checkout-template .payment_box{margin-top:6px;padding-top:6px}

/* --- 9. Tighten shipping methods --- */
body.wfacp_checkout-template ul#shipping_method li{padding:8px 10px;margin-bottom:4px}
body.wfacp_checkout-template ul#shipping_method{margin:0 0 12px}

/* --- 10. Reduce order summary table padding --- */
body.wfacp_checkout-template table td,
body.wfacp_checkout-template table th{padding:6px 0}
body.wfacp_checkout-template table{margin-bottom:10px}

/* --- 11. Tighter terms and place-order spacing --- */
body.wfacp_checkout-template .woocommerce-terms-and-conditions-wrapper{margin:8px 0}
body.wfacp_checkout-template #place_order{margin-top:8px}

/* --- 12. Reduce coupon form spacing --- */
body.wfacp_checkout-template form:has(#coupon_code){margin-bottom:10px}

/* Mobile container padding is already 12px via the max-width:599px
   media query (line 464). No additional override needed here. */

/* ---- Tablet (600px+) ---- */
@media(min-width:600px){
  body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="banner"]),
  body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="hero"]){max-height:220px}
  body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="banner"]) img,
  body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="hero"]) img{height:220px}
}

/* ---- Desktop (960px+) ---- */
@media(min-width:960px){
  body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="banner"]),
  body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="hero"]){max-height:250px}
  body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="banner"]) img,
  body.wfacp_checkout-template .wfacp-template-container>div:has(>img[src*="hero"]) img{height:250px}
}

/* ============================================================
   CHECKOUT POLISH — Order notes, coupon bar, wallet notice
   ============================================================ */

/* --- Order notes textarea (native WC checkout) --- */
body.pz-checkout-page #order_comments,
body.pz-checkout-page .woocommerce-additional-fields textarea{
  width:100%;
  min-height:100px;
  padding:12px;
  border:1px solid var(--pz-gray-200);
  border-radius:var(--pz-r-md);
  font-size:14px;
  font-family:var(--pz-font);
  background:#fff;
  color:var(--pz-gray-900);
  outline:none;
  resize:vertical;
  transition:border-color var(--pz-dur) var(--pz-ease),box-shadow var(--pz-dur) var(--pz-ease);
  box-sizing:border-box;
  line-height:1.5
}
body.pz-checkout-page #order_comments:focus,
body.pz-checkout-page .woocommerce-additional-fields textarea:focus{
  border-color:var(--pz-primary);
  box-shadow:0 0 0 3px rgba(59,130,246,.12)
}
body.pz-checkout-page .woocommerce-additional-fields h3{
  font-size:14px;
  font-weight:700;
  color:var(--pz-gray-700);
  margin:16px 0 8px
}
body.pz-checkout-page .woocommerce-additional-fields label{
  font-size:12px;
  font-weight:600;
  color:var(--pz-gray-600);
  margin-bottom:4px;
  display:block
}

/* --- Coupon toggle bar polish --- */
body.pz-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info{
  display:flex;
  align-items:center;
  gap:8px
}
body.pz-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info::before{
  content:'sell';
  font-family:'Material Icons Outlined';
  font-size:18px;
  color:var(--pz-primary);
  line-height:1
}

/* --- Wallet balance notice (tone down) --- */
body.pz-checkout-page .wc-wallet-payment-partial,
body.pz-checkout-page .woocommerce-info:has(.woocommerce-Price-amount),
body.pz-checkout-page .woocommerce-message:has(.woocommerce-Price-amount){
  font-size:12px;
  font-weight:500;
  padding:10px 14px
}

/* --- Ship to different address checkbox --- */
body.pz-checkout-page #ship-to-different-address label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:600;
  color:var(--pz-gray-700);
  cursor:pointer
}
body.pz-checkout-page #ship-to-different-address input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:var(--pz-primary)
}

/* --- Payment radio accent inside left card --- */
body.pz-checkout-page .pz-card-premium .wc_payment_method input[type="radio"]{
  accent-color:var(--pz-primary);
  width:18px;
  height:18px;
  margin-right:8px;
  vertical-align:middle
}
body.pz-checkout-page .pz-card-premium .wc_payment_method label{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  font-weight:600
}
