/* ABV cart and classic checkout, one presentation owner. Native controls stay live. */
body.abv-cart-surface,
body.abv-checkout-surface {
    --abv-flow-ink: #14213c;
    --abv-flow-muted: #626a77;
    --abv-flow-paper: #f7f3eb;
    --abv-flow-panel: #fffdf9;
    --abv-flow-frame-paper: #fcf9f3;
    --abv-flow-line: #ddd5c6;
    --abv-flow-accent: #14213c;
    --abv-flow-ochre: #ae7b30;
    --abv-flow-soft: #eee7d8;
}
/* The route owner emits the frame with the first HTML, without a legacy shell. */
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-page {
    box-sizing: border-box;
    width: min(1180px,calc(100% - 40px));
    margin: clamp(26px,4vw,56px) auto clamp(34px,5vw,64px);
    color: var(--abv-flow-ink);
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-intro { margin: 0 0 22px; }
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-kicker {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 8px;
    color: #85591e;
    font: 650 12px/1.4 "K2D",system-ui,sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-kicker::before {
    content: "";
    width: 24px;
    height: 1px;
    background: currentColor;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-intro h1 {
    margin: 0 0 9px;
    color: var(--abv-flow-ink);
    font: 650 clamp(30px,3.8vw,46px)/1.15 "Playfair Display",Playfair,Georgia,serif;
    text-wrap: balance;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-lead {
    max-width: 68ch;
    margin: 0;
    color: var(--abv-flow-muted);
    font: 400 15px/1.55 "K2D",system-ui,sans-serif;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: clamp(16px,2.6vw,32px);
    border: 1px solid #d6c5a8;
    border-radius: 18px;
    background: var(--abv-flow-frame-paper);
    box-shadow: 0 10px 36px #14213c0b;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame > .woocommerce {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
}
/* The Woo shortcode and native form are layout wrappers, not nested cards.
   Also neutralize legacy theme / Additional CSS surface declarations here. */
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame > .woocommerce,
body.abv-checkout-surface .abv-flow-frame > .woocommerce > form.checkout,
body.abv-cart-surface .abv-flow-frame > .woocommerce > form.woocommerce-cart-form {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame * { box-sizing: border-box; }
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame :is(a,button,input,select,textarea):focus-visible {
    outline: 2px solid var(--abv-flow-ochre);
    outline-offset: 3px;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame a { color: var(--abv-flow-ink); text-underline-offset: 3px; }
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame :is(button.button,a.button,.abv-flow-next,#place_order) {
    background: var(--abv-flow-ink);
    color: #fffdf9;
    border: 1px solid var(--abv-flow-ink);
    border-radius: 8px !important;
    box-shadow: none;
    font: 600 15px/1.4 "K2D",system-ui,sans-serif;
    min-height: 48px !important;
    padding: 12px 20px;
    white-space: normal;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame :is(button.button,a.button,.abv-flow-next,#place_order):hover { background: #25354f; border-color: #25354f; }
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame :is(button,.button):disabled { opacity: .55; cursor: default; }
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.abv-cart-pause-notice) {
    color: var(--abv-flow-ink);
    font: 400 14px/1.55 "K2D",system-ui,sans-serif;
    background: #f2ecdf;
    border: 0;
    border-left: 3px solid var(--abv-flow-ochre);
    border-radius: 0 8px 8px 0;
    box-shadow: none;
    padding: 12px 16px;
    margin: 0 0 16px;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.abv-cart-pause-notice)::before { display: none; }
body.abv-checkout-surface .woocommerce-form-coupon-toggle .woocommerce-info { padding: 5px 0; border: 0; background: transparent; margin-bottom: 14px; }
body.abv-checkout-surface .abv-flow-frame form.checkout_coupon {
    margin: 0 0 18px;
    padding: 14px;
    border: 1px solid var(--abv-flow-line);
    border-radius: 10px;
    background: var(--abv-flow-paper);
}
body.abv-checkout-surface .woocommerce-form-coupon-toggle a { color: var(--abv-flow-ochre); }

/* Native classic checkout fallback. No field or native gateway is hidden here. */
body.abv-checkout-surface form.checkout {
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr);
    grid-template-areas: none;
    grid-template-rows: max-content minmax(0,1fr);
    gap: 0 48px;
    max-width: 1180px;
    width: 100%;
    padding: 0;
    margin: 0 auto;
    color: var(--abv-flow-ink);
    font: 400 15px/1.55 "K2D",system-ui,sans-serif;
    overflow: visible;
}
body.abv-checkout-surface form.checkout :is(#customer_details,#order_review,#order_review_heading) {
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    grid-area: auto;
}
body.abv-checkout-surface form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
body.abv-checkout-surface form.checkout #order_review_heading { grid-column: 2; grid-row: 1; }
body.abv-checkout-surface form.checkout #order_review { grid-column: 2; grid-row: 2; }
body.abv-checkout-surface form.checkout #customer_details :is(.col-1,.col-2) { float: none; width: 100%; max-width: none; margin: 0; padding: 0; }
body.abv-checkout-surface form.checkout :is(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields,.woocommerce-account-fields) {
    padding: 0;
    margin: 0 0 24px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
body.abv-checkout-surface form.checkout :is(#order_review_heading,.woocommerce-billing-fields > h3,.woocommerce-additional-fields > h3) {
    font: 400 28px/1.25 "Playfair Display",Playfair,Georgia,serif;
    color: var(--abv-flow-ink);
    border: 0;
    margin: 0 0 22px;
    padding: 0;
}
body.abv-checkout-surface form.checkout .woocommerce-billing-fields__field-wrapper { display: flow-root; }
body.abv-checkout-surface form.checkout .form-row { min-width: 0; margin: 0 0 16px; padding: 0; }
body.abv-checkout-surface form.checkout .form-row-first { float: left; width: calc(50% - 8px); }
body.abv-checkout-surface form.checkout .form-row-last { float: right; width: calc(50% - 8px); }
body.abv-checkout-surface form.checkout .form-row-wide { clear: both; width: 100%; }
body.abv-checkout-surface form.checkout .form-row:not(.form-row-first):not(.form-row-last) { clear: both; width: 100%; }
body.abv-checkout-surface form.checkout .form-row label { display: block; font-size: 14px; line-height: 1.45; color: var(--abv-flow-ink); margin: 0 0 6px; }
body.abv-checkout-surface form.checkout .form-row .required { color: #98412e; text-decoration: none; }
/* Match the actual form structure above the retained global wireup input rule. */
body.abv-checkout-surface .abv-flow-frame form.checkout .form-row :is(.input-text,select) {
    width: 100%;
    max-width: 100%;
    height: 46px;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #cbc4b8;
    border-radius: 4px;
    background: var(--abv-flow-panel);
    box-shadow: none;
    color: var(--abv-flow-ink);
    font: 400 16px/1.45 "K2D",system-ui,sans-serif;
}
body.abv-checkout-surface .abv-flow-frame form.checkout .form-row textarea.input-text { height: auto; min-height: 92px; resize: vertical; }
body.abv-checkout-surface form.checkout .select2-container { width: 100% !important; max-width: 100%; }
body.abv-checkout-surface .abv-flow-frame form.checkout .select2-container .select2-selection--single { height: 46px; min-height: 46px; padding: 0; border: 1px solid #cbc4b8; border-radius: 4px; background: var(--abv-flow-panel); }
body.abv-checkout-surface form.checkout .select2-container .select2-selection__rendered { line-height: 44px; color: var(--abv-flow-ink); padding: 0 32px 0 12px; }
body.abv-checkout-surface form.checkout .select2-container .select2-selection__arrow { height: 44px; right: 6px; }
body.abv-checkout-surface form.checkout input:is([type="radio"],[type="checkbox"]) { accent-color: var(--abv-flow-ink); box-shadow: none; }
body.abv-checkout-surface form.checkout :is(.create-account,#abv_invoice_address_field,.abv-invoice-address-choice) { clear: both; margin: 0 0 18px; }
body.abv-checkout-surface form.checkout :is(.create-account,#abv_invoice_address_field,.abv-invoice-address-choice,#ship-to-different-address) label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-height: 44px;
    padding: 10px 0;
    margin: 0;
    color: var(--abv-flow-ink);
    font: 400 14px/1.55 "K2D",system-ui,sans-serif;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
body.abv-checkout-surface form.checkout :is(.create-account,#abv_invoice_address_field,.abv-invoice-address-choice,#ship-to-different-address) input[type="checkbox"] {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    margin: 2px 0 0;
}
body.abv-checkout-surface form.checkout #ship-to-different-address { margin: 0; padding: 0; border: 0; background: none; }
body.abv-checkout-surface form.checkout .woocommerce-additional-fields { margin-top: 20px; }
body.abv-checkout-surface form.checkout .woocommerce-invalid :is(input,select,textarea) { border-color: #a14332; }
body.abv-checkout-surface #order_review .woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    margin: 0 0 20px;
    table-layout: auto;
}
body.abv-checkout-surface #order_review .woocommerce-checkout-review-order-table :is(th,td) {
    padding: 13px 0;
    border: 0;
    border-bottom: 1px solid var(--abv-flow-line);
    background: transparent;
    color: var(--abv-flow-ink);
    font: 400 14px/1.55 "K2D",system-ui,sans-serif;
    vertical-align: top;
    text-align: left;
    white-space: normal;
}
body.abv-checkout-surface #order_review .woocommerce-checkout-review-order-table th { font-weight: 600; }
body.abv-checkout-surface #order_review .woocommerce-checkout-review-order-table .product-total,
body.abv-checkout-surface #order_review .woocommerce-checkout-review-order-table :is(.cart-subtotal,.order-total) td { text-align: right; white-space: nowrap; padding-left: 14px; }
body.abv-checkout-surface #order_review .woocommerce-checkout-review-order-table .product-name { padding-right: 12px; overflow-wrap: anywhere; }
body.abv-checkout-surface #order_review .order-total :is(th,td) { padding: 18px 0; font-size: 18px; font-weight: 600; border-bottom: 0; }
body.abv-checkout-surface #order_review :is(#shipping_method,.wc_payment_methods) { list-style: none; margin: 0; padding: 0; border: 0; background: transparent; }
body.abv-checkout-surface #order_review :is(#shipping_method,.wc_payment_methods) > li {
    display: grid;
    grid-template-columns: 20px minmax(0,1fr);
    column-gap: 12px;
    min-height: 56px;
    padding: 0 14px;
    margin: 0;
    border: 0;
    border-left: 3px solid transparent;
    border-bottom: 1px solid var(--abv-flow-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    position: relative;
}
body.abv-checkout-surface #order_review :is(#shipping_method,.wc_payment_methods) > li:has(> input:checked) { background: var(--abv-flow-soft); border-left-color: var(--abv-flow-ink); }
body.abv-checkout-surface #order_review :is(#shipping_method,.wc_payment_methods) > li > input[type="radio"] {
    grid-column: 1;
    grid-row: 1;
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    float: none;
    margin: 18px 0 0;
    padding: 0;
}
body.abv-checkout-surface #order_review :is(#shipping_method,.wc_payment_methods) > li > label {
    grid-column: 2;
    grid-row: 1;
    display: block;
    align-content: center;
    min-height: 55px;
    width: 100%;
    max-width: 100%;
    padding: 14px 0;
    margin: 0;
    color: var(--abv-flow-ink);
    font: 400 15px/1.65 "K2D",system-ui,sans-serif;
    float: none;
    cursor: pointer;
    overflow-wrap: anywhere;
}
body.abv-checkout-surface #order_review #shipping_method > li > label img { width: 18px; max-height: 20px; object-fit: contain; vertical-align: -3px; margin: 0 6px 0 0; }
body.abv-checkout-surface #order_review .wc_payment_methods > li > label img { width: auto; max-width: 64px; max-height: 28px; vertical-align: middle; margin-left: 8px; }
body.abv-checkout-surface #order_review #payment { padding: 0; margin: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
body.abv-checkout-surface #order_review #payment .payment_box {
    grid-column: 2;
    color: var(--abv-flow-muted);
    font: 400 14px/1.65 "K2D",system-ui,sans-serif;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    width: 100%;
    margin: 0 0 16px;
    padding: 0;
}
body.abv-checkout-surface #order_review #payment .payment_box::before { display: none; }
body.abv-checkout-surface #order_review #payment .payment_box p { margin: 0 0 8px; }
body.abv-checkout-surface #order_review #payment .payment_box :is(iframe,input,select) { max-width: 100%; }
body.abv-checkout-surface #order_review .packetery-widget-button-table-row th { width: 130px; padding-right: 16px; }
body.abv-checkout-surface #order_review :is(.balikovna-picker,.packeta-widget) { font-size: 14px; line-height: 1.6; }
body.abv-checkout-surface #order_review :is(.balikovna-open,.packeta-widget button,.packeta-widget a.button) {
    min-height: 44px;
    padding: 10px 16px;
    background: var(--abv-flow-panel);
    border: 1px solid var(--abv-flow-ink);
    border-radius: 4px;
    box-shadow: none;
    color: var(--abv-flow-ink);
    font: 600 14px/1.5 "K2D",system-ui,sans-serif;
    white-space: normal;
}
body.abv-checkout-surface #order_review :is(.balikovna-selected,.packeta-widget-place,.packeta-widget-info) { margin: 8px 0 0; color: var(--abv-flow-muted); }
body.abv-checkout-surface form.checkout .woocommerce-terms-and-conditions-wrapper,
body.abv-checkout-surface form.checkout .woocommerce-privacy-policy-text {
    color: var(--abv-flow-muted);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 0;
    font: 400 13px/1.65 "K2D",system-ui,sans-serif;
}
body.abv-checkout-surface form.checkout .woocommerce-privacy-policy-text p { margin: 0 0 18px; }
body.abv-checkout-surface #order_review #payment .place-order { padding: 0; margin: 20px 0 0; }
body.abv-checkout-surface #order_review #payment #place_order { float: none; display: block; width: 100%; margin: 20px 0 0; }
body.abv-checkout-surface form.checkout .woocommerce-terms-and-conditions-wrapper label { display: flex; gap: 10px; align-items: flex-start; min-height: 44px; padding: 8px 0; }
body.abv-checkout-surface form.checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; }

/* Progressive enhancement: only a successfully initialized form uses steps. */
body.abv-checkout-surface form.checkout.abv-checkout-flow { grid-template-columns: minmax(0,1fr); grid-template-areas: none; grid-template-rows: none; gap: 16px; max-width: none; }
body.abv-checkout-surface form.checkout.abv-checkout-flow [data-abv-owned][hidden] { display: none !important; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-nav {
    grid-column: 1 / -1;
    grid-row: 1;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
    width: 100%;
    padding: 5px 12px;
    margin: 0 0 5px;
    border: 1px solid var(--abv-flow-line);
    border-radius: 10px;
    background: var(--abv-flow-paper);
}
body.abv-checkout-surface .abv-checkout-flow .abv-flow-step {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0;
    margin: 0;
    color: var(--abv-flow-muted);
    font: 400 15px/1.4 "K2D",system-ui,sans-serif;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-align: left;
}
body.abv-checkout-surface .abv-checkout-flow .abv-flow-step-number { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #c7bead; color: var(--abv-flow-muted); background: transparent; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-step[aria-current="step"] { color: var(--abv-flow-ink); font-weight: 600; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-step[aria-current="step"] .abv-flow-step-number { color: #fffdf9; background: var(--abv-flow-ink); border-color: var(--abv-flow-ink); }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-complete .abv-flow-step-number { color: var(--abv-flow-ink); border-color: var(--abv-flow-ochre); background: var(--abv-flow-soft); }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-step:disabled { opacity: .58; }
body.abv-checkout-surface form.checkout.abv-checkout-flow #order_review_heading { grid-column: 1; grid-row: 2; margin: 0; }
body.abv-checkout-surface form.checkout.abv-checkout-flow #order_review { grid-column: 1; grid-row: 3; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-shipping-intro { margin: 0 0 12px; padding: 0; }
body.abv-checkout-surface .abv-checkout-flow #billing_country_field { width: 100%; max-width: 340px; float: none; margin: 0; }
/* Keep the country in Woo's native billing wrapper for country/state locale updates. */
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #customer_details { display: block; grid-column: 1; grid-row: 3; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #customer_details .woocommerce-billing-fields { margin: 0; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #order_review { grid-row: 4; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #order_review .woocommerce-checkout-review-order-table,
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #order_review .woocommerce-shipping-totals { display: block; margin: 0; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #order_review .woocommerce-checkout-review-order-table tfoot { display: block; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #order_review .woocommerce-shipping-totals > td { display: block; width: 100%; padding: 0; border: 0; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-actions { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 14px 0 0; border-top: 1px solid var(--abv-flow-line); }
body.abv-checkout-surface .abv-checkout-flow :is(.abv-flow-change,.abv-flow-cart-link) { display: inline-block; min-height: 44px; padding: 10px 0; color: var(--abv-flow-ink); border: 0; border-radius: 0; box-shadow: none; background: transparent; font: 400 14px/1.5 "K2D",system-ui,sans-serif; text-decoration: underline; text-underline-offset: 3px; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-status { grid-column: 1 / -1; color: var(--abv-flow-muted); padding: 0; margin: 0; font-size: 14px; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-status-error { padding: 12px 14px; border-left: 3px solid #a14332; background: #f6e9e4; color: #873927; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-review-summary { margin: 0 0 12px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-summary-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; border-bottom: 1px solid var(--abv-flow-line); padding: 0 0 14px; margin: 0 0 14px; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-summary-row strong { color: var(--abv-flow-ink); font-size: 14px; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-summary-copy { color: var(--abv-flow-muted); font-size: 13px; line-height: 1.6; margin: 5px 0 0; overflow-wrap: anywhere; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-change { font-size: 13px; padding: 0; align-self: start; }

body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] .abv-flow-review-summary,
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #customer_details :is(.col-2,.woocommerce-account-fields,.woocommerce-additional-fields,h3),
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #customer_details .form-row:not(:is(#billing_country_field,#billing_address_1_field,#billing_address_2_field,#billing_city_field,#billing_postcode_field,#billing_state_field)),
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"]:not(.abv-flow-show-delivery-address) #customer_details :is(#billing_address_1_field,#billing_address_2_field,#billing_city_field,#billing_postcode_field,#billing_state_field),
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #order_review #payment,
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #order_review .woocommerce-checkout-review-order-table :is(thead,tbody),
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #order_review .woocommerce-shipping-totals > th,
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #order_review .woocommerce-checkout-review-order-table tfoot > tr:not(.shipping):not(.woocommerce-shipping-totals):not(.balikovna-row):not(.packetery-widget-button-table-row),
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"]:not(.abv-flow-show-packeta-point) #order_review .packetery-widget-button-table-row,
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"]:not(.abv-flow-show-balikovna-point) #order_review .balikovna-row,
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="payment"] :is(#customer_details,.abv-flow-shipping-intro,.abv-flow-review-summary),
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="payment"] #order_review .woocommerce-checkout-review-order-table,
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="payment"] #order_review #payment .place-order,
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] :is(.abv-flow-shipping-intro,.abv-flow-actions),
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #customer_details #billing_country_field,
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #order_review .woocommerce-checkout-review-order-table :is(.shipping,.woocommerce-shipping-totals,.balikovna-row),
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #order_review .abv-flow-table-pickup .packetery-widget-button-table-row,
body.abv-checkout-surface form.checkout.abv-checkout-flow #customer_details :is(.abv-flow-hidden-address-field,.abv-flow-hidden-shipping-fields) { display: none !important; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #customer_details { grid-column: 1; grid-row: 2 / span 2; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] { max-width: 1180px; grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); grid-template-rows: min-content max-content minmax(0,1fr); gap: 16px 24px; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #order_review_heading { grid-column: 2; grid-row: 2; padding-left: 30px; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #order_review { grid-column: 2; grid-row: 3; padding-left: 30px; border-left: 1px solid var(--abv-flow-line); }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #order_review #payment .wc_payment_methods > li:not(.abv-flow-selected-payment),
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #order_review #payment .abv-flow-selected-payment > :is(input[name="payment_method"],label),
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"]:not(.abv-flow-payment-box-visible) #order_review #payment > .wc_payment_methods { display: none !important; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"].abv-flow-payment-box-visible #order_review #payment > .wc_payment_methods,
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #order_review #payment .wc_payment_methods > li.abv-flow-selected-payment { display: block; padding: 0; margin: 0; border: 0; min-height: 0; background: transparent; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #order_review #payment .abv-flow-selected-payment .payment_box { margin: 0 0 18px; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"].abv-flow-load-failed .abv-flow-actions { display: flex !important; }

/* Cart: native books and summary. Let notices take as many rows as needed. */
body.abv-cart-surface .abv-flow-frame > .woocommerce:has(> .woocommerce-cart-form) {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(250px,320px);
    gap: 16px 22px;
    align-items: start;
    color: var(--abv-flow-ink);
    font: 400 15px/1.55 "K2D",system-ui,sans-serif;
}
body.abv-cart-surface .abv-flow-frame > .woocommerce::before,
body.abv-cart-surface .abv-flow-frame > .woocommerce::after { content: none; display: none; }
body.abv-cart-surface .abv-flow-frame > .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
body:is(.abv-cart-surface,.abv-checkout-surface) .woocommerce-notices-wrapper:empty { display: none; }
body.abv-cart-surface .abv-flow-frame > .woocommerce > :is(.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-error,.woocommerce-info,.abv-cart-pause-notice) { margin: 0; }
body.abv-cart-surface .abv-flow-frame > .woocommerce > .woocommerce-notices-wrapper > :last-child { margin-bottom: 0; }
body.abv-cart-surface .woocommerce-cart-form {
    grid-column: 1;
    min-width: 0;
    margin: 0;
    padding: 4px 0 0;
}
body.abv-cart-surface .woocommerce .cart-collaterals {
    grid-column: 2;
    float: none;
    width: 100%;
    min-width: 0;
    padding: clamp(15px,2vw,22px);
    margin: 0;
    background: var(--abv-flow-paper);
    border: 1px solid var(--abv-flow-line);
    border-top: 3px solid #a67b3a;
    border-radius: 12px;
    box-shadow: none;
}
body.abv-cart-surface .woocommerce .cart_totals { float: none; width: 100%; padding: 0; margin: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
body.abv-cart-surface .woocommerce .cart_totals > h2 { color: var(--abv-flow-ink); font: 400 25px/1.25 "Playfair Display",Playfair,Georgia,serif; margin: 0 0 18px; padding: 0; }
body.abv-cart-surface .woocommerce table.shop_table { width: 100%; border-collapse: collapse; border: 0; border-radius: 0; margin: 0; padding: 0; background: transparent; box-shadow: none; }
body.abv-cart-surface .woocommerce table.shop_table :is(th,td) { border: 0; border-bottom: 1px solid var(--abv-flow-line); padding: 18px 8px; color: var(--abv-flow-ink); background: transparent; text-align: left; vertical-align: middle; font: 400 14px/1.5 "K2D",system-ui,sans-serif; }
body.abv-cart-surface .woocommerce table.shop_table thead th { padding-top: 0; padding-bottom: 12px; color: var(--abv-flow-muted); font-size: 12px; font-weight: 500; }
body.abv-cart-surface .woocommerce table.shop_table .product-name a { color: var(--abv-flow-ink); font-size: 16px; line-height: 1.5; font-weight: 500; text-decoration: none; }
body.abv-cart-surface .woocommerce table.shop_table .product-name { overflow-wrap: anywhere; }
body.abv-cart-surface .woocommerce table.shop_table .product-thumbnail { width: 78px; }
body.abv-cart-surface .woocommerce table.shop_table .product-thumbnail img { width: 52px; max-width: 52px; height: 72px; object-fit: contain; border-radius: 0; }
body.abv-cart-surface .woocommerce table.shop_table .product-remove { width: 38px; padding-left: 0; }
body.abv-cart-surface .woocommerce table.shop_table a.remove { display: grid; place-items: center; width: 36px; height: 44px; min-height: 44px; border: 0; border-radius: 0; color: #775e4c !important; background: transparent; font: 400 23px/1 "K2D",system-ui,sans-serif; }
body.abv-cart-surface .woocommerce table.shop_table a.remove:hover { color: #963c2c !important; background: #efe6dd; }
body.abv-cart-surface .woocommerce table.shop_table :is(.product-price,.product-subtotal) { white-space: nowrap; text-align: right; }
body.abv-cart-surface .woocommerce table.shop_table .product-price { display: none; }
body.abv-cart-surface .woocommerce table.shop_table .product-quantity { text-align: center; }
body.abv-cart-surface .woocommerce-cart-form .qty { width: 64px; max-width: 100%; height: 44px; min-height: 44px; padding: 7px; border: 1px solid #cbc4b8; border-radius: 4px; background: var(--abv-flow-panel); color: var(--abv-flow-ink); font-size: 14px; box-shadow: none; }
body.abv-cart-surface .woocommerce table.shop_table td.actions { padding: 18px 0; border: 0; text-align: right; }
body.abv-cart-surface .abv-flow-frame .woocommerce table.cart td.actions .coupon { float: left; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
body.abv-cart-surface .woocommerce .coupon label { display: none; }
body.abv-cart-surface .abv-flow-frame .woocommerce table.cart td.actions .coupon :is(.input-text,#coupon_code) { min-height: 46px; height: 46px; min-width: 0; width: clamp(100px,13vw,150px); padding: 9px 12px; border: 1px solid #cbc4b8; border-radius: 4px !important; background: var(--abv-flow-panel); color: var(--abv-flow-ink); font-size: 14px; box-shadow: none; }
body.abv-cart-surface .woocommerce .coupon button.button,
body.abv-cart-surface .woocommerce button[name="update_cart"] { min-height: 44px; font-size: 13px; padding: 10px 12px; background: transparent; border: 1px solid #b4b2af; color: var(--abv-flow-ink); }
body.abv-cart-surface .woocommerce .cart_totals table.shop_table :is(th,td) { padding: 12px 0; font-size: 14px; background: transparent; }
body.abv-cart-surface .woocommerce .cart_totals table.shop_table td { text-align: right; }
body.abv-cart-surface .woocommerce .cart_totals table.shop_table .order-total :is(th,td) { padding: 18px 0; font-size: 18px; border: 0; }
body.abv-cart-surface .woocommerce .cart_totals :is(.shipping,.woocommerce-shipping-totals,.woocommerce-shipping-calculator) { display: none !important; }
body.abv-cart-surface .woocommerce .wc-proceed-to-checkout { padding: 0; margin: 12px 0 0; }
body.abv-cart-surface .woocommerce .wc-proceed-to-checkout a.checkout-button { display: block; width: 100%; margin: 0; font-size: 15px; border-radius: 8px; }
body.abv-cart-surface .woocommerce .abv-cart-library-rail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    clear: both;
    gap: 12px;
    padding: 13px 0 0;
    margin: 0;
    border: 0;
    border-top: 1px solid var(--abv-flow-line);
    background: transparent;
}
body.abv-cart-surface .abv-cart-library-copy { display: grid; gap: 5px; min-width: 0; }
body.abv-cart-surface .abv-cart-library-kicker { font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--abv-flow-ochre); }
body.abv-cart-surface .abv-cart-library-rail .abv-cart-library-copy strong { font: 650 20px/1.25 "Playfair Display",Playfair,Georgia,serif; color: var(--abv-flow-ink); }
body.abv-cart-surface .abv-cart-library-copy > a { font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
body.abv-cart-surface .abv-cart-library-rail .abv-return-books { display: inline-flex; align-items: center; gap: 12px; min-height: 52px; max-width: 100%; padding: 9px 12px; border: 1px solid #c8bbab; border-radius: 4px; color: var(--abv-flow-ink); background: transparent; box-shadow: none; text-decoration: none; text-align: left; }
body.abv-cart-surface .abv-cart-library-rail .abv-return-books:hover { background: #efe6d6; border-color: var(--abv-flow-ochre); }
body.abv-cart-surface .abv-return-books strong { display: block; font-size: 13px; font-weight: 600; line-height: 1.4; }
body.abv-cart-surface .abv-return-books small { display: block; font-size: 11px; line-height: 1.5; color: var(--abv-flow-muted); margin-top: 3px; }
body.abv-cart-surface .abv-return-books-art { display: flex; flex: 0 0 40px; }
body.abv-cart-surface .abv-return-books-arrow { font-size: 18px; margin-left: auto; padding-left: 6px; }
body.abv-cart-surface .abv-cart-library-rail .abv-return-books-art { width: 40px; height: 40px; }
body.abv-cart-surface .abv-cart-library-rail .abv-return-books-art svg { width: 40px; height: 40px; }
body.abv-cart-surface #abv-empty-cart-confirm { margin: 0; padding: 16px 20px; border: 1px solid var(--abv-flow-line); border-radius: 4px; background: var(--abv-flow-panel); color: var(--abv-flow-ink); }
body.abv-cart-surface .woocommerce .return-to-shop { grid-column: 1 / -1; }
body.abv-cart-surface #abv-empty-cart-confirm summary { cursor: pointer; font-weight: 600; min-height: 44px; padding: 10px 0; }
body.abv-cart-surface #abv-empty-cart-dialog { box-sizing: border-box; width: min(500px,calc(100% - 32px)); max-width: 500px; max-height: calc(100dvh - 40px); overflow: auto; margin: auto; padding: 28px; border: 1px solid #cbbda7; border-radius: 8px; background: var(--abv-flow-panel); color: var(--abv-flow-ink); box-shadow: 0 16px 60px #14213c2b; }
body.abv-cart-surface #abv-empty-cart-dialog::backdrop { background: #14213c80; }
body.abv-cart-surface .abv-empty-kicker { font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--abv-flow-ochre); }
body.abv-cart-surface .abv-empty-confirm-content h2 { font: 400 27px/1.25 "Playfair Display",Playfair,Georgia,serif; color: var(--abv-flow-ink); margin: 12px 0; }
body.abv-cart-surface .abv-empty-confirm-content p { font-size: 15px; line-height: 1.65; color: var(--abv-flow-muted); }
body.abv-cart-surface .abv-empty-confirm-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
body.abv-cart-surface .abv-empty-confirm-actions button { padding: 11px 16px; min-height: 44px; border: 1px solid #c4b7a4; border-radius: 4px; background: var(--abv-flow-panel); color: var(--abv-flow-ink); font: 600 14px/1.4 "K2D",system-ui,sans-serif; cursor: pointer; }
body.abv-cart-surface .abv-empty-confirm-actions .abv-empty-submit { background: var(--abv-flow-ink); border-color: var(--abv-flow-ink); color: #fffdf9; }
body.abv-cart-surface :is(.abv-return-books,.abv-empty-confirm-actions button):focus-visible { outline: 2px solid var(--abv-flow-ochre); outline-offset: 3px; }

@media (max-width: 900px) {
    body.abv-checkout-surface form.checkout,
    body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] { grid-template-columns: minmax(0,1fr); grid-template-rows: none; gap: 22px; }
    body.abv-checkout-surface form.checkout #customer_details { grid-column: 1; grid-row: 1; }
    body.abv-checkout-surface form.checkout #order_review_heading { grid-column: 1; grid-row: 2; margin-bottom: 0; }
    body.abv-checkout-surface form.checkout #order_review { grid-column: 1; grid-row: 3; }
    body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #customer_details { grid-column: 1; grid-row: 2; }
    body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #order_review_heading { grid-column: 1; grid-row: 3; padding: 0; }
    body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] #order_review { grid-column: 1; grid-row: 4; padding: 0; border: 0; }
    body.abv-cart-surface .abv-flow-frame > .woocommerce:has(> .woocommerce-cart-form) { grid-template-columns: minmax(0,1fr); gap: 16px; }
    body.abv-cart-surface .woocommerce .cart-collaterals { grid-column: 1; }
    body.abv-cart-surface .woocommerce .cart-collaterals { padding: 20px; }
}
@media (max-width: 560px) {
    body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-page { width: calc(100% - 24px); }
    body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame { padding: 12px; border-radius: 13px; }
    body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-intro { margin-bottom: 16px; }
    body.abv-checkout-surface .abv-checkout-flow .abv-flow-nav { gap: 6px; padding: 4px 6px; margin-bottom: 2px; }
    body.abv-checkout-surface .abv-checkout-flow .abv-flow-step { gap: 6px; font-size: 12px; }
    body.abv-checkout-surface .abv-checkout-flow .abv-flow-step-number { flex-basis: 24px; width: 24px; height: 24px; }
    body.abv-checkout-surface form.checkout :is(#order_review_heading,.woocommerce-billing-fields > h3) { font-size: 25px; }
    body.abv-checkout-surface form.checkout .form-row { margin-bottom: 14px; }
    body.abv-checkout-surface form.checkout :is(.form-row-first,.form-row-last) { float: none; width: 100%; }
    body.abv-checkout-surface .abv-checkout-flow .abv-flow-next { width: 100%; }
    body.abv-checkout-surface .abv-checkout-flow .abv-flow-actions { gap: 8px; }
    body.abv-checkout-surface #order_review :is(#shipping_method,.wc_payment_methods) > li { padding: 0 9px; column-gap: 9px; }
    body.abv-checkout-surface #order_review :is(#shipping_method,.wc_payment_methods) > li > label { font-size: 14px; }
    body.abv-checkout-surface #order_review .woocommerce-checkout-review-order-table :is(th,td) { font-size: 13px; }
    body.abv-checkout-surface #order_review .packetery-widget-button-table-row :is(th,td) { display: block; width: 100%; padding: 10px 0; }
    body.abv-checkout-surface #order_review .packetery-widget-button-table-row th { border-bottom: 0; padding-bottom: 0; }
    body.abv-cart-surface .woocommerce table.shop_table_responsive thead { display: none; }
    body.abv-cart-surface .woocommerce table.shop_table_responsive tbody tr.cart_item { display: grid; grid-template-columns: 30px 60px minmax(0,1fr); gap: 0 8px; padding: 16px 0; border-bottom: 1px solid var(--abv-flow-line); }
    body.abv-cart-surface .woocommerce table.shop_table_responsive tbody tr.cart_item td { display: block; width: auto; padding: 0; border: 0; text-align: left !important; }
    body.abv-cart-surface .woocommerce table.shop_table_responsive tbody tr.cart_item td::before { display: none; }
    body.abv-cart-surface .woocommerce table.shop_table_responsive .product-remove { grid-column: 1; grid-row: 1 / span 3; }
    body.abv-cart-surface .woocommerce table.shop_table_responsive .product-thumbnail { grid-column: 2; grid-row: 1 / span 3; }
    body.abv-cart-surface .woocommerce table.shop_table_responsive .product-name { grid-column: 3; grid-row: 1; }
    body.abv-cart-surface .woocommerce table.shop_table_responsive .product-name a { font-size: 15px; }
    body.abv-cart-surface .woocommerce table.shop_table_responsive .product-price { grid-column: 3; grid-row: 2; margin-top: 8px; }
    body.abv-cart-surface .woocommerce table.shop_table_responsive .product-quantity { grid-column: 3; grid-row: 3; margin-top: 8px; }
    body.abv-cart-surface .woocommerce table.shop_table_responsive tbody tr.cart_item td.product-subtotal { display: none; }
    body.abv-cart-surface .abv-flow-frame .woocommerce table.cart td.actions .coupon { float: none; width: 100%; }
    body.abv-cart-surface .abv-flow-frame .woocommerce table.cart td.actions .coupon :is(.input-text,#coupon_code) { flex: 1; min-width: 0 !important; width: 100% !important; }
    body.abv-cart-surface .woocommerce button[name="update_cart"] { margin-top: 12px; width: 100%; }
    body.abv-cart-surface .woocommerce .abv-cart-library-rail { flex-direction: column; align-items: stretch; }
    body.abv-cart-surface .abv-cart-library-rail .abv-return-books { width: 100%; }
    body.abv-cart-surface #abv-empty-cart-dialog { padding: 22px; }
    body.abv-cart-surface .abv-empty-confirm-actions { flex-direction: column; }
    body.abv-cart-surface .abv-empty-confirm-actions button { width: 100%; }
}

/* Compact delivery selection. The original Woo inputs stay in their native
   fragments and continue to drive updates, carrier widgets and submission. */
body.abv-checkout-surface form.checkout.abv-checkout-flow:not([data-abv-step="details"]) {
    max-width: none;
    grid-template-columns: minmax(0,1fr) minmax(240px,280px);
    gap: 12px 22px;
    align-items: start;
}
body.abv-checkout-surface .abv-checkout-flow .abv-flow-quick-summary {
    grid-column: 2;
    grid-row: 2 / span 3;
    min-width: 0;
    padding: 18px;
    color: var(--abv-flow-ink);
    background: var(--abv-flow-paper);
    border: 1px solid var(--abv-flow-line);
    border-top: 3px solid #a67b3a;
    border-radius: 12px;
}
body.abv-checkout-surface .abv-checkout-flow .abv-flow-quick-summary h3 {
    font: 400 22px/1.25 "Playfair Display",Georgia,serif;
    margin: 0 0 14px;
}
body.abv-checkout-surface .abv-checkout-flow .abv-flow-quick-lines { list-style: none; padding: 0; margin: 0 0 14px; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-quick-lines li,
body.abv-checkout-surface .abv-checkout-flow .abv-flow-quick-total {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 8px;
    align-items: start;
    font-size: 13px;
    overflow-wrap: anywhere;
}
body.abv-checkout-surface .abv-checkout-flow .abv-flow-quick-lines li { margin: 0 0 8px; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-quick-lines li strong { white-space: nowrap; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-quick-total { border-top: 1px solid var(--abv-flow-line); padding-top: 12px; font-size: 15px; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="details"] .abv-flow-quick-summary { display: none; }
body.abv-checkout-surface form.checkout.abv-checkout-flow:not([data-abv-step="details"]) :is(.abv-flow-status,.abv-flow-actions) { grid-column: 1; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"] #customer_details .woocommerce-billing-fields__field-wrapper { max-width: 560px; }
body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="shipping"].abv-flow-show-delivery-address #billing_country_field { margin-bottom: 16px; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-delivery-groups {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0,1fr);
    gap: 8px;
}
body.abv-checkout-surface .abv-checkout-flow .abv-flow-delivery-groups[hidden],
body.abv-checkout-surface .abv-checkout-flow .abv-flow-group[hidden] { display: none !important; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-group {
    display: grid;
    grid-template-columns: 22px minmax(0,1fr);
    gap: 3px 8px;
    align-content: center;
    align-items: center;
    text-align: left;
    min-width: 0;
    min-height: 72px;
    margin: 0;
    padding: 10px 12px;
    color: var(--abv-flow-ink);
    background: var(--abv-flow-panel);
    border: 1px solid var(--abv-flow-line);
    border-radius: 9px;
    font: 400 14px/1.35 "K2D",system-ui,sans-serif;
    cursor: pointer;
    overflow-wrap: anywhere;
    white-space: normal;
}
body.abv-checkout-surface .abv-checkout-flow .abv-flow-group[aria-pressed="true"] { border-color: var(--abv-flow-ink); box-shadow: inset 0 0 0 1px var(--abv-flow-ink); background: var(--abv-flow-soft); }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-group svg { width: 21px; height: 21px; grid-column: 1; grid-row: 1 / span 2; }
body.abv-checkout-surface .abv-checkout-flow .abv-flow-group small { grid-column: 2; color: var(--abv-flow-muted); font-size: 12px; }
body.abv-checkout-surface form.checkout.abv-checkout-flow #order_review #shipping_method > li {
    display: block;
    margin: 0;
    padding: 0;
    min-height: 0;
    border: 0;
    border-bottom: 1px solid var(--abv-flow-line);
    border-radius: 0;
    background: transparent;
}
body.abv-checkout-surface form.checkout.abv-checkout-flow #order_review #shipping_method > li.abv-flow-rate-outside-group,
body.abv-checkout-surface form.checkout.abv-checkout-flow #order_review #shipping_method > li > :is(input.shipping_method,label),
body.abv-checkout-surface form.checkout.abv-checkout-flow #order_review #shipping_method > li.abv-flow-rate-unconfirmed .packeta-widget { display: none !important; }
body.abv-checkout-surface form.checkout.abv-checkout-flow #order_review #shipping_method {
    border: 1px solid var(--abv-flow-line);
    border-radius: 10px;
    background: #fffefa;
}
body.abv-checkout-surface form.checkout.abv-checkout-flow #order_review #shipping_method > li:last-child { border-bottom: 0; }
body.abv-checkout-surface .abv-checkout-flow #order_review .abv-flow-rate-option {
    display: grid;
    grid-template-columns: 16px minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 9px 12px;
    border: 0;
    border-radius: 4px;
    color: var(--abv-flow-ink);
    background: transparent;
    font: 400 14px/1.45 "K2D",system-ui,sans-serif;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
}
body.abv-checkout-surface .abv-checkout-flow #order_review .abv-flow-rate-option:hover { background: var(--abv-flow-paper); }
body.abv-checkout-surface .abv-checkout-flow #order_review .abv-flow-rate-option[aria-pressed="true"] { background: var(--abv-flow-soft); font-weight: 600; }
body.abv-checkout-surface .abv-checkout-flow #order_review .abv-flow-rate-dot { box-sizing: border-box; width: 16px; height: 16px; border: 1px solid #7d776b; border-radius: 50%; background: var(--abv-flow-panel); }
body.abv-checkout-surface .abv-checkout-flow #order_review .abv-flow-rate-option[aria-pressed="true"] .abv-flow-rate-dot { border: 4px solid var(--abv-flow-ink); }
body.abv-checkout-surface .abv-checkout-flow #order_review .abv-flow-rate-price { white-space: nowrap; font-size: 13px; }
body.abv-checkout-surface .abv-checkout-flow[data-abv-step="details"] #customer_details #billing_email_field { float: left; clear: left; width: calc(50% - 8px); }
body.abv-checkout-surface .abv-checkout-flow[data-abv-step="details"] #customer_details #billing_phone_field { float: right; clear: none; width: calc(50% - 8px); }
@media (max-width: 760px) {
    body.abv-checkout-surface form.checkout.abv-checkout-flow:not([data-abv-step="details"]) { grid-template-columns: minmax(0,1fr); }
    body.abv-checkout-surface form.checkout.abv-checkout-flow .abv-flow-quick-summary { grid-column: 1; grid-row: 5; padding: 12px; }
    body.abv-checkout-surface form.checkout.abv-checkout-flow[data-abv-step="payment"] .abv-flow-quick-summary { grid-row: 4; }
    body.abv-checkout-surface .abv-checkout-flow .abv-flow-quick-summary :is(h3,.abv-flow-quick-lines) { display: none; }
    body.abv-checkout-surface .abv-checkout-flow .abv-flow-quick-total { border: 0; padding: 0; }
}
@media (max-width: 560px) {
    body.abv-checkout-surface .abv-checkout-flow .abv-flow-group { grid-template-columns: minmax(0,1fr); justify-items: center; text-align: center; min-height: 68px; padding: 7px 4px; font-size: 13px; }
    body.abv-checkout-surface .abv-checkout-flow .abv-flow-group svg { grid-row: auto; }
    body.abv-checkout-surface .abv-checkout-flow .abv-flow-group small { display: none; }
    body.abv-checkout-surface .abv-checkout-flow[data-abv-step="details"] #customer_details :is(#billing_email_field,#billing_phone_field) { float: none; clear: both; width: 100%; }
}


/* Cookie consent stays at the bottom without a second footer restyler. */
html body:is(.abv-cart-surface,.abv-checkout-surface) .cky-consent-container {
    position: fixed !important;
    inset: auto 0 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 2147483000 !important;
}

/* Recommendations are a shelf within the purchase frame, with no second panel. */
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame .abv-shopping-recommendations {
    clear: both;
    margin: clamp(18px,2.3vw,30px) 0 0;
    padding: clamp(20px,2.7vw,34px) clamp(4px,1vw,12px) 2px;
    border: 0;
    border-top: 1px solid var(--abv-flow-line);
    background: transparent;
    box-shadow: none;
    color: var(--abv-flow-ink);
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame .abv-shopping-recommendations[hidden] { display: none !important; }
/* Keep the zero-height observation target in the flow until its products arrive. */
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame .abv-shopping-recommendations:empty {
    height: 0;
    padding: 0;
    margin: 0;
    border: 0;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame .abv-shopping-recommendations h2 {
    font: 650 clamp(22px,2.2vw,29px)/1.23 "Playfair Display",Playfair,Georgia,serif;
    margin: 0 0 17px;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame .abv-shopping-recommendation-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    align-items: stretch;
    gap: clamp(8px,1.2vw,14px);
}
body.abv-checkout-surface .abv-flow-frame [data-abv-recommendations="small"] .abv-shopping-recommendation-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame .abv-recommendation-item {
    min-width: 0;
    padding: clamp(9px,1vw,13px);
    border: 1px solid var(--abv-flow-line);
    border-radius: 10px;
    background: var(--abv-flow-panel);
}
.abv-flow-frame .abv-recommendation-item .abv-recommendation-item__product {
    display: grid;
    min-width: 0;
    gap: 10px;
    color: var(--abv-flow-ink);
    text-decoration: none;
}
.abv-flow-frame .abv-recommendation-item__cover {
    display: grid;
    place-items: center;
    overflow: hidden;
    min-width: 0;
    background: var(--abv-flow-paper);
    border-radius: 5px;
}
.abv-flow-frame .abv-recommendation-item__cover img {
    display: block;
    width: 100%;
    height: 104px;
    margin: 0;
    object-fit: contain;
}
.abv-flow-frame .abv-recommendation-item__copy {
    display: grid;
    min-width: 0;
    align-content: center;
    gap: 3px;
}
.abv-flow-frame .abv-recommendation-item__name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
    font: 650 16px/1.3 "Playfair Display",Playfair,Georgia,serif;
}
.abv-flow-frame .abv-recommendation-item__product:hover .abv-recommendation-item__name {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.abv-flow-frame .abv-recommendation-item__reason { color: var(--abv-flow-muted); font: 400 12px/1.4 "K2D",system-ui,sans-serif; }
.abv-flow-frame .abv-recommendation-item__price {
    font: 700 14px/1.45 "K2D",system-ui,sans-serif;
    font-variant-numeric: tabular-nums;
}
body:is(.abv-cart-surface,.abv-checkout-surface) .abv-flow-frame .abv-recommendation-item .abv-recommendation-add {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 12px;
    font-size: 13px;
    white-space: normal;
    text-align: center;
    box-shadow: none;
}
body.abv-cart-surface .abv-flow-frame .abv-recommendation-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
body.abv-cart-surface .abv-flow-frame .abv-recommendation-item__name { min-height: 2.6em; }
body.abv-cart-surface .abv-flow-frame .abv-recommendation-item .abv-recommendation-add { margin-top: auto; }
body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
}
body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item__product {
    grid-template-columns: 52px minmax(0,1fr);
    align-items: center;
}
body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item__cover {
    height: 68px;
}
body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item__cover img {
    height: 100%;
}
body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item .abv-recommendation-add {
    margin: 0;
    border: 1px solid #b9ad97;
    border-radius: 8px;
    font: 650 13px/1.4 "K2D",system-ui,sans-serif;
    text-decoration: none;
    color: var(--abv-flow-ink);
    background: transparent;
}
body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item .abv-recommendation-add:hover {
    border-color: var(--abv-flow-ink);
    background: var(--abv-flow-soft);
}
@media (max-width: 760px) {
    body.abv-cart-surface .abv-flow-frame .abv-shopping-recommendation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 840px) {
    body.abv-checkout-surface .abv-flow-frame [data-abv-recommendations="small"] .abv-shopping-recommendation-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 400px) {
    body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item { gap: 8px; }
    body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item__product {
        grid-template-columns: 40px minmax(0,1fr);
        gap: 8px;
    }
    body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item__cover { height: 56px; }
    body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item__name { font-size: 14px; }
    body.abv-checkout-surface .abv-flow-frame .abv-recommendation-item .abv-recommendation-add { padding-inline: 8px; }
}
