/*
 * Hopfenlager Cart UI v1 – Mobile First
 * Scope: body.hlsc-cart-v1 only.
 * Presentation only: no cart, shipping, payment, session or tracking logic.
 */

body.hlsc-cart-v1 {
    --hlsc-cart-green: #28793a;
    --hlsc-cart-green-dark: #17652f;
    --hlsc-cart-green-soft: #f3f8f3;
    --hlsc-cart-ink: #18202b;
    --hlsc-cart-muted: #69727d;
    --hlsc-cart-border: #e2e7e3;
    --hlsc-cart-soft: #fafcfb;
    --hlsc-cart-radius: 8px;
    --hlsc-cart-shadow: 0 10px 28px rgba(20, 45, 28, .055);
    color: var(--hlsc-cart-ink);
}

/* Give the cart the same useful content width as the new checkout while keeping
 * the normal shop header/footer and navigation intact. */
body.hlsc-cart-v1 #main > .fusion-row {
    width: calc(100% - 24px) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.hlsc-cart-v1 .woocommerce-container,
body.hlsc-cart-v1 #content,
body.hlsc-cart-v1 .post-content,
body.hlsc-cart-v1 .woocommerce {
    max-width: none !important;
}

body.hlsc-cart-v1 .woocommerce-error,
body.hlsc-cart-v1 .woocommerce-info,
body.hlsc-cart-v1 .woocommerce-message {
    border-radius: var(--hlsc-cart-radius) !important;
    box-shadow: none !important;
}

/* Layout remains one column by default. JS adds this class only after it has
 * found the live cart form and totals without moving either node. */
body.hlsc-cart-v1 .hlsc-cart-layout {
    width: 100%;
    max-width: none;
}

body.hlsc-cart-v1 .hlsc-cart-main,
body.hlsc-cart-v1 .hlsc-cart-sidebar {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* -------------------------- Products / cart form -------------------------- */
body.hlsc-cart-v1 form.woocommerce-cart-form {
    margin: 0 !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart {
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid var(--hlsc-cart-border) !important;
    border-radius: var(--hlsc-cart-radius) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff !important;
    box-shadow: var(--hlsc-cart-shadow);
    overflow: hidden;
}

/* Column labels add little on narrow screens. They return on desktop. */
body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart thead {
    display: none !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tbody {
    display: block;
    width: 100%;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    grid-template-areas:
        "thumb name remove"
        "thumb unit unit"
        "thumb quantity subtotal";
    column-gap: 13px;
    row-gap: 8px;
    align-items: center;
    width: 100%;
    padding: 16px 14px !important;
    border: 0 !important;
    background: #fff;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item + tr.hlsc-cart-item {
    border-top: 1px solid var(--hlsc-cart-border) !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    vertical-align: middle !important;
    background: transparent !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > td::before {
    display: none !important;
    content: none !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__thumb { grid-area: thumb; }
body.hlsc-cart-v1 .hlsc-cart-item__name { grid-area: name; }
body.hlsc-cart-v1 .hlsc-cart-item__unit { grid-area: unit; }
body.hlsc-cart-v1 .hlsc-cart-item__quantity { grid-area: quantity; }
body.hlsc-cart-v1 .hlsc-cart-item__subtotal { grid-area: subtotal; }
body.hlsc-cart-v1 .hlsc-cart-item__remove { grid-area: remove; }

body.hlsc-cart-v1 .hlsc-cart-item__thumb a,
body.hlsc-cart-v1 .hlsc-cart-item__thumb > span {
    display: block !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__thumb img {
    display: block !important;
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
    object-fit: contain !important;
    border-radius: 5px;
}

body.hlsc-cart-v1 .hlsc-cart-item__name,
body.hlsc-cart-v1 .hlsc-cart-item__name a {
    color: var(--hlsc-cart-ink) !important;
    text-decoration: none !important;
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__name a:hover {
    color: var(--hlsc-cart-green-dark) !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__meta,
body.hlsc-cart-v1 .hlsc-cart-item__name .delivery-time-info,
body.hlsc-cart-v1 .hlsc-cart-item__name .wc-gzd-additional-info,
body.hlsc-cart-v1 .hlsc-cart-item__name dl.variation,
body.hlsc-cart-v1 .hlsc-cart-item__name .wc-item-meta {
    margin: 4px 0 0 !important;
    color: var(--hlsc-cart-muted) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__unit {
    color: var(--hlsc-cart-muted) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 12px !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__unit::before {
    display: inline !important;
    content: "Einzelpreis: " !important;
    color: var(--hlsc-cart-muted) !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__subtotal {
    justify-self: end;
    color: var(--hlsc-cart-ink) !important;
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    white-space: nowrap;
}

body.hlsc-cart-v1 .hlsc-cart-item__quantity .quantity {
    display: inline-flex !important;
    align-items: stretch;
    min-height: 38px;
    margin: 0 !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__quantity input.qty {
    min-width: 46px !important;
    height: 38px !important;
    margin: 0 !important;
    border-color: var(--hlsc-cart-border) !important;
    text-align: center !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__quantity .minus,
body.hlsc-cart-v1 .hlsc-cart-item__quantity .plus {
    min-width: 36px !important;
    height: 38px !important;
    border-color: var(--hlsc-cart-border) !important;
    background: var(--hlsc-cart-soft) !important;
    color: var(--hlsc-cart-ink) !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__remove {
    justify-self: end;
    align-self: start;
}

body.hlsc-cart-v1 .hlsc-cart-item__remove a.remove {
    display: grid !important;
    place-items: center;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    color: var(--hlsc-cart-muted) !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__remove a.remove:hover {
    background: #f6f8f6 !important;
    color: var(--hlsc-cart-green-dark) !important;
}

/* Keep coupons and update-cart behavior intact. Only their hierarchy changes. */
body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr:not(.hlsc-cart-item) {
    display: block;
    width: 100%;
}

body.hlsc-cart-v1 .hlsc-cart-actions {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100% !important;
    padding: 14px !important;
    border-top: 1px solid var(--hlsc-cart-border) !important;
    background: var(--hlsc-cart-soft) !important;
}

body.hlsc-cart-v1 .hlsc-cart-actions .coupon {
    display: flex !important;
    flex: 1 1 100%;
    gap: 8px;
    float: none !important;
}

body.hlsc-cart-v1 .hlsc-cart-actions .coupon input.input-text {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 42px;
    border: 1px solid var(--hlsc-cart-border) !important;
    border-radius: 6px !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form button[name="update_cart"],
body.hlsc-cart-v1 form.woocommerce-cart-form input[name="update_cart"],
body.hlsc-cart-v1 .hlsc-cart-actions button[name="update_cart"],
body.hlsc-cart-v1 .hlsc-cart-actions input[name="update_cart"] {
    min-height: 42px !important;
    padding: 0 16px !important;
    border: 1px solid var(--hlsc-cart-green-dark) !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: var(--hlsc-cart-green-dark) !important;
    box-shadow: none !important;
    text-transform: none !important;
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form button[name="update_cart"]:hover,
body.hlsc-cart-v1 form.woocommerce-cart-form input[name="update_cart"]:hover,
body.hlsc-cart-v1 .hlsc-cart-actions button[name="update_cart"]:hover,
body.hlsc-cart-v1 .hlsc-cart-actions input[name="update_cart"]:hover {
    background: var(--hlsc-cart-green-soft) !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form button[name="update_cart"]:disabled,
body.hlsc-cart-v1 form.woocommerce-cart-form input[name="update_cart"]:disabled,
body.hlsc-cart-v1 .hlsc-cart-actions button[name="update_cart"]:disabled,
body.hlsc-cart-v1 .hlsc-cart-actions input[name="update_cart"]:disabled {
    opacity: .48 !important;
    cursor: not-allowed !important;
}

/*
 * The shop already uses WooCommerce AJAX Cart for automatic quantity updates.
 * Keep the native WooCommerce control in the DOM as a fallback, but hide it
 * visually only after cart-v1.js has positively detected that frontend.
 */
body.hlsc-cart-v1.hlsc-cart-auto-update-ready button[name="update_cart"],
body.hlsc-cart-v1.hlsc-cart-auto-update-ready input[name="update_cart"] {
    display: none !important;
}

/* ------------------------------ Summary --------------------------------- */
body.hlsc-cart-v1 .cart-collaterals,
body.hlsc-cart-v1 .hlsc-cart-sidebar {
    margin-top: 16px;
}

body.hlsc-cart-v1 .hlsc-cart-summary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 20px 16px 16px !important;
    border: 1px solid var(--hlsc-cart-border) !important;
    border-radius: var(--hlsc-cart-radius) !important;
    background: #fff !important;
    box-shadow: var(--hlsc-cart-shadow);
}

body.hlsc-cart-v1 .hlsc-cart-summary__heading {
    margin: 0 0 12px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid var(--hlsc-cart-border) !important;
    color: var(--hlsc-cart-ink) !important;
    font: 700 20px/1.25 "Roboto Slab", Georgia, serif !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary table.shop_table {
    width: 100% !important;
    margin: 0 0 14px !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary table.shop_table th,
body.hlsc-cart-v1 .hlsc-cart-summary table.shop_table td {
    padding: 10px 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--hlsc-cart-ink) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary table.shop_table th {
    width: 44% !important;
    padding-right: 12px !important;
    font-weight: 500 !important;
    text-align: left !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary table.shop_table td {
    text-align: right !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary tr.order-total th,
body.hlsc-cart-v1 .hlsc-cart-summary tr.order-total td {
    padding-top: 15px !important;
    border-top: 1px solid var(--hlsc-cart-border) !important;
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary .woocommerce-shipping-methods {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary__checkout {
    margin: 14px 0 0 !important;
    padding: 0 !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary__checkout .checkout-button,
body.hlsc-cart-v1 .hlsc-cart-summary a.checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid var(--hlsc-cart-green-dark) !important;
    border-radius: 6px !important;
    background: linear-gradient(180deg, #3f8a42 0%, #28793a 100%) !important;
    color: #fff !important;
    box-shadow: none !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary__checkout .checkout-button:hover,
body.hlsc-cart-v1 .hlsc-cart-summary a.checkout-button:hover {
    background: var(--hlsc-cart-green-dark) !important;
}

/* Express methods remain owned by Stripe/PayPal. We only give their existing
 * containers a consistent visual tier below the normal checkout CTA. */
body.hlsc-cart-v1 .hlsc-cart-summary #wc-stripe-express-checkout-element,
body.hlsc-cart-v1 .hlsc-cart-summary .hlsc-cart-summary__express {
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--hlsc-cart-border) !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary #wc-stripe-express-checkout-button-separator,
body.hlsc-cart-v1 .hlsc-cart-summary .hlsc-cart-summary__express-separator {
    margin: 11px 0 !important;
    color: var(--hlsc-cart-muted) !important;
    font: 500 12px/1.4 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Known Payment Plugins/PayPal cart containers: spacing only, no hiding or
 * pointer-event changes. Unknown/future markup simply keeps its native style. */
body.hlsc-cart-v1 .hlsc-cart-summary [class*="wc-ppcp"][class*="cart"],
body.hlsc-cart-v1 .hlsc-cart-summary [id*="wc-ppcp"][id*="cart"] {
    margin-top: 10px !important;
}

/* ----------------------------- Breakpoints ------------------------------- */
@media (min-width: 681px) {
    body.hlsc-cart-v1 #main > .fusion-row {
        width: calc(100% - 40px) !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item {
        grid-template-columns: 82px minmax(0, 1fr) 112px 126px 30px;
        grid-template-areas:
            "thumb name name subtotal remove"
            "thumb unit quantity subtotal remove";
        column-gap: 16px;
        row-gap: 7px;
        padding: 18px !important;
    }

    body.hlsc-cart-v1 .hlsc-cart-item__thumb img {
        width: 82px !important;
        height: 82px !important;
        max-width: 82px !important;
    }

    body.hlsc-cart-v1 .hlsc-cart-item__subtotal,
    body.hlsc-cart-v1 .hlsc-cart-item__remove {
        align-self: center;
    }

    body.hlsc-cart-v1 .hlsc-cart-actions .coupon {
        flex: 1 1 360px;
        max-width: 520px;
        margin-right: auto;
    }

    body.hlsc-cart-v1 .hlsc-cart-summary {
        padding: 24px 22px 20px !important;
    }
}

@media (min-width: 1041px) {
    body.hlsc-cart-v1 #main > .fusion-row {
        width: calc(100% - 56px) !important;
    }

    body.hlsc-cart-v1 .hlsc-cart-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1.62fr) minmax(360px, .78fr);
        gap: 28px;
        align-items: start;
    }

    body.hlsc-cart-v1 .hlsc-cart-layout > .hlsc-cart-main {
        grid-column: 1 !important;
        min-width: 0;
    }

    body.hlsc-cart-v1 .hlsc-cart-layout > .hlsc-cart-sidebar {
        grid-column: 2 !important;
        min-width: 0;
        margin-top: 0 !important;
        align-self: start;
        position: static !important;
    }

    /* Only the totals card is sticky. If Avada/WooCommerce outputs cross-sells
     * in cart-collaterals, they remain normal scrolling sales content. */
    body.hlsc-cart-v1 .hlsc-cart-layout > .hlsc-cart-sidebar .hlsc-cart-summary {
        position: sticky !important;
        top: 24px;
    }

    body.admin-bar.hlsc-cart-v1 .hlsc-cart-layout > .hlsc-cart-sidebar .hlsc-cart-summary {
        top: 56px;
    }

    body.hlsc-cart-v1 .hlsc-cart-layout > :not(.hlsc-cart-main):not(.hlsc-cart-sidebar) {
        grid-column: 1 / -1;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item {
        grid-template-columns: 86px minmax(210px, 1fr) 104px 126px 112px 30px;
        grid-template-areas: "thumb name unit quantity subtotal remove";
        column-gap: 14px;
        row-gap: 0;
        min-height: 118px;
        padding: 16px 18px !important;
        align-items: center;
    }

    body.hlsc-cart-v1 .hlsc-cart-item__thumb img {
        width: 80px !important;
        height: 80px !important;
        max-width: 80px !important;
    }

    body.hlsc-cart-v1 .hlsc-cart-item__unit::before {
        display: block !important;
        content: "Einzelpreis" !important;
        margin-bottom: 3px;
        font-size: 11px;
    }

    body.hlsc-cart-v1 .hlsc-cart-item__quantity {
        justify-self: center;
    }

    body.hlsc-cart-v1 .hlsc-cart-item__subtotal {
        justify-self: end;
        font-size: 15px !important;
    }

    body.hlsc-cart-v1 .hlsc-cart-item__remove {
        justify-self: end;
        align-self: center;
    }
}

@media (min-width: 1280px) {
    body.hlsc-cart-v1 .hlsc-cart-layout {
        gap: 34px;
    }

    body.hlsc-cart-v1 .hlsc-cart-summary {
        padding: 26px 26px 22px !important;
    }
}

/* -------------------------------------------------------------------------
 * v0.6.166 – Cart final polish
 * Presentation only. Existing WooCommerce/Stripe/PayPal nodes stay in place.
 * ---------------------------------------------------------------------- */

/* The installed AJAX cart has been positively detected by JS. The native
 * update control remains in the DOM as a non-visual fallback target. */
body.hlsc-cart-v1.hlsc-cart-auto-update-ready .hlsc-cart-update-control,
body.hlsc-cart-v1.hlsc-cart-auto-update-ready button[name="update_cart"],
body.hlsc-cart-v1.hlsc-cart-auto-update-ready input[name="update_cart"] {
    display: none !important;
}

/* One visual express-payment tier. Stripe/PayPal continue to own all payment
 * logic and buttons; only redundant native separators are suppressed. */
body.hlsc-cart-v1 .hlsc-cart-summary .hlsc-cart-summary__express-start {
    position: relative;
    margin-top: 16px !important;
    padding-top: 38px !important;
    border-top: 1px solid var(--hlsc-cart-border) !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary .hlsc-cart-summary__express-start::before {
    content: "Express bestellen";
    position: absolute;
    top: 14px;
    left: 0;
    right: 0;
    color: var(--hlsc-cart-muted);
    text-align: left;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

body.hlsc-cart-v1 .hlsc-cart-summary .hlsc-cart-summary__express-separator,
body.hlsc-cart-v1 .hlsc-cart-summary .hlsc-cart-summary__native-separator {
    display: none !important;
}

/* Keep PayPal close to the other express methods instead of presenting it as
 * a separate second checkout tier. */
body.hlsc-cart-v1 .hlsc-cart-summary [class*="wc-ppcp"][class*="cart"],
body.hlsc-cart-v1 .hlsc-cart-summary [id*="wc-ppcp"][id*="cart"] {
    margin-top: 10px !important;
    padding-top: 0 !important;
}

@media (min-width: 1041px) {
    /* Give product identity the strongest share of the row. Unit price becomes
     * secondary information directly beneath the product name, matching the
     * checkout summary hierarchy and avoiding needless title wrapping. */
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item {
        grid-template-columns: 78px minmax(0, 1fr) 112px 96px 30px;
        grid-template-areas:
            "thumb name quantity subtotal remove"
            "thumb unit quantity subtotal remove";
        column-gap: 14px;
        row-gap: 4px;
        min-height: 116px;
    }

    body.hlsc-cart-v1 .hlsc-cart-item__thumb img {
        width: 72px !important;
        height: 72px !important;
        max-width: 72px !important;
    }

    body.hlsc-cart-v1 .hlsc-cart-item__unit {
        align-self: start;
    }

    body.hlsc-cart-v1 .hlsc-cart-item__unit::before {
        display: inline !important;
        content: "Einzelpreis: " !important;
        margin: 0 !important;
        font-size: inherit !important;
    }
}

/* -------------------------------------------------------------------------
 * v0.6.167 – Runtime cart control + late express mount hardening
 * Presentation only. No WooCommerce/Avada/Stripe/PayPal node is moved.
 * ---------------------------------------------------------------------- */

/* The live cart uses automatic quantity refresh. Avada can surface the native
 * WooCommerce update action outside the classic form and as a differently
 * shaped control. cart-v1.js marks the exact visible "Update cart" action
 * across the whole cart region; only that marked control is hidden. */
body.hlsc-cart-v1.hlsc-cart-auto-update-ready .hlsc-cart-update-control {
    display: none !important;
    visibility: hidden !important;
}

/* JS now inserts one small visual label immediately before the first live
 * express-payment container. Disable the older pseudo label to avoid doubles. */
body.hlsc-cart-v1 .hlsc-cart-summary .hlsc-cart-summary__express-start::before {
    content: none !important;
    display: none !important;
}

body.hlsc-cart-v1 .hlsc-cart-express-label {
    margin: 16px 0 10px !important;
    padding-top: 14px !important;
    border-top: 1px solid var(--hlsc-cart-border) !important;
    color: var(--hlsc-cart-muted) !important;
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

body.hlsc-cart-v1 .hlsc-cart-express-label + .hlsc-cart-summary__express-start,
body.hlsc-cart-v1 .hlsc-cart-express-label + #wc-stripe-express-checkout-element {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

/* If Avada puts a second visual unit price inside the thumbnail cell while a
 * real WooCommerce product-price cell also exists, suppress only that duplicate
 * thumbnail price. The actual unit price and line subtotal remain untouched. */
body.hlsc-cart-v1 .hlsc-cart-item__thumb--has-duplicate-price .woocommerce-Price-amount,
body.hlsc-cart-v1 .hlsc-cart-item__thumb--has-duplicate-price .amount,
body.hlsc-cart-v1 .hlsc-cart-item__thumb--has-duplicate-price .price,
body.hlsc-cart-v1 .hlsc-cart-item__thumb--has-duplicate-price small.price {
    display: none !important;
}

@media (min-width: 1041px) {
    /* Explicit placement wins over Avada table-cell positioning and keeps the
     * product identity visually together: image | name + unit price | qty |
     * line total | remove. */
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__thumb {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__name {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: end !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__unit {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        align-self: start !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__quantity {
        grid-column: 3 !important;
        grid-row: 1 / span 2 !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__subtotal {
        grid-column: 4 !important;
        grid-row: 1 / span 2 !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__remove {
        grid-column: 5 !important;
        grid-row: 1 / span 2 !important;
        align-self: center !important;
    }
}


/* -------------------------------------------------------------------------
 * v0.6.170 – Minimal verified cart cleanup
 * Presentation only. No cart, checkout, payment or Germanized logic changes.
 * ---------------------------------------------------------------------- */

/* WooCommerce 11.0 classic cart renders the native update control with
 * name="update_cart". Hopfenlager already loads the WooCommerce AJAX Cart
 * frontend, and live quantity changes have been verified to recalculate the
 * cart automatically. Keep the control in the DOM but remove it visually. */
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart input[name="update_cart"],
body.hlsc-cart-v1 button[name="update_cart"],
body.hlsc-cart-v1 input[name="update_cart"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* WooCommerce core keeps product price and line subtotal separate. Keep the
 * real product-price cell because Germanized may append legally relevant unit
 * price information there. Place it quietly below the product name instead of
 * below the image. */
@media (min-width: 681px) {
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > td.product-price,
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__unit {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        align-self: start !important;
        margin: 0 !important;
        color: var(--hlsc-cart-muted) !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }
}

/* Core WooCommerce thumbnail markup contains only the product image. If Avada
 * or another layer injects a second monetary amount inside the thumbnail cell,
 * that amount is a visual duplicate. Suppress only that duplicate; the real
 * product-price cell and subtotal remain untouched. */
body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > td.product-thumbnail .price,
body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > td.product-thumbnail .woocommerce-Price-amount,
body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > td.product-thumbnail .woocommerce-price-suffix {
    display: none !important;
}

/* -------------------------------------------------------------------------
 * v0.6.171 – Avada cart root-cause fix + lean runtime
 * ---------------------------------------------------------------------- */

/* Hopfenlager uses Avada's WooCommerce cart.php override. Avada renders its
 * own visual update action as .fusion-update-cart rather than WooCommerce
 * core's name="update_cart" submit control. The installed AJAX cart already
 * updates quantities/totals automatically, so keep any underlying mechanics
 * untouched and hide only the redundant visual controls. */
body.hlsc-cart-v1 .fusion-update-cart,
body.hlsc-cart-v1 a.fusion-update-cart,
body.hlsc-cart-v1 button[name="update_cart"],
body.hlsc-cart-v1 input[name="update_cart"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* The ordinary per-item unit price is redundant here: the row already shows
 * quantity and the true line subtotal. Hide only the normal price output.
 * Germanized legal cart information (e.g. base/unit/deposit information) is
 * preserved and remains visible. */
body.hlsc-cart-v1 .hlsc-cart-item__unit::before {
    display: none !important;
    content: none !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__unit > .woocommerce-Price-amount,
body.hlsc-cart-v1 .hlsc-cart-item__unit > .amount,
body.hlsc-cart-v1 .hlsc-cart-item__unit > .price,
body.hlsc-cart-v1 .hlsc-cart-item__unit > small.woocommerce-price-suffix,
body.hlsc-cart-v1 .hlsc-cart-item__unit > small.includes_tax {
    display: none !important;
}

/* If no Germanized/legal child remains, collapse the now-empty price cell so
 * it cannot create a second line under the product image/name. */
body.hlsc-cart-v1 .hlsc-cart-item__unit:not(.hlsc-cart-item__unit--has-legal-info) {
    display: none !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__unit--has-legal-info {
    color: var(--hlsc-cart-muted) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

body.hlsc-cart-v1 .hlsc-cart-item__unit--has-legal-info > .wc-gzd-cart-info {
    display: block !important;
    margin: 4px 0 0 !important;
    color: var(--hlsc-cart-muted) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

@media (min-width: 681px) {
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item {
        grid-template-columns: 82px minmax(0, 1fr) 112px 126px 30px !important;
        grid-template-areas:
            "thumb name quantity subtotal remove"
            "thumb name quantity subtotal remove" !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__name {
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__unit--has-legal-info {
        grid-column: 2 !important;
        grid-row: 2 !important;
        align-self: start !important;
        justify-self: start !important;
    }
}

@media (min-width: 1041px) {
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item {
        grid-template-columns: 78px minmax(0, 1fr) 112px 96px 30px !important;
        grid-template-areas: "thumb name quantity subtotal remove" !important;
        row-gap: 0 !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__thumb {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__name {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__unit--has-legal-info {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: end !important;
        margin-top: 28px !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__quantity {
        grid-column: 3 !important;
        grid-row: 1 !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__subtotal {
        grid-column: 4 !important;
        grid-row: 1 !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__remove {
        grid-column: 5 !important;
        grid-row: 1 !important;
        align-self: center !important;
    }
}

/* v0.6.171 layout refinement: a second product-info row exists only when
 * Germanized actually supplies legal price/unit information. */
@media (min-width: 681px) {
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item:not(.hlsc-cart-item--has-legal-price-info) {
        grid-template-areas: "thumb name quantity subtotal remove" !important;
        row-gap: 0 !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item.hlsc-cart-item--has-legal-price-info {
        grid-template-areas:
            "thumb name quantity subtotal remove"
            "thumb unit quantity subtotal remove" !important;
        row-gap: 3px !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__thumb {
        grid-area: thumb !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__name {
        grid-area: name !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item.hlsc-cart-item--has-legal-price-info > .hlsc-cart-item__name {
        align-self: end !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__unit--has-legal-info {
        grid-area: unit !important;
        align-self: start !important;
        justify-self: start !important;
        margin: 0 !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__quantity {
        grid-area: quantity !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__subtotal {
        grid-area: subtotal !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__remove {
        grid-area: remove !important;
        align-self: center !important;
    }
}

@media (min-width: 1041px) {
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item {
        grid-template-columns: 78px minmax(0, 1fr) 112px 96px 30px !important;
    }
}

/* -------------------------------------------------------------------------
 * v0.6.172 – Avada/AJAX interaction-preserving update control
 * ---------------------------------------------------------------------- */
/*
 * IMPORTANT: Avada uses .fusion-update-cart as its cart update control and
 * the installed WooCommerce AJAX Cart frontend may depend on that control
 * remaining an actual rendered/clickable DOM target. v0.6.171 used
 * display:none/visibility:hidden, which can break theme/plugin code that
 * checks for a rendered control before triggering the update.
 *
 * Keep the control rendered with a real 1x1 layout box so JavaScript can find
 * and trigger it, but remove it from the visual/keyboard interaction surface.
 * No form names, values, disabled states, submit behavior or AJAX handlers are
 * changed here.
 */
body.hlsc-cart-v1 .fusion-update-cart,
body.hlsc-cart-v1 a.fusion-update-cart,
body.hlsc-cart-v1 button[name="update_cart"],
body.hlsc-cart-v1 input[name="update_cart"] {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    max-width: 1px !important;
    max-height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
    text-indent: -9999px !important;
}


/* -------------------------------------------------------------------------
 * v0.6.174 – Mobile cart alignment + customer-facing shipping clarity
 * ---------------------------------------------------------------------- */
/* Mobile-first product row. Keep the existing WooCommerce cells and AJAX
 * controls; only make their visual grid deterministic. */
body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    grid-template-columns: 64px minmax(0, 1fr) 32px !important;
    grid-template-areas:
        "thumb name remove"
        "thumb quantity subtotal" !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    align-items: center !important;
    padding: 14px 12px !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__thumb {
    grid-area: thumb !important;
    align-self: start !important;
    justify-self: start !important;
    width: 64px !important;
    margin: 0 !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__thumb img {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    margin: 0 !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__name {
    grid-area: name !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    margin: 0 !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__quantity {
    grid-area: quantity !important;
    align-self: center !important;
    justify-self: start !important;
    margin: 0 !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__subtotal {
    grid-area: subtotal !important;
    align-self: center !important;
    justify-self: end !important;
    margin: 0 !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__remove {
    grid-area: remove !important;
    align-self: start !important;
    justify-self: end !important;
    margin: -3px -4px 0 0 !important;
}

/* If Germanized adds legally relevant unit/base-price information, keep it
 * below the product identity without reintroducing the ordinary unit price. */
body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item.hlsc-cart-item--has-legal-price-info {
    grid-template-areas:
        "thumb name remove"
        "thumb unit unit"
        "thumb quantity subtotal" !important;
    row-gap: 5px !important;
}

body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__unit--has-legal-info {
    grid-area: unit !important;
    justify-self: start !important;
    align-self: start !important;
    margin: 0 !important;
}

/* Tablet enhancement – same content hierarchy, more breathing room. */
@media (min-width: 681px) {
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item {
        grid-template-columns: 82px minmax(0, 1fr) 112px 126px 30px !important;
        grid-template-areas: "thumb name quantity subtotal remove" !important;
        column-gap: 16px !important;
        row-gap: 0 !important;
        padding: 18px !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item.hlsc-cart-item--has-legal-price-info {
        grid-template-areas:
            "thumb name quantity subtotal remove"
            "thumb unit quantity subtotal remove" !important;
        row-gap: 3px !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__thumb {
        width: 82px !important;
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__thumb img {
        width: 82px !important;
        height: 82px !important;
        max-width: 82px !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__name,
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__quantity,
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__subtotal,
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__remove {
        align-self: center !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__remove {
        margin: 0 !important;
    }
}

/* Desktop keeps the already-approved compact row. */
@media (min-width: 1041px) {
    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item {
        grid-template-columns: 78px minmax(0, 1fr) 112px 96px 30px !important;
        grid-template-areas: "thumb name quantity subtotal remove" !important;
        column-gap: 14px !important;
        row-gap: 0 !important;
        min-height: 116px !important;
        padding: 16px 18px !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item.hlsc-cart-item--has-legal-price-info {
        grid-template-areas:
            "thumb name quantity subtotal remove"
            "thumb unit quantity subtotal remove" !important;
        row-gap: 3px !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__thumb {
        width: 78px !important;
    }

    body.hlsc-cart-v1 form.woocommerce-cart-form .shop_table.cart tr.hlsc-cart-item > .hlsc-cart-item__thumb img {
        width: 72px !important;
        height: 72px !important;
        max-width: 72px !important;
    }
}


/* -------------------------------------------------------------------------
 * v0.6.176 – Express journey copy, Cart
 * ---------------------------------------------------------------------- */
/* Only activate the ordering model after cart-v1.js has positively found at
 * least one known native express-payment root. Payment nodes stay in their
 * original DOM position; CSS order changes presentation only. */
body.hlsc-cart-v1 .hlsc-cart-summary.hlsc-cart-summary--express-journey {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary.hlsc-cart-summary--express-journey > * {
    width: 100%;
    box-sizing: border-box;
    order: 50;
}

body.hlsc-cart-v1 .hlsc-cart-summary.hlsc-cart-summary--express-journey > .hlsc-cart-summary__heading {
    order: 10;
}

body.hlsc-cart-v1 .hlsc-cart-summary.hlsc-cart-summary--express-journey > table.shop_table {
    order: 20;
}

body.hlsc-cart-v1 .hlsc-cart-summary > .hlsc-cart-express-intro {
    order: 30 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
    margin: 5px 0 10px !important;
    padding: 13px 0 0 !important;
    border-top: 1px solid var(--hlsc-cart-border) !important;
    text-align: left !important;
}

body.hlsc-cart-v1 .hlsc-cart-express-intro .hlsc-express-journey__title {
    display: block !important;
    margin: 0 !important;
    color: var(--hlsc-cart-ink) !important;
    font: 700 17px/1.25 "Roboto Slab", Georgia, serif !important;
}

body.hlsc-cart-v1 .hlsc-cart-express-intro .hlsc-express-journey__benefit {
    display: block !important;
    margin: 1px 0 0 !important;
    color: var(--hlsc-cart-green-dark) !important;
    font: 700 13px/1.35 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.hlsc-cart-v1 .hlsc-cart-express-intro .hlsc-express-journey__detail {
    display: block !important;
    margin: 0 !important;
    color: var(--hlsc-cart-muted) !important;
    font: 500 12px/1.4 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary > .hlsc-cart-summary__express-block {
    order: 40 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

/* Later/unknown payment-plugin direct children remain at order 50. This keeps
 * a late PayPal express block with the express group instead of pushing it
 * above totals or below the classic checkout CTA. */
body.hlsc-cart-v1 .hlsc-cart-summary > .hlsc-cart-express-native-separator,
body.hlsc-cart-v1 .hlsc-cart-summary > #wc-stripe-express-checkout-button-separator {
    order: 45 !important;
    display: none !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary > .hlsc-cart-classic-divider {
    order: 60 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 14px 0 9px !important;
    color: var(--hlsc-cart-muted) !important;
    white-space: nowrap !important;
    text-align: center !important;
    font: 600 12px/1.4 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary > .hlsc-cart-classic-divider::before,
body.hlsc-cart-v1 .hlsc-cart-summary > .hlsc-cart-classic-divider::after {
    content: "" !important;
    flex: 1 1 60px !important;
    height: 1px !important;
    background: var(--hlsc-cart-border) !important;
}

body.hlsc-cart-v1 .hlsc-cart-summary.hlsc-cart-summary--express-journey > .hlsc-cart-summary__checkout {
    order: 70 !important;
    margin-top: 0 !important;
}

/* v0.6.166/v0.6.167 legacy express label is no longer used by current JS. If
 * cached markup ever contains it, hide it so only the new journey copy shows. */
body.hlsc-cart-v1 .hlsc-cart-summary .hlsc-cart-express-label {
    display: none !important;
}

@media (max-width: 480px) {
    body.hlsc-cart-v1 .hlsc-cart-express-intro .hlsc-express-journey__title {
        font-size: 16px !important;
    }

    body.hlsc-cart-v1 .hlsc-cart-express-intro .hlsc-express-journey__benefit {
        font-size: 12.5px !important;
    }
}

/* Exact Stripe-id override wins over the older v0.6.164 ID-based spacing rule. */
body.hlsc-cart-v1 .hlsc-cart-summary.hlsc-cart-summary--express-journey > #wc-stripe-express-checkout-element.hlsc-cart-summary__express-block {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}
