.storefront{position:relative}.widget-launcher svg{stroke-linecap:round;stroke-linejoin:round}.widget-launcher:hover{background:#eef5de;transform:translateY(-2px)}.catalog-error{margin:10px 0;padding:10px 14px;border:1px solid #efd4ca;background:#fff7f3;color:#783b30;font-size:12px}.browser-frame.is-mobile .store-header{gap:8px}.browser-frame.is-mobile .store-header nav{gap:11px}
.store-actions button:disabled,button[data-add-cart]:disabled{opacity:.38;cursor:not-allowed}.widget-launcher:focus-visible{outline:2px solid #52795d;outline-offset:3px}
.share-link-label{display:block;color:#46544a;font-size:13px;font-weight:600}.share-link-label input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #dce2da;border-radius:6px;background:#f8faf8;color:#26352b;font:13px/1.4 var(--sans)}
.modal-content .search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.modal-content .search-form input{min-width:0;height:46px;padding:0 12px;border:1px solid #dce3ef;border-radius:6px;background:#fff;color:#17243b;font:14px var(--sans)}.modal-content .search-form button{padding:0 15px;border:0;border-radius:6px;background:#315cf5;color:#fff;font-size:12px;font-weight:650;cursor:pointer}.modal-content .search-form button:hover{background:#2448cf}
@media(max-width:540px){.modal-content .search-form{grid-template-columns:1fr}.modal-content .search-form button{min-height:44px}}
/* Shared modal behavior; each skin supplies its own visual treatment. */
.showcase-app.has-open-modal .preview-stage,
.showcase-app.has-open-modal .storefront { overflow: hidden; }
.modal-backdrop { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .24s ease, visibility .24s ease; }
.modal-backdrop.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.demo-modal { transform: translateY(20px) scale(.98); opacity: 0; transition: transform .24s cubic-bezier(.2,.8,.2,1), opacity .24s ease; }
.modal-backdrop.is-open .demo-modal { transform: translateY(0) scale(1); opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .modal-backdrop, .demo-modal { transition: none; }
}
