/* Bootstrap-compatible base: sheets work on lightweight storefront pages too. */
.sf-sheet{position:fixed;inset-inline:0;bottom:0;display:flex;flex-direction:column;max-width:100%;visibility:hidden;transform:translateY(100%);transition:transform .3s ease-in-out}
.sf-sheet.showing,.sf-sheet.show:not(.hiding){transform:none}.sf-sheet.hiding,.sf-sheet.show,.sf-sheet.showing{visibility:visible}.sf-sheet-header{display:flex;align-items:center;justify-content:space-between}.sf-sheet-body{flex-grow:1;overflow-y:auto}
.sf-site .offcanvas-backdrop{position:fixed;inset:0;z-index:1050;width:100vw;height:100vh;background:#000;opacity:0;transition:opacity .15s linear}.sf-site .offcanvas-backdrop.show{opacity:.65}
.sf-sheet.offcanvas-bottom{--bs-offcanvas-height:auto;max-height:92vh;max-height:92dvh;height:auto!important;width:min(820px,100%);margin-inline:auto;border:1px solid var(--site-line);border-bottom:0;border-radius:30px 30px 0 0;background:var(--site-card);color:var(--site-text);z-index:1055;box-shadow:0 -20px 90px #0006;font-family:var(--site-font)}
.sf-sheet-grip{width:44px;height:5px;background:var(--site-line);border-radius:5px;margin:12px auto 0;flex-shrink:0}.sf-sheet-header{padding:18px 28px;border-bottom:1px solid var(--site-line);gap:20px;flex-shrink:0}.sf-sheet-header h2{font-size:22px;margin:0}.sf-sheet-header p{font-size:13px;color:var(--site-muted);margin:6px 0 0}.sf-sheet-close{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--site-line);background:var(--site-bg);color:var(--site-text);font-size:28px;border-radius:14px;cursor:pointer}.sf-sheet-body{padding:24px 28px max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto}.sf-sheet-actions{display:flex;gap:12px;flex-wrap:wrap;position:sticky;bottom:-1px;padding-top:16px;background:var(--site-card)}.sf-sheet :focus-visible{outline:2px solid var(--site-primary);outline-offset:3px}.sf-sheet .sf-button{background:var(--site-primary);color:var(--site-dark)!important}.sf-sheet .sf-button:disabled{opacity:.55;cursor:wait}.sf-sheet .sf-button--dark{background:var(--site-bg);color:var(--site-text)!important}.sf-sheet .offcanvas-body{flex:1 1 auto;min-height:0}.sf-sheet :is(input,select,textarea){font:inherit}.offcanvas-backdrop.show{opacity:.65}
@media(max-width:600px){.sf-sheet-header,.sf-sheet-body{padding:18px}.sf-sheet-header h2{font-size:19px}.sf-sheet-actions>*{flex:1}}
@media(prefers-reduced-motion:reduce){.sf-sheet{transition:none!important}}
