/* Shopping tasks keep one obvious next action, using Mehgis's existing font and palette. */
.shopping-task-page .mobile-nav, .product-shopping-page .mobile-nav,
.shopping-task-page #promo-banner, .product-shopping-page #promo-banner,
.shopping-task-page #recently-viewed, .shopping-task-page #social-proof-toast,
.product-shopping-page #social-proof-toast { display: none !important; }
.shopping-account-link { border: 1px solid #e5e7eb; background: white; min-height: 44px; }
.shopping-account-link svg { display: none; }
.shopping-guidance { color: #526071; font-size: .875rem; line-height: 1.85; margin-block: .5rem 1rem; }
.shopping-panel { padding: 1.25rem; border: 1px solid #e5e7eb; background: white; border-radius: 16px; min-width: 0; }
.shopping-optional { margin-block: 1rem; border-top: 1px solid #e5e7eb; padding-top: .75rem; }
.shopping-optional > summary, .shopping-summary-toggle { cursor: pointer; min-height: 44px; padding-block: .5rem; font-weight: 600; color: #374151; overflow-wrap: anywhere; }
.shopping-optional[open] > summary { margin-bottom: .75rem; }
.shopping-text-action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .5rem .75rem; color: #9d174d; text-decoration: underline; text-underline-offset: .2em; }
.shopping-section-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.shopping-search-row, .shopping-coupon-row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; margin-block: 1rem; }
.shopping-search-row > div, .shopping-coupon-row > input { flex: 1 1 12rem; min-width: 0; }
.shopping-search-row input, .shopping-coupon-row input { display: block; width: 100%; min-width: 0; border: 1px solid #cbd5e1; border-radius: 10px; padding: .75rem; font-size: 1rem; }
.shopping-search-row button, .shopping-coupon-row button { min-height: 48px; padding: .75rem 1.25rem; white-space: normal; }
.coupon-section label { display: block; margin-bottom: .5rem; font-weight: 600; }
#discount-result:empty { margin: 0; }
#discount-result { color: #9b1c1c; line-height: 1.85; }
.product-shopping-page #model-selection { min-inline-size: 0; border: 0; padding: 0; margin: 0 0 1.25rem; }
.product-shopping-page .purchase-actions { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; }
.product-shopping-page #add-to-cart-btn { flex: none; width: 100%; min-width: 0; padding: 1rem; font-size: 1.125rem; line-height: 1.6; min-height: 56px; }
.product-shopping-page #add-to-cart-btn > span { word-break: normal; overflow-wrap: normal; }
.product-shopping-page #add-to-cart-btn svg { flex: 0 0 24px; width: 24px; height: 24px; }
.product-shopping-page #mobile-sticky-bar { z-index: 60; padding-bottom: calc(.75rem + env(safe-area-inset-bottom, 0px)); }
.product-shopping-page #mobile-sticky-bar > button { flex: 1 1 10rem; min-height: 48px; }
.product-shopping-page #mobile-sticky-bar > div { flex: 1 1 8rem; }
.product-shopping-page #main-product-image { max-height: 360px; }
.mini-cart-next { display: flex; flex-direction: column-reverse; gap: .75rem; }
.mini-cart-next > a { min-height: 48px; }
#mini-cart .shopping-optional { flex-shrink: 0; }
#mini-cart-body .flex-1.space-y-3 { flex: 0 0 auto; }
#mini-cart-body .text-xs, #mini-cart-body .text-\[11px\] { font-size: .875rem; }
.checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
.checkout-steps { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-bottom: 1.5rem; color: #526071; font-size: .875rem; }
.checkout-steps [aria-current=step] { color: #9d174d; font-weight: 700; text-decoration: underline; text-underline-offset: .35rem; }
.checkout-summary { align-self: start; }
.checkout-summary-content { padding-top: 1rem; }
.checkout-summary-item { display: flex; align-items: start; gap: .75rem; padding-block: .75rem; }
.checkout-summary-item > img { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.checkout-summary-item > div { min-width: 0; }
.checkout-totals { margin-top: 1rem; border-top: 1px solid #e5e7eb; }
.checkout-totals > div:not(.hidden), .checkout-final-total { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; padding-block: .75rem; }
.checkout-totals dd { margin: 0; font-variant-numeric: tabular-nums; }
.checkout-final-total { border-top: 1px solid #e5e7eb; margin-top: .5rem; }
.checkout-final-total > strong { color: #9d174d; }
.shopping-pay-button { width: 100%; font-size: 1.125rem; line-height: 1.8; min-height: 56px; padding: 1rem; }
#address-form > label:not(:has(input:checked)) { border-color: #e5e7eb; background: white; }
#address-form > label:has(input:checked) { border-color: #be185d; background: #fdf2f8; }
.address-dialog { display: flex; flex-direction: column; max-height: 90vh; max-height: 90dvh; }
.address-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid #e5e7eb; }
.address-dialog > form { padding: 1.25rem; overflow-y: auto; min-height: 0; }
.address-dialog-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding-block: 1rem; }
.address-dialog > .address-dialog-actions { padding: 1rem 1.25rem; border-top: 1px solid #e5e7eb; }
.address-dialog-actions > .btn { flex: 1 1 10rem; min-height: 48px; }
.address-fields { min-inline-size: 0; margin: 1rem 0 1.5rem; padding: 0; border: 0; }
.address-fields legend { font-size: 1.125rem; font-weight: 700; margin-bottom: .75rem; }
.address-field-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.address-fields > div { margin-bottom: 1rem; }
.address-fields label { display: block; font-weight: 500; margin-bottom: .5rem; }
.address-fields input, .address-fields textarea { font-size: 1rem; width: 100%; }
.field-error, .address-errors { color: #991b1b; font-size: .875rem; line-height: 1.85; }
.address-errors { padding: .75rem; background: #fef2f2; border-radius: 10px; }
.address-default-choice { display: flex; align-items: start; gap: .75rem; min-height: 44px; padding-top: .75rem; }
.address-default-choice input { flex-shrink: 0; margin-top: .4rem; }
.bank-handoff-heading { background: #fdf2f8; color: #831843; }
.bank-handoff-heading .bg-white\/20 { background: transparent; }
.bank-handoff-heading svg { color: #9d174d; }
@media (min-width: 640px) { .address-field-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1024px) {
    .checkout-layout { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; }
    .checkout-address { grid-column: 1; grid-row: 1; }
    .checkout-shipping { grid-column: 1; grid-row: 2; }
    .checkout-payment { grid-column: 1; grid-row: 3; }
    .checkout-summary { grid-column: 2; grid-row: 1 / span 3; }
}

.shopping-search-row button, .shopping-coupon-row button { border-radius: 12px; }
#model-selection, #add-to-cart-form, #add-to-cart-btn, #inline-phone { scroll-margin-block: 6rem; }

.address-record-actions { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.shopping-pay-button { border-radius: 12px; }

.address-fields input, .address-fields textarea { scroll-margin-top: 6rem; }
