/* ABC Home shopping panel: one aligned overview, native quantities and full titles. */
#abch-flow-dialog,.abch-flow-document{
  --flow-red:var(--abc-red-deep,#b93642);--flow-navy:var(--abc-navy,#21384c);
  --flow-border:var(--color-border,#d8dee3);--flow-muted:var(--color-muted,#66727d);
  --flow-surface:var(--color-bg,#faf9f6);--flow-font:var(--font,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);
  font-family:var(--flow-font);color:var(--flow-navy);
}
#abch-flow-launcher{position:fixed;right:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:9990;background:var(--abc-red-deep,#b93642);color:#fff;border:0;border-radius:3px;padding:10px 18px;font:600 14px/1.4 var(--font,system-ui);cursor:pointer}
#abch-flow-launcher span:not(:empty){margin-left:8px}
body:has(a.header-cart) #abch-flow-launcher{display:none}
html.abch-flow-modal-open{overflow:hidden}
html.abch-flow-root{margin-top:0!important;height:100%;overflow:hidden}
#abch-flow-dialog{box-sizing:border-box;width:min(1280px,calc(100vw - 32px));max-width:none;height:min(960px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--flow-border);border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--abc-red,#d84d57) 0 52%,var(--abc-yellow,#dfc65b) 52% 70%,var(--abc-blue,#4c7898) 70% 100%) 1;border-radius:4px;background:#fff;box-shadow:0 14px 48px #21384c44;overflow:hidden}
#abch-flow-dialog[open]{display:flex;flex-direction:column}
#abch-flow-dialog::backdrop{background:#172c3db3}
#abch-flow-dialog .abch-flow-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto 36px;align-items:center;gap:8px 20px;padding:10px 16px;background:var(--flow-surface);border-bottom:1px solid var(--flow-border);flex:none}
#abch-flow-title{grid-column:1;grid-row:1;margin:0;font:700 19px/1.2 var(--flow-font);color:var(--flow-navy)}
#abch-flow-dialog .abch-flow-close{grid-column:4;grid-row:1;display:grid;place-items:center;width:36px;height:36px;min-height:0;margin:0;padding:0;border:1px solid var(--flow-border);border-radius:3px;background:#fff;color:var(--flow-navy)!important;font:26px/1 var(--flow-font);cursor:pointer}
#abch-flow-dialog nav{grid-column:2;grid-row:1;display:flex;align-items:stretch;gap:0;justify-self:start}
#abch-flow-dialog nav button{min-height:36px;margin:0;padding:8px 14px;border:1px solid var(--flow-border);border-radius:0;background:#fff;color:var(--flow-navy)!important;font:600 13px/1.3 var(--flow-font);cursor:pointer}
#abch-flow-dialog nav button+button{border-left:0}
#abch-flow-dialog nav button[aria-current=step]{background:var(--flow-red);color:#fff!important;border-color:var(--flow-red)}
#abch-flow-dialog nav span{font-size:11px;margin-right:5px;opacity:.8}
#abch-flow-share{grid-column:3;grid-row:1;margin:0;padding:8px 0;border:0;background:transparent;color:var(--flow-navy)!important;font:500 12px/1.4 var(--flow-font);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#abch-flow-status{grid-column:1/-1;margin:0;font:12px/1.4 var(--flow-font);color:var(--flow-muted)}
#abch-flow-status:empty{display:none}
#abch-flow-status input{width:100%}
#abch-flow-loading{padding:24px;font-size:14px}
#abch-flow-frame{border:0;width:100%;flex:1;min-height:0;background:#fff}
#abch-flow-dialog [hidden],.abch-flow-document [hidden]{display:none!important}
#abch-flow-dialog button:focus-visible,.abch-flow-document button:focus-visible,.abch-flow-item:focus-visible{outline:2px solid var(--abc-blue,#4c7898);outline-offset:2px}
#abch-flow-restore{padding:14px 18px;overflow:auto;max-height:45%;border-bottom:1px solid #d2b55a;background:#fff8e7;font-size:13px}
#abch-flow-restore h3{margin:0 0 8px;font-size:17px}
#abch-flow-restore p{font-size:13px}
#abch-flow-restore ul{padding-left:20px;max-height:140px;overflow:auto}
.abch-flow-landing{max-width:1000px;margin:40px auto;padding:24px}
.abch-flow-document{display:block!important;box-sizing:border-box;margin:0!important;height:100dvh;overflow:hidden;background:#fff!important;color:var(--flow-navy)!important;font:14px/1.4 var(--flow-font)}
.abch-flow-document *,#abch-flow-dialog *{box-sizing:border-box}
.abch-flow-document #wpadminbar,.abch-flow-document #abch-email-launcher,.abch-flow-document #abch-email-tools,.abch-flow-document #abch-email-popup,.abch-flow-document #cmplz-manage-consent{display:none!important}
.abch-flow-document #abch-flow-content{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;max-width:none;margin:0;padding:0}
#abch-flow-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;padding:0 16px}
#abch-flow-basket{--flow-columns:24px 40px minmax(180px,1fr) minmax(76px,.22fr) clamp(128px,14vw,148px) minmax(80px,.22fr) 28px}
.abch-flow-columns,.abch-flow-item{display:grid;grid-template-columns:var(--flow-columns);column-gap:12px;align-items:center;padding:10px 0}
.abch-flow-columns{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid var(--flow-border);font:500 11px/1.3 var(--flow-font);color:var(--flow-muted)}
.abch-flow-columns .abch-flow-name{grid-column:3}
.abch-flow-columns .abch-flow-price{grid-column:4}
.abch-flow-columns .abch-flow-quantity{grid-column:5;text-align:center}
.abch-flow-columns .abch-flow-line-total{grid-column:6}
.abch-flow-item{position:relative;min-height:64px;row-gap:0;margin:0;border:0;border-bottom:1px solid var(--flow-border);border-radius:0;background:#fff;cursor:pointer;transition:background-color .15s}
.abch-flow-item:hover{background:#faf8f4}
.abch-flow-item-heading,.abch-flow-item-controls{display:contents}
.abch-flow-item .abch-flow-check{grid-column:1;grid-row:1}
.abch-flow-item .abch-flow-image{grid-column:2;grid-row:1}
.abch-flow-item .abch-flow-name{grid-column:3;grid-row:1}
.abch-flow-item .abch-flow-price{grid-column:4;grid-row:1}
.abch-flow-item .abch-flow-quantity{grid-column:5;grid-row:1}
.abch-flow-item .abch-flow-line-total{grid-column:6;grid-row:1}
.abch-flow-item .abch-flow-more{grid-column:7;grid-row:1}
.abch-flow-name{min-width:0}
.abch-flow-name [data-product-name]{display:block;color:var(--flow-navy);font:600 14px/1.4 var(--flow-font);overflow-wrap:anywhere;white-space:normal}
.abch-flow-label,.abch-flow-quantity label{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.abch-flow-image{width:40px;height:40px;object-fit:contain;border:1px solid #eef0f1;border-radius:2px;background:#fff}
.abch-flow-check{position:relative;display:grid;place-items:center;width:24px;height:32px;margin:0;cursor:pointer}
.abch-flow-check input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0}
.abch-flow-check span{display:grid;place-items:center;width:21px;height:21px;border:1px solid #8c9aa5;border-radius:2px;color:transparent;background:#fff;font:700 15px/1 var(--flow-font)}
.abch-flow-check input:checked+span{background:var(--flow-red);border-color:var(--flow-red);color:#fff}
.abch-flow-check input:focus-visible+span{outline:2px solid var(--abc-blue,#4c7898);outline-offset:2px}
.abch-flow-document .abch-flow-more{align-self:center;width:28px;height:32px;min-height:0;margin:0;padding:0;border:0;border-radius:2px;background:transparent;color:var(--flow-navy)!important;font:700 22px/1 var(--flow-font);cursor:pointer}
.abch-flow-more[aria-expanded=true]{background:var(--abc-mist,#e8eff2)}
.abch-flow-details{grid-column:3/-1;min-width:0;margin:9px 0 2px;padding:10px 12px;border-left:2px solid var(--abc-red,#d84d57);background:var(--flow-surface);font:12px/1.45 var(--flow-font);cursor:default}
.abch-flow-details dl{display:grid;grid-template-columns:minmax(70px,auto) minmax(0,1fr);gap:3px 12px;margin:0}
.abch-flow-details dt{font-weight:400;color:var(--flow-muted);overflow-wrap:anywhere}
.abch-flow-details dd{margin:0;overflow-wrap:anywhere}
.abch-flow-details p{margin:0}
.abch-flow-details a{display:inline-block;margin-top:6px;color:var(--flow-red)}
.abch-flow-details-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.abch-flow-details-actions a{margin-top:0}
.abch-flow-details-actions .abch-flow-remove{margin-left:auto;padding:5px 10px;min-height:30px;border:1px solid #d9a7ab;background:#fff;color:var(--flow-red)!important;font:600 12px/1.4 var(--flow-font);cursor:pointer}
.abch-flow-details-actions .abch-flow-remove:hover{background:#fff0f1;border-color:var(--flow-red)}
.abch-flow-price,.abch-flow-line-total{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.abch-flow-price{text-align:right}
.abch-flow-line-total{text-align:right}
.abch-flow-line-total strong{font-weight:700}
.abch-flow-quantity{min-width:0}
.abch-flow-quantity-input{display:grid;grid-template-columns:28px minmax(28px,1fr) auto 28px;align-items:center;width:100%;height:34px;border:1px solid #c7cfd5;border-radius:2px;background:#fff;overflow:hidden}
.abch-flow-quantity-input input{min-width:0;width:100%;height:32px;margin:0!important;padding:2px 1px!important;text-align:center;border:0!important;box-shadow:none!important;border-radius:0!important;background:#fff;color:var(--flow-navy)!important;font:600 14px/1.2 var(--flow-font);-moz-appearance:textfield}
.abch-flow-quantity-input input::-webkit-inner-spin-button,.abch-flow-quantity-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.abch-flow-document .abch-flow-quantity-input button{width:28px;min-width:0;height:32px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#f3f4f4;color:var(--flow-navy)!important;font:500 18px/1 var(--flow-font);cursor:pointer}
.abch-flow-quantity-input [data-unit]{padding-right:5px;color:var(--flow-muted);font:400 10px/1 var(--flow-font);white-space:nowrap}
.abch-flow-quantity small{display:block;margin:3px 0 0;font:10px/1.3 var(--flow-font);color:var(--flow-muted);text-align:center}
.abch-flow-quantity small:empty{display:none}
.abch-flow-item-note{grid-column:3/-1;margin:5px 0 0;color:#9b2632;font:12px/1.4 var(--flow-font)}
.abch-flow-item-note:empty{display:none}
.abch-flow-item.is-paused{background:#f4f5f5}
.abch-flow-item.is-paused [data-product-name],.abch-flow-item.is-paused .abch-flow-line-total{color:#71808b}
.abch-flow-item.is-paused .abch-flow-image{opacity:.65}
.abch-flow-item.is-paused .abch-flow-line-total strong{text-decoration:line-through;text-decoration-thickness:1px}
.abch-flow-cart-footer{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;min-height:64px;padding:10px 16px;border-top:1px solid #bec8d0;background:var(--flow-surface);box-shadow:0 -3px 12px #21384c08}
.abch-flow-summary{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:18px;font:500 12px/1.4 var(--flow-font)}
.abch-flow-summary strong{grid-column:2;grid-row:1/3;font-size:20px;color:var(--flow-navy);white-space:nowrap;font-variant-numeric:tabular-nums}
#abch-flow-count{grid-column:1;font-size:11px;color:var(--flow-muted)}
.abch-flow-cart-actions{display:flex;align-items:center;gap:10px;margin:0;flex-wrap:wrap}
.abch-flow-primary,.abch-flow-secondary{min-height:38px;margin:0;padding:9px 14px;border:1px solid var(--flow-border);border-radius:2px;font:600 13px/1.3 var(--flow-font);cursor:pointer}
.abch-flow-document .abch-flow-primary,#abch-flow-dialog .abch-flow-primary{background:var(--flow-red);color:#fff!important;border-color:var(--flow-red)}
.abch-flow-document .abch-flow-secondary,#abch-flow-dialog .abch-flow-secondary{background:transparent;color:var(--flow-navy)!important}
.abch-flow-document button:disabled{opacity:.55;cursor:wait}
.abch-flow-error,.abch-flow-pause{margin:12px 0;padding:10px 12px;border:1px solid #d8bf73;border-radius:2px;background:#fff9e8;color:#6b5421;font:13px/1.45 var(--flow-font)}
.abch-flow-error{border-color:#d9959c;background:#fff2f2;color:#922b36}
#abch-flow-delivery{border-top:2px solid var(--flow-navy);padding:18px 0 8px;scroll-margin-top:10px}
#abch-flow-delivery-title{font:700 21px/1.3 var(--flow-font);color:var(--flow-navy);margin:0 0 12px}
.abch-flow-document .wp-block-woocommerce-checkout{margin:0!important;width:100%!important;max-width:none!important}
.abch-flow-document .wc-block-components-sidebar-layout{flex-wrap:wrap}
.abch-flow-document .wc-block-components-main,.abch-flow-document .wc-block-components-sidebar{width:100%!important;padding:0!important;margin:0!important}
.abch-flow-document .wp-block-woocommerce-checkout-order-summary-cart-items-block,.abch-flow-document .wc-block-components-order-summary__content{display:none!important}
.abch-flow-document .wc-block-checkout__sidebar{position:static!important}
.abch-flow-document .wc-block-components-checkout-return-to-cart-button{display:none}

.abch-flow-empty{padding:32px 12px;text-align:center;color:var(--flow-muted)}
@media(max-width:760px){
  #abch-flow-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--abc-red,#d84d57) 0 52%,var(--abc-yellow,#dfc65b) 52% 70%,var(--abc-blue,#4c7898) 70% 100%) 1;border-radius:0}
  #abch-flow-dialog .abch-flow-header{grid-template-columns:minmax(0,1fr) auto 34px;gap:7px 10px;padding:8px 12px}
  #abch-flow-title{grid-column:1;grid-row:1;font-size:18px}
  #abch-flow-dialog .abch-flow-close{grid-column:3;grid-row:1;width:34px;height:34px}
  #abch-flow-dialog nav{grid-column:1/3;grid-row:2}
  #abch-flow-dialog nav button{min-height:34px;padding:7px 13px;font-size:12px}
  #abch-flow-share{grid-column:2;grid-row:1;font-size:11px}
  #abch-flow-scroll{padding:0 12px;scrollbar-gutter:auto}
  .abch-flow-columns{display:none}
  .abch-flow-item{grid-template-columns:24px minmax(0,1fr) 28px;gap:7px 8px;min-height:0;padding:10px 0}
  .abch-flow-item .abch-flow-check{grid-column:1;grid-row:1;align-self:start}
  .abch-flow-item .abch-flow-name{grid-column:2;grid-row:1}
  .abch-flow-item .abch-flow-more{grid-column:3;grid-row:1;align-self:start}
  .abch-flow-name [data-product-name]{font-size:13px;line-height:1.4}
  .abch-flow-item .abch-flow-image{display:none}
  .abch-flow-item-controls{grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1fr) 134px minmax(0,1fr);align-items:center;gap:8px}
  .abch-flow-item .abch-flow-price{grid-column:1;grid-row:1;text-align:left;font-size:12px}
  .abch-flow-item .abch-flow-quantity{grid-column:2;grid-row:1}
  .abch-flow-item .abch-flow-line-total{grid-column:3;grid-row:1;font-size:13px}
  .abch-flow-quantity-input{grid-template-columns:32px minmax(24px,1fr) auto 32px;height:36px}
  .abch-flow-document .abch-flow-quantity-input button{width:32px;height:34px}
  .abch-flow-quantity-input input{height:34px;font-size:14px}
  .abch-flow-details,.abch-flow-item-note{grid-column:2/-1;margin-top:0}
  .abch-flow-cart-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 12px}
  .abch-flow-summary{grid-column:1/-1;grid-template-columns:1fr auto;column-gap:12px;font-size:11px}
  .abch-flow-summary strong{font-size:19px}
  #abch-flow-count{font-size:10px}
  .abch-flow-cart-actions{grid-column:1/-1;justify-content:space-between;gap:8px}
  .abch-flow-cart-actions button{min-height:34px;padding:7px 10px;font-size:12px}
  #abch-flow-launcher{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:10px 14px}
}
@media(max-width:360px){
  .abch-flow-item-controls{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);gap:5px}
  .abch-flow-quantity-input{grid-template-columns:28px minmax(22px,1fr) auto 28px}
  .abch-flow-document .abch-flow-quantity-input button{width:28px}
}
@media(prefers-reduced-motion:reduce){.abch-flow-item{transition:none}}

/* Keep actions left and the running amount at the right edge. */
.abch-flow-cart-footer .abch-flow-cart-actions{order:-1;justify-content:flex-start}
.abch-flow-cart-footer .abch-flow-summary{margin-left:auto;text-align:right;justify-content:flex-end}

/* The fixed frame sits above an inset, quiet content surface. */
#abch-flow-dialog .abch-flow-header{grid-template-columns:minmax(0,1fr) 36px;background:#21384c;border-bottom:1px solid #172c3d;box-shadow:0 3px 10px #21384c30;position:relative;z-index:2;padding:10px 16px}
#abch-flow-dialog #abch-flow-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#abch-flow-dialog nav{grid-column:1;grid-row:1}
#abch-flow-dialog .abch-flow-close{grid-column:2;grid-row:1;background:#21384c;border-color:#7d8b98;color:#fff!important}
#abch-flow-dialog #abch-flow-status{color:#fff}
.abch-flow-document{background:#eeede8!important}
#abch-flow-scroll{padding:12px 24px 20px}
#abch-flow-basket{background:#fff;box-shadow:0 1px 4px #21384c12;border:1px solid #d8dee3}
#abch-flow-delivery{background:#fff;padding:16px;border:1px solid #d8dee3;margin-top:16px}
.abch-flow-cart-footer{background:#21384c;color:#fff;position:relative;z-index:2;border-top:1px solid #172c3d;box-shadow:0 -3px 12px #21384c26}
.abch-flow-cart-footer .abch-flow-summary strong,.abch-flow-cart-footer .abch-flow-summary small{color:#fff}
.abch-flow-cart-footer .abch-flow-secondary{background:#f5f0e7;color:#21384c!important;border-color:#f5f0e7}
@media(max-width:760px){
 #abch-flow-dialog .abch-flow-header{padding:8px 12px}
 #abch-flow-scroll{padding:8px 10px 12px}
 #abch-flow-delivery{padding:12px;margin-top:10px}
 .abch-flow-cart-footer{display:flex;align-items:center;gap:12px}
 .abch-flow-cart-footer .abch-flow-cart-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
 .abch-flow-cart-footer .abch-flow-summary{display:flex;flex-direction:column;align-items:flex-end;gap:0;max-width:45%}
 .abch-flow-cart-footer .abch-flow-summary strong{order:-1;font-size:19px}
}

/* A slightly darker frame is sufficient; retain the storefront's light chrome. */
#abch-flow-dialog .abch-flow-header,.abch-flow-cart-footer{background:#e6e4df;color:#21384c;border-color:#c6cbc9}
#abch-flow-dialog .abch-flow-close{background:#f8f7f3;color:#21384c!important;border-color:#bdc5ca}
#abch-flow-dialog #abch-flow-status,.abch-flow-cart-footer .abch-flow-summary strong{color:#21384c}
.abch-flow-cart-footer .abch-flow-summary small{color:#66727d}
.abch-flow-cart-footer .abch-flow-secondary{background:#fff;border-color:#b9c3cc}

/* Three persistent steps; Woo's native fields/consents stay mounted once. */
.abch-flow-document .wc-block-checkout__sidebar,.abch-flow-document .wp-block-woocommerce-checkout-totals-block,.abch-flow-document .wp-block-woocommerce-checkout-order-summary-block{display:none!important}
html[data-abch-flow-step="checkout"] :is(.wc-block-checkout__terms,.wc-block-checkout__actions){display:none!important}
html[data-abch-flow-step="review"] :is(.ship-panel,.ecod-block-delivery,.sc-block-delivery,#shipping-fields,#billing-fields,#contact-fields,#shipping-option,#payment-method,.wc-block-checkout__additional-fields,.wc-block-checkout__order-notes,.wc-block-checkout__shipping-method){display:none!important}
#abch-flow-review{font-size:13px}.abch-flow-review-items{list-style:none!important;padding:0!important;margin:0 0 18px!important}
.abch-flow-review-items li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px 18px;align-items:baseline;padding:9px 0;border-bottom:1px solid #d8dee3}
.abch-flow-review-items small,.abch-flow-review-items strong{white-space:nowrap}.abch-flow-review-items strong{font-size:13px}
.abch-flow-review-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-bottom:18px}
.abch-flow-review-details h3{font-size:13px;margin:0 0 6px;color:#66727d}.abch-flow-review-details p{font-size:13px;margin:2px 0;overflow-wrap:anywhere}
html[data-abch-flow-step="review"] .wc-block-components-checkout-place-order-button{background:#b93642!important;color:#fff!important;border-radius:3px!important;min-height:42px}
@media(max-width:760px){#abch-flow-dialog nav button{padding:7px 10px}.abch-flow-review-details{gap:12px}.abch-flow-review-items li{gap:8px;grid-template-columns:minmax(0,1fr) auto}.abch-flow-review-items li small{grid-column:1;font-size:11px}.abch-flow-review-items li strong{grid-column:2;grid-row:1/3}}

/* Carrier controls above own selection; hide Woo placeholder radio/rate rows. */
.abch-flow-document #shipping-option,.abch-flow-document .wc-block-checkout__shipping-option{display:none!important}

.abch-flow-cart-actions .abch-flow-primary{order:-1}
@media(min-width:540px) and (max-width:760px){
 .abch-flow-cart-footer{display:flex;flex-wrap:nowrap;gap:14px;padding:9px 12px}
 .abch-flow-cart-footer .abch-flow-cart-actions{flex-direction:row;flex-wrap:nowrap;gap:8px;align-items:center}
 .abch-flow-cart-footer .abch-flow-summary{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px;max-width:none}
 .abch-flow-cart-footer .abch-flow-summary strong{order:0;grid-column:2;grid-row:1/3}
 .abch-flow-cart-footer .abch-flow-summary span,.abch-flow-cart-footer .abch-flow-summary small{grid-column:1;white-space:nowrap}
}
