/* Starting-price changes are scoped to product cards, never the footer/chat. */
.hp-product-page .hp-price-pill,
.hp-simple-product .hp-price-pill { min-width:0; max-width:100%; box-sizing:border-box; overflow-wrap:anywhere; }
.hp-simple-product .hp-price-pill { display:grid; gap:2px; margin-bottom:16px; padding:10px 14px; border:1px solid #D5E7FA; border-radius:12px; background:linear-gradient(90deg,#F3F8FF,#EAF4FF); box-shadow:inset 0 0 0 1px rgba(255,255,255,.78); }
.hp-price-pill .hp-starting-price-line { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 6px; min-width:0; max-width:100%; font-size:14px; line-height:1.45; }
.hp-price-pill .hp-price-status { font-size:14px; font-weight:600; color:var(--hp-green,#1FA463); white-space:nowrap; }
.hp-price-pill .hp-price-dot { font-size:12px; color:inherit; }
.hp-price-pill .hp-price-status--out-of-stock { color:#a12828; }
.hp-price-pill .hp-price-status--on-backorder { color:#8a5b0c; }
.hp-price-pill .hp-price-divider { color:#91a6b8; font-size:14px; }
.hp-price-pill .hp-starting-price-line strong { font-size:14px; line-height:1.45; font-weight:700; color:#172b3d; }
.hp-price-pill .hp-price-qualification { font-size:12px; line-height:1.35; color:#64778a; }
/* Keep quote-step buttons independent from Astra's generic button states. */
.hpcq-wrap button.hpcq-stepper__item,
.hpcq-wrap button.hpcq-stepper__item:is(:hover,:focus,:active),
.hpq-wrap button.hpq-stepper__btn,
.hpq-wrap button.hpq-stepper__btn:is(:hover,:focus,:active) {
    background:transparent; background-image:none; border:0; box-shadow:none;
    text-shadow:none; transform:none;
}
.hpcq-wrap button.hpcq-stepper__item,
.hpcq-wrap button.hpcq-stepper__item:is(:hover,:focus,:active) { color:#8b99aa; }
.hpcq-wrap button.hpcq-stepper__item:is(.is-active,.is-complete) { color:var(--hpcq-blue-dark,#005e9e); }
.hpcq-wrap button.hpcq-stepper__item:focus-visible,
.hpq-wrap button.hpq-stepper__btn:focus-visible { outline:2px solid #0078c1; outline-offset:4px; }
@media (max-width:767px) {
    .hpq-wrap .hpq-summary,
    .hpcq-wrap .hpcq-summary { display:none; }
}

/* Override Astra's #primary margins/width only on the payment template. */
body #content #primary.hp-payment-page {
    float:none; width:calc(100% - 40px); max-width:840px; min-width:0;
    margin:36px auto 56px; padding:0; box-sizing:border-box;
}
.hp-payment-page * { box-sizing:border-box; }
.hp-payment-header { max-width:660px; margin:0 auto 28px; text-align:center; }
.hp-payment-page .hp-payment-eyebrow { margin:0 0 10px; color:#1268ab; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.hp-payment-page h1 { margin:0 0 14px; color:#102f46; font-size:clamp(28px,4vw,38px); line-height:1.2; letter-spacing:-.025em; overflow-wrap:anywhere; }
.hp-payment-page .hp-payment-intro { margin:0; color:#526b80; font-size:14px; line-height:1.75; }
.hp-payment-card { padding:clamp(20px,4vw,36px); background:#fff; border:1px solid #d5e7fa; border-radius:18px; box-shadow:0 12px 40px #143c6010; }
.hp-payment-page .hp-payment-card h2 { margin:0 0 20px; color:#173b55; font-size:20px; line-height:1.35; }
.hp-payment-card .hp-payment-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; min-width:0; margin:24px 0 0; }
.hp-payment-form label { display:grid; align-content:start; gap:8px; margin:0; color:#29475f; font-size:13px; font-weight:600; min-width:0; }
.hp-payment-form input,.hp-payment-form textarea { width:100%; max-width:100%; min-width:0; box-sizing:border-box; padding:12px 14px; border:1px solid #b9cddd; border-radius:8px; background:#fbfdff; color:#17334d; font:inherit; font-weight:400; line-height:1.5; box-shadow:none; }
.hp-payment-form input { min-height:48px; }
.hp-payment-form textarea { resize:vertical; }
.hp-payment-form :is(input,textarea):focus { outline:2px solid #0078c1; outline-offset:2px; border-color:#0078c1; }
.hp-payment-form .hp-payment-full,.hp-payment-form button { grid-column:1 / -1; }
.hp-payment-form button { min-height:50px; padding:13px 22px; color:#fff; background:#005e9e; border:0; border-radius:9px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.hp-payment-form button:hover { background:#004c82; }
.hp-payment-form button:focus-visible { outline:3px solid #0078c1; outline-offset:3px; }
.hp-payment-form button:disabled { background:#57758c; color:#fff; opacity:1; cursor:not-allowed; }
.hp-payment-page .hp-payment-notice { margin:0 0 12px; border:1px solid #cfdfed; border-left:3px solid #1268ab; border-radius:8px; padding:13px 16px; background:#f2f8fd; color:#29475f; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.hp-payment-page .hp-payment-help { margin-top:24px; padding-top:20px; border-top:1px solid #e1eaf2; }
.hp-payment-page .hp-payment-help p { margin:0 0 10px; color:#526b80; font-size:12px; line-height:1.8; }
.hp-payment-page .hp-payment-help p:last-child { margin-bottom:0; }
.hp-payment-page a { color:#005e9e; text-underline-offset:3px; }
@media (max-width:600px) {
    body #content #primary.hp-payment-page { width:calc(100% - 32px); margin:26px auto 36px; }
    .hp-payment-header { margin-bottom:22px; }
    .hp-payment-card .hp-payment-form { grid-template-columns:minmax(0,1fr); gap:18px; }
}
