.ws-host > :not(.website-store) { display:none!important; }
.website-store { color:#f6f1ff; text-align:left; scroll-margin-top:88px; }
.ws-heading h2 { font-size:28px; margin:0 0 8px; }
.ws-heading p,.ws-note,.ws-duration { color:#bcb0ce; font-size:14px; line-height:1.5; }
.ws-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:24px 0; }
.ws-tabs button { border:1px solid #4e3b68; border-radius:24px; background:transparent; color:#ddd0ee; padding:12px 18px; font:inherit; cursor:pointer; }
.ws-tabs button[aria-selected=true] { background:#7434b8; border-color:#a161e3; color:white; }
.ws-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ws-products.ws-pass,.ws-products.ws-bundle { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ws-seller { color:#9f93b3; font-size:12px; line-height:1.5; margin-top:10px; overflow-wrap:anywhere; }
.ws-legal { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:18px; font-size:13px; }
.ws-legal a { color:#c9bbd9; text-decoration:underline; }
.ws-product { min-width:0; padding:22px; background:#1a1425; border:1px solid #453453; border-radius:20px; display:flex; flex-direction:column; }
.ws-product h3 { font-size:21px; margin:0; }
.ws-duration { margin:6px 0 20px; }
.ws-quantity { font-size:34px; font-weight:750; }
.ws-quantity span { display:block; font-size:14px; font-weight:400; color:#c9bbd9; }
.ws-product ul { padding-left:18px; font-size:14px; line-height:1.65; margin:18px 0 24px; }
.ws-price { font-size:24px; font-weight:700; margin-top:auto; padding-top:8px; }
.ws-price small { display:block; font-size:13px; font-weight:400; color:#c6b9d7; margin-top:6px; }
.ws-primary { margin-top:18px; border:0; padding:13px 16px; border-radius:12px; background:#9a45ed; color:white; font:inherit; font-weight:650; cursor:pointer; }
.ws-payment { position:fixed; inset:0; margin:auto; width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); box-sizing:border-box; overflow:auto; border:1px solid #66517c; border-radius:22px; padding:28px; background:#191121; color:#f8f2ff; font-family:inherit; }
.ws-payment::backdrop { background:#05030bbc; backdrop-filter:blur(5px); }
.ws-payment h2 { font-size:24px; margin:4px 28px 12px 0; }
.ws-close { position:absolute; right:10px; top:10px; width:40px; height:40px; font-size:28px; border:0; background:transparent; color:#d7c5e5; cursor:pointer; }
.ws-selected { font-size:16px; line-height:1.5; margin-bottom:24px; }
.ws-method { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; padding:18px 14px; margin:12px 0; text-align:left; background:#2a1d3c; border:1px solid #8c50b5; border-radius:14px; color:white; font:inherit; cursor:pointer; }
.ws-method span { white-space:nowrap; font-size:14px; }
.ws-method:disabled { opacity:.6; cursor:wait; }
.website-store button:focus-visible,.ws-payment button:focus-visible { outline:2px solid #e4b4ff; outline-offset:3px; }
.ws-error { color:#ffb5c6; font-size:14px; }
@media(max-width:900px) { .ws-products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .ws-products,.ws-products.ws-pass,.ws-products.ws-bundle { grid-template-columns:1fr; } .ws-tabs { gap:6px; } .ws-tabs button { flex:1; min-width:0; font-size:13px; padding:12px 8px; } .ws-product { padding:20px; } .ws-heading h2 { font-size:25px; } .ws-payment { padding:22px; } .ws-method { flex-wrap:wrap; } }
