/* Platform interaction states and lightbox defaults; theme components retain their own styling. */
[data-store-ui="scroll-header"]{position:sticky;top:0;z-index:100;transition:transform .2s ease}
[data-store-ui="scroll-header"].sf-ui-header-hidden{transform:translateY(-100%)}
[data-store-ui="tabs"] [data-ui-panel][hidden],
[data-store-ui="toggle"] [data-ui-panel][hidden],
[data-store-ui="carousel"] [data-ui-slide][hidden]{display:none!important}
[data-store-ui="dialog"] dialog[open]:not(:modal){position:static;margin-block:1em;max-width:100%;box-sizing:border-box}
[data-store-ui="dialog"][data-ui-ready] dialog[data-ui-drawer="right"],
[data-store-ui="dialog"][data-ui-ready] dialog[data-ui-drawer="left"]{position:fixed;top:0;bottom:0;margin:0;max-height:none;height:100dvh;width:min(420px,100vw);max-width:100vw;box-sizing:border-box;overflow:auto}
[data-store-ui="dialog"][data-ui-ready] dialog[data-ui-drawer="right"]{left:auto;right:0}
[data-store-ui="dialog"][data-ui-ready] dialog[data-ui-drawer="left"]{left:0;right:auto}
[data-store-ui="reveal"]{transition:opacity .35s ease,transform .35s ease}
[data-store-ui="reveal"].sf-ui-reveal-pending{opacity:0;transform:translateY(16px)}
/* Opt-in image lightbox. All controls and URLs come from the approved gallery contract. */
dialog.sf-ui-lightbox{border:0;border-radius:12px;padding:16px;background:#171716;color:white;box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
dialog.sf-ui-lightbox:modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:min(1200px,calc(100vw - 24px));height:min(900px,calc(100dvh - 24px));overflow:hidden}
dialog.sf-ui-lightbox::backdrop{background:#000c}
.sf-ui-lightbox .sf-ui-lightbox__toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;font:14px/1.4 Arial,sans-serif}
.sf-ui-lightbox .sf-ui-lightbox__figure{position:relative;min-height:0;display:grid;place-items:center}
[data-store-ui="gallery"] .sf-ui-lightbox .sf-ui-lightbox__image{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.sf-ui-lightbox button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #ffffff70;border-radius:8px;background:#171716e6;color:white;cursor:pointer;font:16px/1 Arial,sans-serif}
.sf-ui-lightbox button:focus-visible{outline:3px solid white;outline-offset:3px}
.sf-ui-lightbox .sf-ui-lightbox__close{padding:10px 16px}
.sf-ui-lightbox .sf-ui-lightbox__previous,.sf-ui-lightbox .sf-ui-lightbox__next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;font-size:36px}
.sf-ui-lightbox .sf-ui-lightbox__previous{left:8px}
.sf-ui-lightbox .sf-ui-lightbox__next{right:8px}
.sf-ui-lightbox .sf-ui-lightbox__caption{margin:0;font:14px/1.5 Arial,sans-serif;text-align:center;overflow-wrap:anywhere;max-height:4.5em;overflow:auto}
.sf-ui-lightbox .sf-ui-lightbox__error{position:absolute;inset:auto 50px 12px;margin:0;padding:8px;background:#171716e6;color:white;font:14px/1.5 Arial,sans-serif;text-align:center}
.sf-ui-lightbox [hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){
  [data-store-ui="scroll-header"],[data-store-ui="reveal"]{transition:none}
  [data-store-ui="reveal"].sf-ui-reveal-pending{opacity:1;transform:none}
}
