/* Halfpix 1.2.4 — single heading/layout contract; load AFTER unified-ui.css. */
:root{--hp-page-top:clamp(24px,2.5vw,38px);--hp-heading-gap:26px;--hp-heading-size:clamp(35px,3.5vw,52px)}
.hp-main{padding-top:var(--hp-page-top)!important}
.hp-main > .shop-page,.hp-main > .create-hub,.hp-main > .discover-page.hp-discover-v3,
.hp-main > .hp-wc-checkout-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-width:0}
.hp-main .hp-page-heading{width:100%!important;max-width:none!important;min-height:0!important;margin:0 0 var(--hp-heading-gap)!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:left!important;align-content:start}
.hp-main .hp-page-heading .hp-page-heading__eyebrow{display:block!important;margin:0 0 10px!important;padding:0!important;font-family:var(--font-sans)!important;font-size:11px!important;font-weight:750!important;line-height:1.35!important;letter-spacing:.10em!important;color:var(--ui-primary-strong)!important;text-transform:uppercase!important}
.hp-main .hp-page-heading .hp-page-heading__title{display:block!important;max-width:100%!important;margin:0!important;padding:0!important;font-family:var(--font-display)!important;font-size:var(--hp-heading-size)!important;font-weight:400!important;letter-spacing:-.04em!important;line-height:1.12!important;color:var(--ui-ink)!important;text-align:left!important;overflow-wrap:break-word}
.hp-main .hp-page-heading .hp-page-heading__description{max-width:68ch!important;margin:10px 0 0!important;padding:0!important;font-family:var(--font-sans)!important;font-size:clamp(14px,1.1vw,16px)!important;line-height:1.6!important;color:var(--ui-muted)!important;text-align:left!important}
.hp-main .hp-home-feed-head.hp-page-heading{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:18px 26px!important;padding-bottom:17px!important;border-bottom:1px solid var(--ui-line)!important}
.hp-main .hp-home-feed-head .hp-home-feed-head__title{min-width:0;flex:1 1 250px}
.hp-main .hp-home-feed-head .feed-tabs{align-self:flex-end}
.hp-main[data-view="discover"] .hp-discover-v3 .hp-discover-intro{margin:0 0 var(--hp-heading-gap)!important;padding:0!important}
.hp-main .shop-heading.hp-page-heading{max-width:none!important}
.hp-main .create-hub > header.hp-page-heading{max-width:none!important}
.hp-main .hp-hero.hp-page-heading > div{width:100%;max-width:100%}
.hp-main .hp-page-heading :is(h1,p){position:static;transform:none}
/* The original generic .stream-heading and .shop-page had independent offsets. */
.hp-main[data-view="shop"] .shop-page,.hp-main[data-view="create"] .create-hub,
.hp-main[data-view="discover"] .hp-discover-v3{inset:auto!important;transform:none!important}
@media(max-width:700px){
 :root{--hp-page-top:20px;--hp-heading-gap:20px;--hp-heading-size:clamp(30px,8.4vw,41px)}
 .hp-main .hp-page-heading .hp-page-heading__description{font-size:14px!important}
 .hp-main .hp-home-feed-head.hp-page-heading{align-items:start!important;gap:8px!important}
 .hp-main .hp-home-feed-head .feed-tabs{align-self:start}
}
/* Native Woo checkout: preserve Woo's actual fields, shipping methods,
   payment gateway markup and validation. Only improve visual layout. */
.hp-wc-checkout-shell{--wc-line:var(--ui-line,#dae4df);min-width:0}
.hp-wc-checkout-shell .woocommerce{max-width:100%;min-width:0}
.hp-wc-checkout-shell .woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:24px;align-items:start;max-width:100%}
.hp-wc-checkout-shell .woocommerce form.checkout > .col2-set{grid-column:1;grid-row:1;min-width:0;width:100%;margin:0;padding:26px;border:1px solid var(--wc-line);border-radius:20px;background:#fff;box-shadow:var(--ui-shadow-xs)}
.hp-wc-checkout-shell .woocommerce form.checkout > .col2-set > .col-1,
.hp-wc-checkout-shell .woocommerce form.checkout > .col2-set > .col-2{float:none;width:100%;max-width:none;min-width:0}
.hp-wc-checkout-shell .woocommerce form.checkout > .col2-set > .col-2{margin-top:20px}
.hp-wc-checkout-shell .woocommerce form.checkout > #order_review_heading{grid-column:2;grid-row:1;align-self:start;z-index:1;margin:0;padding:20px 24px 0;font-size:22px;font-family:var(--font-sans);font-weight:700}
.hp-wc-checkout-shell .woocommerce form.checkout > #order_review{grid-column:2;grid-row:1;min-width:0;align-self:start;margin-top:55px;padding:12px 24px 24px;border:1px solid var(--wc-line);border-radius:20px;background:#fff;box-shadow:var(--ui-shadow-xs)}
.hp-wc-checkout-shell .woocommerce form.checkout > :not(.col2-set):not(#order_review_heading):not(#order_review){grid-column:1/-1}
.hp-wc-checkout-shell .woocommerce h3{font-family:var(--font-sans);font-size:21px;font-weight:700;color:var(--ui-ink)}
.hp-wc-checkout-shell .woocommerce .form-row{float:none;min-width:0;margin:0 0 15px;padding:0}
.hp-wc-checkout-shell .woocommerce .form-row-first,.hp-wc-checkout-shell .woocommerce .form-row-last{float:left;width:calc(50% - 9px)}
.hp-wc-checkout-shell .woocommerce .form-row-last{float:right}
.hp-wc-checkout-shell .woocommerce .form-row-wide{clear:both;width:100%}
.hp-wc-checkout-shell .woocommerce input.input-text,.hp-wc-checkout-shell .woocommerce select,
.hp-wc-checkout-shell .woocommerce textarea,.hp-wc-checkout-shell .select2-selection{box-sizing:border-box;width:100%;max-width:100%;min-height:46px;border:1px solid var(--ui-line-strong)!important;border-radius:12px!important;padding:10px 12px;background:white;font:inherit;color:var(--ui-ink)}
.hp-wc-checkout-shell .select2-container{max-width:100%}
.hp-wc-checkout-shell .woocommerce .form-row label{display:block;margin-bottom:5px;font-size:13px;font-weight:650}
.hp-wc-checkout-shell .woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse}
.hp-wc-checkout-shell .woocommerce-checkout-review-order-table th,.hp-wc-checkout-shell .woocommerce-checkout-review-order-table td{padding:12px 4px;border-bottom:1px solid var(--wc-line);text-align:left}
.hp-wc-checkout-shell .woocommerce-checkout-review-order-table td:last-child,.hp-wc-checkout-shell .woocommerce-checkout-review-order-table th:last-child{text-align:right}
.hp-wc-checkout-shell #payment{border-radius:14px!important;background:#f5f8f7!important}
.hp-wc-checkout-shell #payment ul.payment_methods{padding:14px!important;border-bottom:1px solid var(--wc-line)}
.hp-wc-checkout-shell #payment .place-order{padding:16px!important}
.hp-wc-checkout-shell #place_order{width:100%;min-height:52px;border-radius:12px;background:var(--ui-primary);color:white;font-weight:700}
.hp-wc-checkout-shell :is(.woocommerce-error,.woocommerce-message,.woocommerce-info){padding:16px 20px;border-radius:12px;background:#fff;border:1px solid var(--wc-line);margin-bottom:20px}
.hp-wc-checkout-shell .woocommerce-error{border-color:#e4b9b5;background:#fff2f1}
@media(max-width:1020px){.hp-wc-checkout-shell .woocommerce form.checkout{grid-template-columns:minmax(0,1fr)}.hp-wc-checkout-shell .woocommerce form.checkout > .col2-set{grid-column:1;grid-row:1}.hp-wc-checkout-shell .woocommerce form.checkout > #order_review_heading{grid-column:1;grid-row:2}.hp-wc-checkout-shell .woocommerce form.checkout > #order_review{grid-column:1;grid-row:2}}
@media(max-width:520px){.hp-wc-checkout-shell .woocommerce form.checkout > .col2-set{padding:16px}.hp-wc-checkout-shell .woocommerce form.checkout > #order_review{padding:12px 15px 15px}.hp-wc-checkout-shell .woocommerce form.checkout > #order_review_heading{padding-left:15px}.hp-wc-checkout-shell .woocommerce .form-row-first,.hp-wc-checkout-shell .woocommerce .form-row-last{float:none;width:100%}}

/* Native checkout saved-address enhancement: it never replaces WC fields. */
.hp-wc-address-picker{display:grid;gap:7px;margin:0 0 22px;padding:16px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-primary-soft)}
.hp-wc-address-picker label{margin:0;font-size:13px;font-weight:750;color:var(--ui-primary-strong)}
.hp-wc-address-picker select{width:100%;min-height:46px;border:1px solid var(--ui-line-strong);border-radius:10px;padding:7px 11px;background:#fff}
.hp-wc-address-picker small{font-size:12px;color:var(--ui-muted)}
/* Cart uses the exact same canonical header position as the other routes. */
.hp-main[data-view="cart"] .astra-cart-header.hp-page-heading{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:18px!important}
@media(max-width:600px){.hp-main[data-view="cart"] .astra-cart-header.hp-page-heading{align-items:start!important;flex-direction:column!important}}

/* Override old heading-specific flex gaps and !important title size rules. */
.hp-main > .cart-page.cart-page--refined, .hp-main > .creation-page {
 width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-width:0
}
.hp-main .hp-page-heading.shop-heading {gap:0!important;display:block!important}
.hp-main .hp-page-heading.shop-heading > .hp-page-heading__title {margin:0!important}
.hp-main[data-view="cart"] .astra-cart-header.hp-page-heading{gap:18px!important}
.hp-main[data-view="cart"] .astra-cart-header.hp-page-heading .hp-page-heading__title,
.hp-main[data-view="create"] .creation-heading.hp-page-heading .hp-page-heading__title {
 font-size:var(--hp-heading-size)!important;line-height:1.12!important;font-family:var(--font-display)!important
}
.hp-main .creation-heading.hp-page-heading{display:block!important}
.hp-main .creation-heading.hp-page-heading > div{min-width:0;width:100%}

.hp-main[data-view="cart"] .astra-cart-header.hp-page-heading > div{padding:0!important;margin:0!important;display:block!important;transform:none!important}
/* Auth form can remain narrow, but its page title shares the global main gutter. */
.hp-main[data-view="login"],.hp-main[data-view="register"]{width:min(1680px,calc(100% - 48px))!important}
.hp-main[data-view="login"] .hp-page-heading,.hp-main[data-view="register"] .hp-page-heading{margin-inline:0!important;text-align:left!important}
@media(max-width:460px){.hp-main[data-view="login"],.hp-main[data-view="register"]{width:calc(100% - 20px)!important}}
/* Align the auth page container with the same responsive gutter as the other routes. */
.hp-main[data-view="login"],.hp-main[data-view="register"]{width:min(var(--ui-content),calc(100% - (var(--ui-gutter) * 2)))!important}
@media(max-width:1180px){.hp-main[data-view="login"],.hp-main[data-view="register"]{width:min(var(--ui-content),calc(100% - 36px))!important}}
@media(max-width:850px){.hp-main[data-view="login"],.hp-main[data-view="register"]{width:min(calc(100% - 24px),760px)!important}}
@media(max-width:460px){.hp-main[data-view="login"],.hp-main[data-view="register"]{width:calc(100% - 20px)!important}}

/* Checkout Blocks: preserve Woo's React-owned form and scope design tokens only. */
.hp-wc-checkout-shell .wc-block-checkout{max-width:100%;--wc-blocks-style:var(--ui-primary)}
.hp-wc-checkout-shell .wc-block-components-text-input input,
.hp-wc-checkout-shell .wc-block-components-combobox-control input,
.hp-wc-checkout-shell .wc-block-components-select select{border-radius:12px!important;border-color:var(--ui-line-strong)!important}
.hp-wc-checkout-shell .wc-block-components-checkout-place-order-button{border-radius:12px!important;min-height:52px;background:var(--ui-primary)!important;color:#fff!important}
.hp-wc-checkout-shell .wc-block-components-sidebar{border-color:var(--ui-line)!important;border-radius:18px}
