/* 1.10.0. Scoped to HomePro's paired-payment checkout. No global theme reset. */
.hpco-page { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.hpco-page main.hpco-checkout { width:1100px; }
.hpco-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
.hpco-columns > * { min-width:0; }
.hpco-columns .hpd-box { margin-top:0; }
.hpco-totals { margin:18px 0; padding:0; }
.hpco-totals > div { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(90px,.7fr); gap:16px; align-items:start; padding:14px 0!important; margin:0!important; border-bottom:1px solid #dce9e7; }
.hpco-totals dt { font-size:14px; line-height:1.6; }
.hpco-totals dd { margin:0; text-align:right; font-size:16px; font-weight:700; line-height:1.5; overflow-wrap:anywhere; }
.hpco-totals .hpco-total { color:#087f7c; border-top:2px solid #0eaaa6; border-bottom:0; }
.hpco-total dt,.hpco-total dd { font-size:18px; font-weight:700; }
.hpco-card-element { padding:16px 12px; min-height:56px; border:1px solid #bdcfcd; border-radius:9px; background:#fff; width:100%; box-sizing:border-box; }
.hpco-pay #hpco-submit { width:100%; background:#0eaaa6; border-color:#0eaaa6; }
.hpco-pay #hpco-submit:disabled { opacity:.65; cursor:wait; }
.hpco-secondary { font:inherit; min-height:44px; background:transparent; border:0; color:#087f7c; text-decoration:underline; cursor:pointer; display:block; margin:12px auto; }
#hpco-message { padding:12px; font-size:14px; line-height:1.6; background:#eef8f6; border-radius:8px; overflow-wrap:anywhere; }
#hpco-message:empty { display:none; }
#hpco-message.is-error { background:#fff4f0; color:#852e20; }
.hpco-settings { border-bottom:1px solid #dce9e7; padding:8px 0 24px; margin-bottom:24px; }
.hpco-summary { text-align:left!important; }
.hpco-summary h3 { font-size:21px; }
@media(max-width:800px) { .hpco-columns { grid-template-columns:minmax(0,1fr); gap:8px; } .hpco-page main { padding:12px 14px 32px; } }
@media(max-width:380px) { .hpco-totals > div { grid-template-columns:minmax(0,1fr) minmax(85px,.8fr); gap:10px; } .hpco-total dt,.hpco-total dd { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .hpco-page * { transition:none!important; } }

/* Author display rules must not override semantic hidden state. */
.hpco-page [hidden]{display:none!important}

/* 1.10.1: clean paid-deposit panels, including narrow desktop sidebars. */
.hpd-admin [data-hpdep-method-panel][hidden],
#hpco-checkout-summary[hidden] { display:none!important; }
.hpd-admin .hpco-mode-status { background:#f2fbf9; border-top:3px solid #0eaaa6; }
.hpd-admin .hpco-mode-status h3 { margin:10px 0; }
.hpd-admin .hpco-setup-list { padding-left:22px; margin:10px 0; line-height:1.7; }
.hpd-admin .hpco-setup-list li { list-style:disc; }
.hpd-admin .hpco-legacy-settings { padding:16px; margin:20px 0; border:1px solid #dce9e7; border-radius:10px; }
.hpd-deposit-card.hpco-choice { container-type:inline-size; }
.hpd-deposit-card.hpco-choice .hpd-deposit-overview { margin-bottom:18px; }
.hpd-deposit-card.hpco-choice .hpco-choice-totals { margin:12px 0; width:100%; }
.hpd-deposit-card.hpco-choice .hpco-totals > div { display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:14px; }
.hpd-deposit-card.hpco-choice .hpco-totals dd { white-space:normal; text-align:right; overflow-wrap:anywhere; }
.hpd-deposit-card.hpco-choice .hpco-totals dt { font-weight:400; margin:0; }
.hpd-deposit-card.hpco-choice .hpco-total dt { font-weight:700; }
.hpd-deposit-card.hpco-choice .hpco-refund-policy { display:block!important; margin:16px 0; padding:16px; border-radius:10px; background:#f3faf8; }
.hpco-refund-policy > strong { display:block; font-size:15px; color:#234e47; }
.hpd-deposit-card .hpco-refund-policy p { font-size:13px; line-height:1.7; margin:8px 0 0; }
.hpd-box.hpco-stale-choice { border-left:4px solid #a86712; background:#fffbf4; }
.hpd-box.hpco-stale-choice a { overflow-wrap:anywhere; }
@container (max-width:290px) {
  .hpd-deposit-card.hpco-choice .hpco-totals > div { grid-template-columns:minmax(0,1fr); gap:4px; }
  .hpd-deposit-card.hpco-choice .hpco-totals dd { text-align:left; }
}
@media(max-width:360px) {
  .hpco-summary .hpco-totals > div { grid-template-columns:minmax(0,1fr); gap:4px; }
  .hpco-summary .hpco-totals dd { text-align:left; }
}

/* 1.10.2: server-rendered combined amount in the standard order review. */
.woocommerce-checkout-review-order-table .hpco-review-deposit th,
.woocommerce-checkout-review-order-table .hpco-review-deposit td { background:#f0faf8; color:#234e47; vertical-align:top; }
.hpco-review-deposit small { display:block; font-weight:400; font-size:12px; line-height:1.55; margin-top:5px; }
.hpco-combined-amount { display:block; min-width:0; color:#087f7c; overflow-wrap:anywhere; }
.hpco-combined-amount > strong { display:block; font-size:clamp(18px,2.5vw,24px); line-height:1.5; }
.hpco-combined-amount > small { display:block; color:#576963; font-size:12px; line-height:1.6; font-weight:400; margin-top:6px; }
.hpco-total-caption { display:block; font-size:12px; font-weight:700; line-height:1.6; }
.hpco-row-labelled .hpco-total-caption { display:none; }
@media(max-width:420px) {
  .woocommerce-checkout-review-order-table .hpco-review-deposit th,
  .woocommerce-checkout-review-order-table .hpco-review-deposit td { padding:12px!important; font-size:14px; overflow-wrap:anywhere; }
  .hpco-combined-amount > strong { font-size:18px; }
  .hpco-combined-amount .woocommerce-Price-amount { white-space:normal; }
}
