html, body { background: #07070d; color: #e5e7eb; overscroll-behavior: none; }
    body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
    .text-gradient { background: linear-gradient(92deg, #a78bfa 0%, #22d3ee 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
    #mobile-menu{display:none} #mobile-menu.open{display:block} @media (min-width:1024px){#mobile-menu,#mobile-menu.open{display:none !important}}
    a.bg-white{color:#07070d !important;}

    /* shop iframe */
    .shop-section { position: relative; padding-top: 4rem; background: #07070d; }
    .shop-frame-wrap { position: relative; width: 100%; height: calc(100vh - 4rem); height: calc(100dvh - 4rem); min-height: 640px; background: #07070d; }
    .shop-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; background: #fff; }
    .shop-loader { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; background: #07070d; color: #9ca3af; font-size: .9rem; transition: opacity .35s ease, visibility .35s ease; z-index: 2; }
    .shop-loader.done { opacity: 0; visibility: hidden; pointer-events: none; }
    .spin { animation: spin .8s linear infinite; }
    @keyframes spin { to { transform: rotate(360deg); } }
    @media (max-width: 640px) {
      .shop-frame-wrap { min-height: 560px; }
    }