/* Theme 21 action buttons use the homepage popup's dimensions. */
.fashion-storefront {
    --fashion-action-height: 60px;
    --fashion-action-font-size: 14px;
    --fashion-action-radius: var(--site-button-radius, 0px);
}
.fashion-storefront .tf-btn,
.fashion-storefront #react-spa-root :is(.react-cart-checkout, .react-account-primary, .react-address-primary, .react-orders-view, .react-checkout-primary, .react-checkout-submit, .react-static-primary, .fashion-auth button[type="submit"], button[type="submit"], input[type="submit"]),
.fashion-storefront #react-spa-root #react-product-page .rtd-submit,
.fashion-storefront #fashion-mini-cart .fashion-mini-cart-actions .tf-btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 8px;
    min-height: var(--fashion-action-height) !important;
    height: auto !important;
    padding: 18px 24px !important;
    font-size: var(--fashion-action-font-size) !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    border-radius: var(--fashion-action-radius) !important;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Quantity and the adjacent product action share the same height. */
.fashion-storefront #react-spa-root #react-product-page .rtd-qty {
    box-sizing: border-box;
    height: var(--fashion-action-height);
    min-height: var(--fashion-action-height) !important;
    align-items: stretch;
}
.fashion-storefront #react-spa-root #react-product-page .rtd-qty :is(button, input) {
    box-sizing: border-box;
    height: 100% !important;
    min-height: 0 !important;
    margin-block: 0;
    align-self: stretch;
}

/* Match the coupon input to the adjacent Apply/Remove action. */
.fashion-storefront #react-spa-root .fashion-checkout-coupon input {
    box-sizing: border-box;
    height: var(--fashion-action-height) !important;
    min-height: var(--fashion-action-height) !important;
    margin-block: 0;
    align-self: stretch;
}

/* Keep the search action on one line and its input at the same height. */
.fashion-storefront #fashion-search form { display: flex; align-items: stretch; gap: 10px; }
.fashion-storefront #fashion-search input[type="search"] {
    box-sizing: border-box;
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    height: var(--fashion-action-height);
    min-height: var(--fashion-action-height);
    margin: 0;
}
.fashion-storefront #fashion-search button[type="submit"].tf-btn {
    flex: 0 0 auto;
    width: auto;
    min-width: max-content !important;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}
