/* Ads (overlay + banner slots) and Gugames Premium pages. Loaded by features/ads.js and billing.js. */

/* ----- ad overlay (stub provider) ----- */
.gg-ad-overlay { position: absolute; inset: 0; z-index: 20; display: grid; place-items: center; padding: 16px; background: rgba(10, 8, 18, .92); backdrop-filter: blur(4px); }
.gg-ad-overlay.fixed { position: fixed; z-index: 1000; }
.gg-ad-box { max-width: 420px; width: 100%; text-align: center; background: var(--card, #1d1a2c); border: 1px solid var(--line, #2f2a47); border-radius: var(--r-xl, 18px); padding: 24px 20px; }
.gg-ad-box h3 { margin: 10px 0 6px; font-size: 22px; }
.gg-ad-box p { margin: 0; color: var(--muted, #a39dc0); font-size: 14px; }
.gg-ad-count { margin: 18px 0 14px; font-weight: 600; min-height: 44px; display: grid; place-items: center; }
.gg-ad-actions { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.gg-ad-tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dim, #6f6990); }

/* ----- banner slots ----- */
.gg-ad-slot { margin: 20px 0; text-align: center; }
.gg-ad-slot[hidden] { display: none; }
aside .gg-ad-slot { margin: 14px 0 0; }
.gg-ad-stub { display: grid; place-items: center; gap: 4px; min-height: 90px; margin-top: 4px; border: 1px dashed var(--line, #2f2a47); border-radius: var(--r-lg, 14px); color: var(--muted, #a39dc0); font-size: 13px; padding: 12px; }
aside .gg-ad-stub { min-height: 250px; }
.gg-ad-stub b { color: var(--text, #f3f0ff); }
.gg-ad-stub a { color: var(--accent, #8b5cff); }

/* ----- premium ----- */
.bill-wrap { max-width: 760px; margin: 24px auto; }
.bill-hero { text-align: center; }
.bill-hero h1 { font-size: clamp(28px, 5vw, 40px); margin: 12px 0 8px; }
.bill-hero p { color: var(--muted, #a39dc0); margin: 0 auto; max-width: 520px; }
.bill-badge { display: inline-block; background: var(--grad); color: #fff; font-weight: 700; font-size: 13px; padding: 4px 12px; border-radius: 999px; }
.bill-perks { list-style: none; padding: 0; margin: 20px auto 0; display: grid; gap: 8px; max-width: 460px; text-align: left; }
.bill-perks li::before { content: "✓"; color: var(--ok, #3ddc97); font-weight: 700; margin-right: 10px; }
.bill-status { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: center; margin: 24px 0 0; padding: 14px 18px; border-radius: 14px; background: var(--card, #1d1a2c); border: 1px solid var(--ok, #3ddc97); }
.bill-status span { color: var(--muted, #a39dc0); }
.bill-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-top: 28px; }
.bill-plan { position: relative; display: grid; gap: 10px; justify-items: center; padding: 24px 18px; border-radius: 18px; background: var(--card, #1d1a2c); border: 1px solid var(--line, #2f2a47); color: inherit; font: inherit; cursor: pointer; transition: border-color .15s, transform .12s; }
.bill-plan:hover { border-color: var(--accent, #8b5cff); }
.bill-plan:active { transform: scale(.98); }
.bill-plan:disabled { opacity: .6; cursor: progress; }
.bill-plan-name { font-weight: 600; color: var(--muted, #a39dc0); }
.bill-price { font-size: 32px; font-weight: 800; }
.bill-price small { font-size: 15px; font-weight: 500; color: var(--muted, #a39dc0); margin-left: 4px; }
.bill-save { position: absolute; top: -10px; right: 14px; background: var(--ok, #3ddc97); color: #062; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.bill-gws { border: 0; padding: 0; margin: 22px 0 0; display: grid; gap: 8px; }
.bill-gws legend { font-weight: 600; margin-bottom: 8px; }
.bill-gw { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: var(--r-md, 12px); background: var(--card, #1d1a2c); border: 1px solid var(--line, #2f2a47); cursor: pointer; }
.bill-gw:has(input:checked) { border-color: var(--accent, #8b5cff); }
.bill-note { color: var(--dim, #6f6990); font-size: 13px; text-align: center; }
.bill-result { text-align: center; padding: 40px 0; }
.bill-result-icon { width: 72px; height: 72px; margin: 0 auto 10px; border-radius: 50%; display: grid; place-items: center; font-size: 32px; background: var(--card-2, #262238); }
.bill-result.ok .bill-result-icon { background: var(--grad); color: #fff; }
.bill-result p { color: var(--muted, #a39dc0); }
.bill-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 18px; }
