/* Customer layout only. SweetAlert's toast title is the message, not a heading. */
.storefront .swal2-popup {
    font-family: var(--store-font, 'Manrope', Arial, sans-serif);
    font-size: .875rem;
    border: 1px solid #dedbd4;
    border-radius: 1rem;
    padding: 1.25rem;
    color: #292522;
    max-width: calc(100vw - 2rem);
}
.storefront .swal2-popup .swal2-title {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -.01em;
    overflow-wrap: anywhere;
}
.storefront .swal2-popup .swal2-html-container {
    font-size: .875rem;
    line-height: 1.6;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}
.storefront .swal2-popup.swal2-toast { padding: .875rem 1rem; box-shadow: 0 8px 28px #1414141a; }
.storefront .swal2-popup.swal2-toast .swal2-title {
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: start;
    text-wrap: pretty;
    margin: .25rem .625rem;
}
.storefront .swal2-popup.swal2-toast .swal2-html-container { margin: .25rem .625rem; }
.storefront .swal2-popup .swal2-icon { font-size: .75rem; }
.storefront .swal2-popup.swal2-toast .swal2-icon { font-size: .875rem; }
.storefront .swal2-popup:has(.swal2-success) { border-left: 4px solid #4f684d; }
.storefront .swal2-popup:has(.swal2-error) { border-left: 4px solid #a14b3d; }
.storefront .swal2-popup:has(.swal2-warning) { border-left: 4px solid #9a702b; }
.storefront .swal2-popup:has(.swal2-info) { border-left: 4px solid #456b82; }
.storefront .swal2-popup .swal2-actions button { font-size: .875rem; line-height: 1.5; font-weight: 700; }
.storefront #store-content :is([role="alert"], [role="status"], .referral-notice) {
    font-family: var(--store-font);
    font-size: .8125rem;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0;
    text-transform: none;
    overflow-wrap: anywhere;
}
.storefront #store-content :is([role="alert"], [role="status"]) :is(p, li, span) { font-size: inherit; line-height: inherit; letter-spacing: inherit; }
.storefront #store-content [role="alert"] { color: #873e34; }
.storefront #store-content div[role="alert"],
.storefront #store-content div[role="status"][class*="border"],
.storefront .referral-notice { padding: .875rem 1rem; border-radius: .75rem; }
.storefront #store-content :is([role="alert"], [role="status"]) svg { width: 1.125rem; height: 1.125rem; flex-shrink: 0; }
.storefront .store-checkout-choice { margin-bottom: 1.5rem; padding: 1.25rem; border: 1px solid #dedbd4; border-radius: 1rem; background: #fffdf9; }
.storefront .store-checkout-choice h2 { font-size: 1.25rem; line-height: 1.35; }
.storefront .store-checkout-choice p { margin-top: .5rem; font-size: .875rem; }
.storefront .store-checkout-choice > div { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1rem; font-size: .875rem; }
.storefront .store-checkout-choice a { font-weight: 700; text-underline-offset: .2em; text-decoration: underline; }
.storefront .store-checkout-choice .store-guest-action { padding: .75rem 1.25rem; border-radius: 2rem; background: #292522; color: white; text-decoration: none; }
@media (max-width: 639px) {
    .storefront .swal2-container.swal2-top-end { inset-inline: .75rem; width: auto !important; }
    .storefront .swal2-popup.swal2-toast { width: 100%; max-width: 100%; }
}

.storefront .store-checkout-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.storefront :is(.store-confirmation-products, .store-receipt-download) h2 { font-size: 1.25rem; font-weight: 700; line-height: 1.4; }
.storefront .store-confirmation-status { margin-top: .5rem; font-size: .8125rem; line-height: 1.5; }
.storefront .store-confirmation-item { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; border-bottom: 1px solid #dedbd4; padding-block: 1rem; font-size: .875rem; overflow-wrap: anywhere; }
.storefront .store-confirmation-item > div { flex: 1 1 14rem; min-width: 0; }
.storefront .store-confirmation-item p { margin-top: .25rem; font-size: .8125rem; }
.storefront .store-receipt-download { border: 1px solid #e4d8c9; border-radius: 1.25rem; background: linear-gradient(135deg, #fffaf3, #f7f3ee); padding: clamp(1.25rem, 3vw, 1.75rem); box-shadow: 0 4px 18px rgb(41 37 34 / 4%); }
.storefront .store-receipt-download p { margin-block: .5rem 1rem; font-size: .875rem; line-height: 1.6; }
.storefront .store-receipt-download a { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .75rem 1.25rem; background: #292522; color: #fff; border-radius: 2rem; font-size: .875rem; font-weight: 700; line-height: 1.5; text-align: center; }

/* Keep confirmation guidance together with its receipt action. */
.storefront .store-receipt-intro { display: flex; align-items: flex-start; gap: 1rem; }
.storefront .store-receipt-intro > div { min-width: 0; }
.storefront .store-receipt-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 2.75rem; height: 2.75rem; border: 1px solid #ead8c4; border-radius: .875rem; color: #a74c29; background: #fffdf9; }
.storefront .store-receipt-icon svg { width: 1.5rem; height: 1.5rem; }
.storefront .store-receipt-intro p { max-width: 36rem; margin-block: .5rem .75rem; color: #62574f; text-wrap: pretty; }
.storefront .store-receipt-reference { font-size: .8125rem; line-height: 1.5; color: #62574f; }
.storefront .store-receipt-reference strong { color: #292522; font-weight: 700; font-variant-numeric: tabular-nums; }
.storefront .store-receipt-download > a { gap: .625rem; margin-top: 1.25rem; margin-left: 3.75rem; }
.storefront .store-receipt-download > a svg { flex: 0 0 1.125rem; width: 1.125rem; height: 1.125rem; }
.storefront .store-receipt-download > a:hover { background: #40372f; }
.storefront .store-receipt-download > a:focus-visible { outline: 2px solid #a74c29; outline-offset: 4px; }
@media (max-width: 639px) {
    .storefront .store-receipt-intro { gap: .75rem; }
    .storefront .store-receipt-download > a { margin-left: 0; width: 100%; }
}
