/* Shared finishing rules for the public storefront. */
[hidden]{display:none!important}
:focus-visible{outline:3px solid #1674dc;outline-offset:4px}
button:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.cart-open{overflow:hidden}
.cart-drawer[inert]{visibility:hidden}
.cart-drawer.open{visibility:visible}
.request-feedback,.request-confirmation{grid-column:1/-1;line-height:1.65;margin:8px 0;overflow-wrap:anywhere}
.request-feedback[role=alert]{color:#ad2533;background:#fff0f1;padding:14px;border-radius:12px}
.request-confirmation{color:#123e2e;background:#eaf8f0;border:1px solid #b5dfc8;padding:18px;border-radius:16px}
.request-confirmation a{display:inline-block;text-decoration:underline;font-weight:800;margin-top:8px}
.product-content small,.product-meta{line-height:1.5}
.product-grid{align-items:stretch}
.product-card{min-width:0}
.product-card h3{overflow-wrap:anywhere}
.product-details-btn{min-height:44px}
.cart-form input,.cart-form select,.contact-form input,.contact-form textarea,.inline-form input{min-width:0;width:100%}
.contact-row strong{overflow-wrap:anywhere}
.brand-meta{font-size:14px}
@media(max-width:600px){
 .toast{width:calc(100% - 32px);max-width:440px;border-radius:16px;text-align:center;line-height:1.45}
 .cart-head{padding:18px}.cart-body{padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
 .cart-form input,.cart-form select,.cart-form textarea,.contact-form input,.contact-form textarea{font-size:16px}
 .product-modal-panel{max-height:92dvh;overflow:auto}
 .request-confirmation{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
