/* =============================================================================
   HF COMMERCE SYSTEM (2026-07-15) — unified premium skin for cart + checkout.
   Rebuilds the PRESENTATION of both pages into one clean, mobile-first design
   that matches Account/Shop/Category. The delivery-cost engine (hf_delivery_*
   PHP + AJAX + the JS state machine and its element IDs) is 100% untouched —
   this layer only restyles what displays/triggers it. Loaded LAST so it wins
   over the engine skins + their patch towers.
   ========================================================================== */

/* ---- 0. FONT: Poppins everywhere, kill the global Cormorant on UI labels --- */
body.woocommerce-cart .hf-cart-shell,
body.woocommerce-cart .hf-cart-shell *,
body.woocommerce-checkout .hf-grid,
body.woocommerce-checkout .hf-grid *,
body.woocommerce-checkout [class^="hf-co"],
body.woocommerce-checkout [class^="hf-co"] *,
body.woocommerce-checkout [class*=" hf-co"] *,
body.woocommerce-checkout .hf-checkout-hero,
body.woocommerce-checkout .hf-checkout-hero *,
body.woocommerce-checkout .hf-progress,
body.woocommerce-checkout .hf-progress *{
	font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif!important;
}
/* section titles: normal sans, not serif — CONTACT / DELIVERY / PAYMENT etc. */
body.woocommerce-cart .hf-cart-hero__title,body.woocommerce-cart .hf-summary__title,
body.woocommerce-checkout .hf-checkout-hero__title,body.woocommerce-checkout .hf-card__title,
body.woocommerce-checkout .hf-summary__title,body.woocommerce-checkout .hf-item__name{
	font-family:'Poppins',system-ui,-apple-system,sans-serif!important;
}

/* ---- 1. TOKEN BRIDGE: sage → crisp hfv2 green, warm → cool navy ------------- */
body.woocommerce-cart .hf-cart-shell,
body.woocommerce-checkout .hf-grid,
body.woocommerce-checkout .hf-checkout-shell,
body.woocommerce-checkout .hf-complete-shell,
body.woocommerce-checkout [class^="hf-co"],
body.woocommerce-checkout [class*=" hf-co"]{
	--hfh-champagne:#237a3a;--hfh-champagne-dark:#1c6630;--hfh-champagne-deep:#37c34c;
	--hfh-champagne-soft:rgba(74,213,93,.12);
	--hfh-accent:#122B4C;--hfh-accent-dark:#0a1f3a;--hfh-ink:#122B4C;
	--hfh-line:rgba(18,43,76,.09);--hfh-line-s:rgba(18,43,76,.14);
	--hfh-warm:#eef2f7;--hfh-warm-2:#f4f7fa;--hfh-warm-3:#ffffff;
	--hfh-radius-card:16px;--hfh-radius:12px;
	--hfh-shadow:0 16px 40px -28px rgba(16,35,61,.3),0 2px 8px rgba(16,35,61,.04);
	--hfh-shadow-lg:0 24px 56px -32px rgba(16,35,61,.36);
	--hfh-shadow-xl:0 30px 70px -32px rgba(16,35,61,.42);
	--m-radius-card:16px;
}

/* ---- 2. HERO: consistent navy band + crisp-green eyebrow ------------------- */
body.woocommerce-cart .hf-cart-hero,
body.woocommerce-checkout .hf-checkout-hero{
	background:linear-gradient(135deg,#061b31 0%,#0b2341 55%,#122d52 100%)!important;border-radius:20px!important;
}
body.woocommerce-cart .hf-cart-hero__eyebrow,
body.woocommerce-checkout .hf-checkout-hero__eyebrow,
body.woocommerce-cart .hf-summary__eyebrow{color:#4ad55d!important;letter-spacing:.2em!important;}

/* ---- 3. PROGRESS STEPPER: crisp green done/active ------------------------- */
body.woocommerce-checkout .hf-progress__step--done .hf-progress__num,
body.woocommerce-checkout .hf-progress__step--active .hf-progress__num{
	background:linear-gradient(135deg,#57e06b,#37c34c)!important;color:#072617!important;border-color:transparent!important;box-shadow:0 6px 14px -6px rgba(74,213,93,.6)!important;
}
body.woocommerce-checkout .hf-progress__line--done{background:#37c34c!important;}

/* ---- 4. CARDS + SECTIONS: unified 16px hairline card ----------------------- */
body.woocommerce-cart .hf-cart-card,
body.woocommerce-cart .hf-summary__card,
body.woocommerce-checkout .hf-card,
body.woocommerce-checkout .hf-sidebar>*,
body.woocommerce-checkout .hf-account-pull{
	border-radius:16px!important;border:1px solid rgba(18,43,76,.09)!important;
	box-shadow:0 16px 40px -30px rgba(16,35,61,.3)!important;background:#fff!important;
}
/* section titles: clean uppercase sans label, not serif */
body.woocommerce-checkout .hf-card__title{
	font-size:13px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important;
	color:#122B4C!important;margin:0 0 18px!important;
}
body.woocommerce-checkout .hf-card__intro{color:#59616b!important;font-size:13.5px!important;line-height:1.5!important;}

/* ---- 5. FORM FIELDS: the Account-page field language ----------------------- */
body.woocommerce-checkout .hf-grid input.input-text,
body.woocommerce-checkout .hf-grid input[type="text"],
body.woocommerce-checkout .hf-grid input[type="email"],
body.woocommerce-checkout .hf-grid input[type="tel"],
body.woocommerce-checkout .hf-grid input[type="password"],
body.woocommerce-checkout .hf-grid select,
body.woocommerce-checkout .hf-grid textarea,
body.woocommerce-checkout .hf-grid .select2-selection{
	width:100%!important;min-height:52px!important;border:1px solid rgba(18,43,76,.16)!important;border-radius:12px!important;
	padding:13px 15px!important;font-size:15px!important;background:#fff!important;color:#122B4C!important;
	box-shadow:none!important;transition:border-color .15s ease,box-shadow .15s ease!important;font-family:'Poppins',sans-serif!important;
}
body.woocommerce-checkout .hf-grid input.input-text:focus,
body.woocommerce-checkout .hf-grid input:focus,
body.woocommerce-checkout .hf-grid select:focus,
body.woocommerce-checkout .hf-grid textarea:focus{
	outline:0!important;border-color:#4ad55d!important;box-shadow:0 0 0 3px rgba(74,213,93,.16)!important;
}
body.woocommerce-checkout .hf-grid ::placeholder{color:#9aa3b0!important;opacity:1!important;}
body.woocommerce-checkout .hf-grid label{font-size:12.5px!important;font-weight:700!important;color:#122B4C!important;letter-spacing:.01em!important;}

/* ---- 6. BUTTONS: one clean system (green gradient pill / navy outline) ------ */
body.woocommerce-cart .hf-btn,
body.woocommerce-checkout .hf-btn{
	border-radius:999px!important;font-weight:800!important;letter-spacing:.05em!important;text-transform:uppercase!important;
	transition:transform .15s ease,filter .15s ease,background .18s ease,color .18s ease,border-color .18s ease!important;
}
body.woocommerce-cart .hf-btn--primary,body.woocommerce-cart .hf-btn--checkout,
body.woocommerce-checkout .hf-btn--primary,body.woocommerce-checkout .hf-btn--checkout{
	background:linear-gradient(135deg,#57e06b 0%,#37c34c 100%)!important;color:#072617!important;border:0!important;box-shadow:0 14px 32px -12px rgba(74,213,93,.6)!important;
}
body.woocommerce-cart .hf-btn--primary:hover,body.woocommerce-cart .hf-btn--checkout:hover,
body.woocommerce-checkout .hf-btn--primary:hover,body.woocommerce-checkout .hf-btn--checkout:hover{
	transform:translateY(-1px)!important;filter:brightness(1.04)!important;box-shadow:0 18px 40px -12px rgba(74,213,93,.75)!important;
}
body.woocommerce-cart .hf-btn--ghost,
body.woocommerce-checkout .hf-btn--ghost{background:transparent!important;color:#122B4C!important;border:2px solid #122B4C!important;box-shadow:none!important;}
body.woocommerce-cart .hf-btn--ghost:hover,
body.woocommerce-checkout .hf-btn--ghost:hover{background:#122B4C!important;color:#fff!important;}
/* hero ghost stays light on navy */
body.woocommerce-cart .hf-cart-hero .hf-btn--ghost,
body.woocommerce-checkout .hf-checkout-hero .hf-btn--ghost{color:#fff!important;border-color:rgba(255,255,255,.45)!important;}
body.woocommerce-cart .hf-cart-hero .hf-btn--ghost:hover,
body.woocommerce-checkout .hf-checkout-hero .hf-btn--ghost:hover{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:#fff!important;}

/* ---- 7. CONTINUE-TO-PAYMENT: rebuilt, NO double layout --------------------- */
/* the wrapper was accidentally coloured; make it a plain container, style only
   the button + note. One clean green pill, note as quiet caption below. */
body.woocommerce-checkout .hf-sidebar-continue{
	background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;
	display:flex!important;flex-direction:column!important;gap:9px!important;margin-top:14px!important;
}
/* id-level specificity beats the engine's navy `!important` on the button */
body.woocommerce-checkout #hf-sidebar-continue-payment,
body.woocommerce-checkout .hf-sidebar-continue__btn,
body.woocommerce-checkout #place_order{
	width:100%!important;min-height:54px!important;margin:0!important;
	background:linear-gradient(135deg,#57e06b 0%,#37c34c 100%)!important;color:#072617!important;
	border:0!important;border-radius:999px!important;font:800 13px/1 'Poppins',sans-serif!important;
	letter-spacing:.06em!important;text-transform:uppercase!important;cursor:pointer!important;
	box-shadow:0 14px 32px -12px rgba(74,213,93,.6)!important;transition:transform .15s ease,filter .15s ease,box-shadow .18s ease!important;
}
body.woocommerce-checkout #hf-sidebar-continue-payment:hover,
body.woocommerce-checkout .hf-sidebar-continue__btn:hover,
body.woocommerce-checkout #place_order:hover{transform:translateY(-1px)!important;filter:brightness(1.04)!important;box-shadow:0 18px 40px -12px rgba(74,213,93,.75)!important;}
body.woocommerce-checkout #hf-sidebar-continue-payment:disabled,
body.woocommerce-checkout #hf-sidebar-continue-payment[disabled],
body.woocommerce-checkout .hf-sidebar-continue__btn:disabled,
body.woocommerce-checkout .hf-sidebar-continue__btn[disabled]{
	background:#eef2f7!important;color:#9aa3b0!important;box-shadow:none!important;cursor:not-allowed!important;filter:none!important;transform:none!important;
}
body.woocommerce-checkout .hf-sidebar-continue__note{
	display:block!important;text-align:center!important;font:600 11px/1.45 'Poppins',sans-serif!important;
	letter-spacing:.02em!important;text-transform:none!important;color:#8b95a6!important;margin:0!important;
}

/* ---- 8. ORDER SUMMARY items + totals -------------------------------------- */
body.woocommerce-cart .hf-summary__total-value,
body.woocommerce-checkout .hf-summary__total-value,
body.woocommerce-checkout .hf-item__price{color:#122B4C!important;}
body.woocommerce-checkout .hf-item__name{font-weight:700!important;color:#122B4C!important;}
body.woocommerce-cart .hf-stepper{border-radius:999px!important;overflow:hidden;}

/* ---- 9. MOBILE (≤768px): single premium sticky bar, comfortable spacing ---- */
@media(max-width:768px){
	body.woocommerce-cart .hfbn{display:none!important;} /* cart carries its own bar */
	body.woocommerce-cart .hf-mobile-bar,
	body.woocommerce-checkout .hf-mobile-bar{
		left:12px!important;right:12px!important;bottom:12px!important;
		background:rgba(255,255,255,.97)!important;border:1px solid rgba(18,43,76,.1)!important;border-radius:16px!important;
		box-shadow:0 -6px 20px rgba(16,35,61,.12),0 18px 40px -18px rgba(16,35,61,.4)!important;padding:12px 14px!important;
	}
	body.woocommerce-cart .hf-mobile-bar .hf-btn,
	body.woocommerce-checkout .hf-mobile-bar .hf-btn{
		background:linear-gradient(135deg,#57e06b 0%,#37c34c 100%)!important;color:#072617!important;border:0!important;border-radius:999px!important;min-height:48px!important;box-shadow:0 12px 26px -10px rgba(74,213,93,.6)!important;
	}
	body.woocommerce-cart .hf-mobile-bar__total,
	body.woocommerce-checkout .hf-mobile-bar__total{color:#122B4C!important;}
	body.woocommerce-cart .hf-cart-hero__actions .hf-btn--ghost{display:none!important;}
	body.woocommerce-cart .hf-cart-hero__title,
	body.woocommerce-checkout .hf-checkout-hero__title{font-size:25px!important;line-height:1.12!important;}
	body.woocommerce-cart .hf-cart-item__side{border-top:1px solid rgba(18,43,76,.08)!important;}
	body.woocommerce-cart .hf-price__value{color:#122B4C!important;font-weight:800!important;}
	/* comfortable field spacing on mobile */
	body.woocommerce-checkout .hf-grid input.input-text,
	body.woocommerce-checkout .hf-grid select,
	body.woocommerce-checkout .hf-grid input[type="text"],
	body.woocommerce-checkout .hf-grid input[type="email"],
	body.woocommerce-checkout .hf-grid input[type="tel"]{min-height:54px!important;font-size:16px!important;} /* 16px = no iOS zoom */
}
/* Trade B2B: request-a-quote button (cart) + PO/reference field (checkout) */
.hf-quote{margin-top:14px;text-align:center}
.hf-quote__btn{display:block!important;width:100%;padding:13px 20px!important;border:1.5px solid rgba(18,43,76,.2)!important;border-radius:12px!important;background:#fff!important;color:#122B4C!important;font-size:14px!important;font-weight:700!important;line-height:1.2!important;cursor:pointer;transition:border-color .15s,background .15s}
.hf-quote__btn:hover{border-color:#4ad55d!important;background:rgba(74,213,93,.06)!important}
.hf-quote__note{display:block;margin-top:8px;font-size:12px;color:#8b93a1;line-height:1.4}
.hf-po-field{margin-top:8px}
.hf-po-field label{font-weight:700;color:#122B4C}
.hf-po-line{margin-top:8px;color:#122B4C}
