/* Home Product Hub checkout v1.4 — clean, readable and mobile-first. */
body.woocommerce-checkout{background:var(--hph-bg,#f6f9fb)}
body.woocommerce-checkout .entry-header,body.woocommerce-checkout .entry-title{display:none!important}
body.woocommerce-checkout .entry-content,body.woocommerce-cart .entry-content{width:min(calc(100% - 40px),1240px);margin-inline:auto}
body.woocommerce-checkout .site-main{padding:42px 0 78px}
body.woocommerce-cart .site-main{padding:42px 0 78px}

/* Enclosed checkout header */
.hph-checkout-header{background:#fff;border-bottom:1px solid var(--hph-line);position:relative;z-index:20}
.hph-checkout-header>.hph-shell{min-height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.hph-checkout-header .hph-logo{justify-self:start}
.hph-checkout-header .hph-logo small{display:none}
.hph-checkout-header>div>span{justify-self:center;color:var(--hph-green-dark);font-size:.76rem;font-weight:800;letter-spacing:.02em}
.hph-checkout-header>div>a{justify-self:end;color:var(--hph-ink);text-decoration:none;font-size:.78rem;font-weight:700}

/* Intro and reassurance */
.hph-checkout-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin:0 0 22px}
.hph-checkout-intro h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.03;margin:0;color:var(--hph-ink)}
.hph-checkout-intro>div>p:last-child{max-width:650px;color:var(--hph-muted);margin:.65rem 0 0}
.hph-checkout-intro>a{flex:0 0 auto;text-decoration:none;color:var(--hph-blue-dark);font-size:.82rem;font-weight:800;padding-bottom:3px;border-bottom:1px solid currentColor}
.hph-checkout-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--hph-line);border-radius:14px;overflow:hidden;background:#fff;margin:0 0 26px;box-shadow:0 6px 24px rgba(16,56,85,.04)}
.hph-checkout-trust>div{display:flex;align-items:center;justify-content:center;gap:10px;min-height:72px;padding:13px 16px;border-right:1px solid var(--hph-line)}
.hph-checkout-trust>div:last-child{border-right:0}
.hph-checkout-trust__icon{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;background:#eaf8ef;color:var(--hph-green-dark);font-weight:900}
.hph-checkout-trust strong,.hph-checkout-trust small{display:block}
.hph-checkout-trust strong{font-size:.72rem;line-height:1.25;color:var(--hph-ink)}
.hph-checkout-trust small{font-size:.62rem;line-height:1.35;color:var(--hph-muted);margin-top:2px}

/* Notices and coupon */
body.woocommerce-checkout .woocommerce-notices-wrapper{margin:0 0 18px}
body.woocommerce-checkout .woocommerce-message,body.woocommerce-checkout .woocommerce-info,body.woocommerce-checkout .woocommerce-error{margin:0 0 16px!important;padding:15px 18px!important;border:1px solid var(--hph-line)!important;border-top:3px solid var(--hph-blue)!important;border-radius:12px!important;background:#fff!important;color:var(--hph-ink)!important;box-shadow:none!important}
body.woocommerce-checkout .woocommerce-error{border-top-color:#d83b3b!important;background:#fffafa!important}
body.woocommerce-checkout .woocommerce-error li{margin:4px 0}
body.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:0 0 18px}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{margin:0!important}
body.woocommerce-checkout form.checkout_coupon{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:0 0 20px!important;padding:18px!important;border:1px solid var(--hph-line)!important;border-radius:12px!important;background:#fff!important}
body.woocommerce-checkout form.checkout_coupon>p:first-child{grid-column:1/-1;margin:0;color:var(--hph-muted);font-size:.82rem}
body.woocommerce-checkout form.checkout_coupon .form-row{float:none!important;width:auto!important;margin:0!important}
body.woocommerce-checkout form.checkout_coupon button{min-height:50px!important;padding-inline:24px!important}

/* Classic checkout layout: exactly two direct panels. */
body.woocommerce-checkout form.checkout.woocommerce-checkout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,430px)!important;gap:28px!important;align-items:start;width:100%!important;margin:0!important}
.hph-checkout-details,.hph-checkout-summary{min-width:0;background:#fff;border:1px solid var(--hph-line);border-radius:18px;box-shadow:0 10px 34px rgba(16,56,85,.055)}
.hph-checkout-details{padding:30px clamp(22px,3vw,36px)}
.hph-checkout-summary{position:sticky;top:22px;overflow:hidden;padding:0 24px 24px}

/* Neutralize Astra/Woo floats that caused the broken half-width checkout. */
body.woocommerce-checkout #customer_details,body.woocommerce-checkout .col2-set{float:none!important;width:100%!important;margin:0!important;display:block!important}
body.woocommerce-checkout #customer_details .col-1,body.woocommerce-checkout #customer_details .col-2,body.woocommerce-checkout .col2-set .col-1,body.woocommerce-checkout .col2-set .col-2{float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.woocommerce-checkout #customer_details .col-2{margin-top:24px!important}
body.woocommerce-checkout #order_review_heading,body.woocommerce-checkout #order_review{float:none!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
body.woocommerce-checkout #order_review{position:static!important;top:auto!important;padding:0!important;border:0!important;background:transparent!important}
body.woocommerce-checkout #order_review_heading{margin:0 -24px 18px!important;padding:23px 24px 17px!important;border-bottom:1px solid var(--hph-line);font-size:1.35rem!important;line-height:1.2;background:#fbfdfe}

/* Form hierarchy */
body.woocommerce-checkout .woocommerce-billing-fields>h3,body.woocommerce-checkout .woocommerce-shipping-fields>h3,body.woocommerce-checkout .woocommerce-additional-fields>h3{font-size:1.35rem!important;line-height:1.2;margin:0 0 22px;padding:0 0 14px;border-bottom:1px solid var(--hph-line);color:var(--hph-ink)}
body.woocommerce-checkout .woocommerce-additional-fields{margin-top:28px}
body.woocommerce-checkout .woocommerce-shipping-fields{margin-top:5px}
body.woocommerce-checkout .form-row,body.woocommerce-checkout .form-row-first,body.woocommerce-checkout .form-row-last{float:none!important;width:100%!important;max-width:none!important;margin:0 0 16px!important;padding:0!important;clear:both!important}
body.woocommerce-checkout .form-row label{display:block;margin:0 0 6px;font-size:.73rem;line-height:1.35;font-weight:800;color:var(--hph-ink)}
body.woocommerce-checkout .form-row .optional{color:var(--hph-muted);font-weight:500}
body.woocommerce-checkout .form-row .description{display:block;margin-top:5px;color:var(--hph-muted);font-size:.68rem;line-height:1.45}
body.woocommerce-checkout input.input-text,body.woocommerce-checkout input[type=text],body.woocommerce-checkout input[type=email],body.woocommerce-checkout input[type=tel],body.woocommerce-checkout select,body.woocommerce-checkout textarea,body.woocommerce-checkout .select2-container .select2-selection--single{width:100%!important;min-height:50px!important;border:1px solid #cedbe4!important;border-radius:10px!important;background:#fff!important;color:var(--hph-ink)!important;box-shadow:none!important;font-size:.88rem!important;transition:border-color .16s ease,box-shadow .16s ease}
body.woocommerce-checkout input.input-text,body.woocommerce-checkout input[type=text],body.woocommerce-checkout input[type=email],body.woocommerce-checkout input[type=tel],body.woocommerce-checkout textarea{padding:11px 13px!important}
body.woocommerce-checkout textarea{min-height:104px!important;resize:vertical}
body.woocommerce-checkout .select2-container .select2-selection--single{display:flex!important;align-items:center!important;padding:0 12px!important}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:48px!important;right:8px!important}
body.woocommerce-checkout input:focus,body.woocommerce-checkout select:focus,body.woocommerce-checkout textarea:focus,body.woocommerce-checkout .select2-container--focus .select2-selection{border-color:var(--hph-blue)!important;box-shadow:0 0 0 3px rgba(21,152,220,.12)!important;outline:0!important}
body.woocommerce-checkout .woocommerce-invalid input.input-text,body.woocommerce-checkout .woocommerce-invalid select,body.woocommerce-checkout .woocommerce-invalid .select2-selection{border-color:#d83b3b!important;box-shadow:0 0 0 2px rgba(216,59,59,.08)!important}
body.woocommerce-checkout .woocommerce-validated input.input-text{border-color:#99d7ad!important}
body.woocommerce-checkout .woocommerce-input-wrapper{display:block;width:100%}

/* Order table */
body.woocommerce-checkout .woocommerce-checkout-review-order-table{width:100%!important;border:0!important;border-collapse:collapse!important;margin:0 0 18px!important;table-layout:auto!important}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,body.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:13px 0!important;border:0!important;border-bottom:1px solid var(--hph-line)!important;vertical-align:middle!important;font-size:.8rem;line-height:1.4;word-break:normal!important;overflow-wrap:anywhere}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--hph-muted);font-weight:800}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{text-align:right!important;white-space:nowrap!important;padding-left:14px!important}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th{font-size:.76rem;text-transform:none;letter-spacing:0;color:var(--hph-ink)}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td{font-size:.95rem;font-weight:900;color:var(--hph-ink);border-bottom:0!important;padding-top:16px!important}
.hph-checkout-item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:11px;align-items:center;min-width:0}
.hph-checkout-item__thumb{display:block;width:54px;height:54px;border:1px solid var(--hph-line);border-radius:9px;overflow:hidden;background:#fff}
.hph-checkout-item__thumb img{width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important;float:none!important}
.hph-checkout-item__name{min-width:0;font-weight:700;color:var(--hph-ink);font-size:.76rem;line-height:1.35}
body.woocommerce-checkout .product-quantity{display:inline-block;margin-left:4px;color:var(--hph-muted);font-weight:600}

/* Payment */
body.woocommerce-checkout #payment{margin:12px 0 0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important}
body.woocommerce-checkout #payment ul.payment_methods{margin:0!important;padding:0!important;border:0!important;list-style:none!important}
body.woocommerce-checkout #payment ul.payment_methods li{margin:0 0 10px!important;padding:14px!important;border:1px solid var(--hph-line);border-radius:11px;background:#fff;font-size:.8rem;line-height:1.5}
body.woocommerce-checkout #payment ul.payment_methods li>label{font-weight:800;color:var(--hph-ink)}
body.woocommerce-checkout #payment div.payment_box{margin:12px 0 0!important;padding:12px!important;border-radius:8px!important;background:var(--hph-soft)!important;color:var(--hph-muted)!important;font-size:.74rem!important}
body.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:var(--hph-soft)!important}
body.woocommerce-checkout #payment .woocommerce-info,body.woocommerce-checkout #payment .woocommerce-error{font-size:.76rem!important;line-height:1.55!important;padding:14px!important;margin:10px 0!important;word-break:normal!important;overflow-wrap:break-word!important}
body.woocommerce-checkout #payment .place-order{padding:16px 0 0!important;margin:0!important;background:transparent!important}
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text{color:var(--hph-muted);font-size:.7rem;line-height:1.55;margin-bottom:12px}
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{font-size:.72rem;line-height:1.5}
body.woocommerce-checkout #place_order{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:56px!important;margin-top:14px!important;padding:12px 18px!important;background:var(--hph-green)!important;border-color:var(--hph-green)!important;border-radius:var(--hph-button-radius,10px)!important;color:#fff!important;font-size:.9rem!important;font-weight:850!important;letter-spacing:.01em!important;box-shadow:0 8px 18px rgba(24,162,74,.18)!important}
body.woocommerce-checkout #place_order:hover{background:var(--hph-green-dark)!important;border-color:var(--hph-green-dark)!important;transform:translateY(-1px)}

/* Cart */
body.woocommerce-cart .cart_totals{border:1px solid var(--hph-line);border-radius:16px;padding:24px;background:#fff;box-shadow:0 10px 34px rgba(16,56,85,.05)}
body.woocommerce-cart .checkout-button,.wc-block-cart__submit-button{background:var(--hph-green)!important;color:#fff!important;border-radius:var(--hph-button-radius,10px)!important;min-height:54px!important}

/* WooCommerce Cart / Checkout Blocks */
body.woocommerce-checkout .wp-block-woocommerce-checkout,body.woocommerce-cart .wp-block-woocommerce-cart{width:100%!important;max-width:1240px!important;margin:0 auto!important}
body.woocommerce-checkout .wc-block-components-sidebar-layout{gap:28px!important;align-items:flex-start!important}
body.woocommerce-checkout .wc-block-checkout__main{padding-right:0!important}
body.woocommerce-checkout .wc-block-components-sidebar{position:sticky!important;top:22px!important;border:1px solid var(--hph-line);border-radius:18px;background:#fff;padding:20px!important;box-shadow:0 10px 34px rgba(16,56,85,.055)}
body.woocommerce-checkout .wc-block-components-checkout-step{border:1px solid var(--hph-line);border-radius:16px;background:#fff;padding:22px!important;margin-bottom:16px!important}
body.woocommerce-checkout .wc-block-components-checkout-step__heading{margin-bottom:14px!important}
body.woocommerce-checkout .wc-block-components-text-input input,body.woocommerce-checkout .wc-block-components-address-form__select{border-radius:10px!important;border-color:#cedbe4!important}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button{min-height:56px!important;background:var(--hph-green)!important;color:#fff!important;border-radius:var(--hph-button-radius,10px)!important;font-weight:850!important}

/* Order received */
.woocommerce-order-received .woocommerce-order{width:min(calc(100% - 40px),980px);margin-inline:auto}

@media(max-width:960px){
 body.woocommerce-checkout form.checkout.woocommerce-checkout{grid-template-columns:1fr!important;gap:20px!important}
 .hph-checkout-summary{position:static!important;top:auto!important}
 body.woocommerce-checkout .wc-block-components-sidebar-layout{display:block!important}
 body.woocommerce-checkout .wc-block-components-sidebar{position:static!important;margin-top:18px!important}
}
@media(max-width:767px){
 body.woocommerce-checkout .site-main,body.woocommerce-cart .site-main{padding:24px 0 58px}
 body.woocommerce-checkout .entry-content,body.woocommerce-cart .entry-content{width:min(calc(100% - 24px),1240px)}
 .hph-checkout-header>.hph-shell{min-height:66px;grid-template-columns:1fr auto;gap:12px}
 .hph-checkout-header>div>span{display:none}
 .hph-checkout-header>div>a{font-size:.72rem}
 .hph-checkout-intro{display:block;margin-bottom:18px}
 .hph-checkout-intro h1{font-size:2.05rem}
 .hph-checkout-intro>a{display:inline-block;margin-top:12px}
 .hph-checkout-trust{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
 .hph-checkout-trust>div{justify-content:flex-start;min-height:66px;padding:11px;border-right:1px solid var(--hph-line);border-bottom:1px solid var(--hph-line)}
 .hph-checkout-trust>div:nth-child(2n){border-right:0}.hph-checkout-trust>div:nth-last-child(-n+2){border-bottom:0}
 .hph-checkout-details{padding:22px 18px;border-radius:14px}
 .hph-checkout-summary{padding:0 18px 18px;border-radius:14px}
 body.woocommerce-checkout #order_review_heading{margin:0 -18px 14px!important;padding:19px 18px 15px!important;font-size:1.2rem!important}
 body.woocommerce-checkout .woocommerce-billing-fields>h3,body.woocommerce-checkout .woocommerce-shipping-fields>h3,body.woocommerce-checkout .woocommerce-additional-fields>h3{font-size:1.18rem!important;margin-bottom:18px}
 body.woocommerce-checkout input.input-text,body.woocommerce-checkout input[type=text],body.woocommerce-checkout input[type=email],body.woocommerce-checkout input[type=tel],body.woocommerce-checkout select,body.woocommerce-checkout .select2-container .select2-selection--single{min-height:48px!important}
 body.woocommerce-checkout form.checkout_coupon{grid-template-columns:1fr;padding:15px!important}
 body.woocommerce-checkout form.checkout_coupon>p{width:100%!important}
 .hph-checkout-item{grid-template-columns:46px minmax(0,1fr);gap:9px}.hph-checkout-item__thumb{width:46px;height:46px}
 body.woocommerce-checkout .woocommerce-checkout-review-order-table th,body.woocommerce-checkout .woocommerce-checkout-review-order-table td{font-size:.74rem;padding:11px 0!important}
 body.woocommerce-checkout .wc-block-components-checkout-step{padding:17px!important;border-radius:14px}
 body.woocommerce-checkout .wc-block-components-sidebar{padding:16px!important;border-radius:14px}
}
@media(max-width:430px){
 .hph-checkout-trust strong{font-size:.66rem}.hph-checkout-trust small{font-size:.58rem}
 .hph-checkout-trust__icon{width:28px;height:28px;flex-basis:28px}
 body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{padding-left:9px!important}
}
