.bb-customer-utility,
.bb-customer-utility-active .bb-pf {
    min-width: 0;
    overflow-wrap: anywhere;
}

.bb-utility-hero {
    background: var(--bb-color-canvas);
    border-block-end: 1px solid var(--bb-color-border-structural);
}

.bb-utility-hero .bb-text-lead {
    max-width: var(--bb-width-reading);
}

.bb-utility-body {
    background: var(--bb-color-canvas);
}

.bb-utility-workbench {
    min-width: 0;
    padding: clamp(var(--bb-space-24), 4vw, var(--bb-space-48));
    color: #202124;
    background: #f7f7f5;
    border: 1px solid #d5d5d1;
    border-radius: var(--bb-radius-control);
}

.bb-utility-workbench :where(h2, h3, h4, p, li, dt, dd, label, legend, span) {
    color: inherit;
}

.bb-utility-workbench :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    max-width: 100%;
    min-height: var(--bb-target-standard);
    color: #202124;
    background: #fff;
    border-color: #707070;
}

.bb-utility-workbench :where(button, .button, .wp-element-button, .wc-block-components-button) {
    min-height: var(--bb-target-standard);
    border-radius: var(--bb-radius-control);
}

.bb-utility-workbench :where(.wc-block-components-button:not(.is-link), .wp-block-button__link) {
    color: #fff;
    font-weight: 700;
    background: #c8102e;
    border: 2px solid #c8102e;
}

.bb-utility-workbench :where(a, button, input, select, textarea):focus-visible,
.bb-pf-account :where(a, button, input, select, textarea):focus-visible,
.bb-utility-panel :where(a, button, input):focus-visible {
    outline: var(--bb-focus-width) solid var(--bb-color-focus);
    outline-offset: 3px;
}

.bb-utility-workbench .wp-block-woocommerce-cart,
.bb-utility-workbench .wc-block-checkout {
    color: #202124;
}

.bb-cart-empty {
    display: grid;
    max-width: 42rem;
    min-height: 21rem;
    margin-inline: auto;
    padding: clamp(var(--bb-space-32), 7vw, var(--bb-space-64));
    align-content: center;
    text-align: center;
    background: #fff;
    border: 1px solid #d5d5d1;
    border-block-start: 4px solid #c8102e;
    border-radius: var(--bb-radius-control);
}

.bb-cart-empty h2,
.bb-cart-empty p {
    margin-block: 0;
}

.bb-cart-empty p {
    max-width: 54ch;
    margin-block-start: var(--bb-space-16);
    margin-inline: auto;
    line-height: 1.6;
}

.bb-cart-empty .wp-block-buttons {
    gap: var(--bb-space-12);
    margin-block-start: var(--bb-space-24);
}

.bb-cart-empty .is-style-outline .wp-block-button__link {
    color: #202124;
    background: transparent;
    border-color: #5f6368;
}

.bb-utility-panel {
    padding: clamp(var(--bb-space-24), 5vw, var(--bb-space-48));
    background: var(--bb-color-surface-1);
    border: 1px solid var(--bb-color-border-structural);
    border-block-start: 4px solid var(--bb-color-action-red);
    border-radius: var(--bb-radius-control);
}

.bb-utility-search {
    max-width: var(--bb-width-reading);
    margin-block-start: var(--bb-space-24);
}

.bb-utility-search label {
    display: block;
    margin-block-end: var(--bb-space-8);
    color: var(--bb-color-text-primary);
    font-weight: 700;
}

.bb-utility-search > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--bb-space-8);
}

.bb-utility-search input {
    min-width: 0;
    min-height: var(--bb-target-standard);
    padding: var(--bb-space-12) var(--bb-space-16);
    color: var(--bb-color-text-primary);
    background: var(--bb-color-canvas);
    border: 1px solid var(--bb-color-border-control);
    border-radius: var(--bb-radius-control);
}

.bb-utility-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--bb-space-8);
    margin-block-start: var(--bb-space-24);
}

.bb-pf-5 .bb-pf-prose {
    padding: clamp(var(--bb-space-24), 5vw, var(--bb-space-48));
    background: var(--bb-color-surface-1);
    border: 1px solid var(--bb-color-border-structural);
    border-block-start: 4px solid var(--bb-color-action-red);
    border-radius: var(--bb-radius-control);
}

.bb-pf-5 .bb-pf-prose > :is(h2, h3) {
    margin-block-end: var(--bb-space-12);
}

.bb-pf-5 .bb-pf-prose > :not(:first-child):is(h2, h3) {
    margin-block-start: var(--bb-space-32);
}

.bb-pf-5 .bb-pf-prose :is(p, li) {
    line-height: 1.65;
}

.bb-pf-5 .bb-pf-prose ul {
    padding-inline-start: var(--bb-space-24);
}

.bb-support-intro {
    font-size: var(--bb-font-size-lead);
}

.bb-support-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--bb-space-8) var(--bb-space-24);
    padding: 0 !important;
    list-style: none;
}

.bb-support-links a {
    display: inline-flex;
    min-height: var(--bb-target-compact);
    align-items: center;
    font-weight: 600;
}

.bb-account-intro {
    max-width: var(--bb-width-reading);
    margin-block-end: var(--bb-space-32);
}

.bb-pf-account .woocommerce {
    min-width: 0;
}

.bb-pf-account .woocommerce > h2 {
    display: none;
}

.bb-pf-account .woocommerce :where(h2, h3, p, li, label, legend, address) {
    color: var(--bb-color-text-primary);
}

.bb-pf-account .woocommerce-form-login,
.bb-pf-account .woocommerce-form-register {
    max-width: 44rem;
    padding: clamp(var(--bb-space-24), 5vw, var(--bb-space-32));
    background: var(--bb-color-surface-1);
    border: 1px solid var(--bb-color-border-control);
    border-block-start: 4px solid var(--bb-color-action-red);
    border-radius: var(--bb-radius-control);
}

.bb-pf-account :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    padding: var(--bb-space-12) var(--bb-space-16);
    color: var(--bb-color-text-primary);
    background: var(--bb-color-canvas);
    border: 1px solid var(--bb-color-border-control);
    border-radius: var(--bb-radius-control);
}

.bb-pf-account :where(button, .button) {
    padding: var(--bb-space-12) var(--bb-space-24) !important;
    color: #fff !important;
    font: 700 16px/1.3 var(--bb-font-family) !important;
    background: var(--bb-color-action-red) !important;
    border: 2px solid var(--bb-color-action-red) !important;
    border-radius: var(--bb-radius-control) !important;
}

.bb-pf-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--bb-space-8);
    margin: 0 0 var(--bb-space-32);
    padding: 0;
    list-style: none;
}

.bb-pf-account .woocommerce-MyAccount-navigation a {
    display: inline-flex;
    min-height: var(--bb-target-compact);
    padding: var(--bb-space-8) var(--bb-space-12);
    align-items: center;
    color: var(--bb-color-text-primary);
    font-weight: 600;
    text-decoration: none;
    border: 1px solid var(--bb-color-border-control);
    border-radius: var(--bb-radius-control);
}

.bb-pf-account .woocommerce-MyAccount-navigation .is-active a {
    border-color: var(--bb-color-action-red);
    box-shadow: inset 0 -3px 0 var(--bb-color-action-red);
}

.bb-pf-account .woocommerce-MyAccount-content {
    min-width: 0;
    padding: clamp(var(--bb-space-24), 4vw, var(--bb-space-32));
    background: var(--bb-color-surface-1);
    border: 1px solid var(--bb-color-border-structural);
    border-radius: var(--bb-radius-control);
}

.bb-pf-account .woocommerce :where(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
    padding: var(--bb-space-16) var(--bb-space-24);
    color: var(--bb-color-text-primary);
    background: var(--bb-color-surface-2);
    border: 1px solid var(--bb-color-border-control);
    border-inline-start: 4px solid var(--bb-color-info);
}

.bb-pf-account .woocommerce :where(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before {
    display: none;
}

.bb-pf-account .woocommerce :where(.woocommerce-info, .woocommerce-message, .woocommerce-error) .button {
    display: inline-flex;
    float: none;
    margin: 0 0 var(--bb-space-12);
}

.bb-pf-account table {
    width: 100%;
    border-collapse: collapse;
}

.bb-pf-account :where(th, td) {
    padding: var(--bb-space-12);
    text-align: start;
    border-block-end: 1px solid var(--bb-color-border-structural);
}

@media (max-width: 47.999rem) {
    .bb-utility-workbench {
        padding: var(--bb-space-16);
    }

    .bb-support-links {
        grid-template-columns: minmax(0, 1fr);
    }

    .bb-pf-account .woocommerce-MyAccount-navigation ul,
    .bb-utility-actions,
    .bb-cart-empty .wp-block-buttons {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .bb-pf-account .woocommerce-MyAccount-navigation a,
    .bb-utility-actions .bb-button,
    .bb-cart-empty .wp-block-button,
    .bb-cart-empty .wp-block-button__link,
    .bb-pf-account .woocommerce :where(.woocommerce-info, .woocommerce-message, .woocommerce-error) .button {
        width: 100%;
    }
}

@media (max-width: 31.999rem) {
    .bb-utility-search > div {
        grid-template-columns: minmax(0, 1fr);
    }

    .bb-utility-search .bb-button {
        width: 100%;
    }

    .bb-pf-5 .bb-pf-prose,
    .bb-pf-account .woocommerce-MyAccount-content,
    .bb-pf-account .woocommerce-form-login,
    .bb-pf-account .woocommerce-form-register {
        padding: var(--bb-space-24) var(--bb-space-16);
    }
}
