/* giveaway.css — floating giveaway advert (home page only). Built by /assets/js/giveaway.js.
   It cannot be closed for the first 10 seconds (button is disabled and shows a countdown). */
html.gw-lock { overflow: hidden; }

.gw-overlay {
    position: fixed; inset: 0; z-index: 9000;
    display: flex; align-items: center; justify-content: center;
    padding: 16px; padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    background: rgba(0,0,0,.72);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    opacity: 0; transition: opacity .45s ease;
}
.gw-overlay.is-in { opacity: 1; }
.gw-overlay, .gw-overlay * { box-sizing: border-box; font-family: 'Cinzel', serif; }

.gw-card {
    position: relative; isolation: isolate; overflow: hidden;
    width: 100%; max-width: 560px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
    overflow-y: auto; scrollbar-width: none;
    padding: 40px 36px 28px; border-radius: 22px; text-align: center; color: #fff; outline: none;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255,215,0,.20), transparent 62%),
        linear-gradient(170deg, #14121c, #060608);
    border: 1px solid rgba(255,215,0,.5);
    box-shadow: 0 30px 90px rgba(0,0,0,.85), 0 0 60px rgba(255,215,0,.14);
    transform: translateY(34px) scale(.96); transition: transform .55s cubic-bezier(.2,.8,.2,1);
}
.gw-card::-webkit-scrollbar { display: none; }
.gw-overlay.is-in .gw-card { transform: none; }

/* slow light sweep across the card */
.gw-card::before {
    content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: -1; pointer-events: none;
    background: linear-gradient(100deg, transparent, rgba(255,215,0,.12), transparent);
    transform: skewX(-18deg); animation: gwSweep 5.5s ease-in-out infinite;
}
@keyframes gwSweep { 0%, 55% { left: -60%; } 100% { left: 130%; } }

.gw-gift {
    display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%;
    border: 1px solid rgba(255,215,0,.55); background: rgba(255,215,0,.08);
    animation: gwBob 3s ease-in-out infinite;
}
.gw-gift svg { width: 30px; height: 30px; fill: #FFD700; }
@keyframes gwBob { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-7px) rotate(3deg); } }

.gw-tag { display: inline-block; padding: 6px 16px; border: 1px solid #B8860B; border-radius: 99px; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: #FFD700; }
.gw-title { margin: 16px 0 10px; font-size: clamp(26px, 6vw, 38px); font-weight: 700; letter-spacing: 2px; line-height: 1.12; color: #FFD700; text-shadow: 0 0 26px rgba(255,215,0,.35); }
.gw-lead { margin: 0 0 12px; font-size: clamp(15px, 3.6vw, 18px); line-height: 1.6; color: #fff; }
.gw-lead strong { color: #FFD700; }
.gw-meta { margin: 0 auto; max-width: 440px; font-size: 12px; line-height: 1.85; color: #c9c9c9; }

.gw-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.gw-btn {
    display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 26px;
    font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; border-radius: 12px; cursor: pointer;
    transition: background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.gw-btn.primary { color: #0a0814; background: #FFD700; border: 2px solid #FFD700; }
.gw-btn.primary:hover, .gw-btn.primary:focus-visible { background: #FFC200; border-color: #FFC200; transform: translateY(-2px); box-shadow: 0 8px 26px rgba(255,215,0,.42); }
.gw-btn.ghost { color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.35); }
.gw-btn.ghost:hover, .gw-btn.ghost:focus-visible { color: #FFD700; border-color: #FFD700; }
.gw-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.gw-fine { margin: 20px auto 0; max-width: 460px; font-size: 10px; line-height: 1.7; color: #8a8a8a; }

.gw-close-row { display: flex; align-items: center; justify-content: center; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); }
.gw-close {
    min-height: 40px; padding: 8px 20px; font-size: 12px; letter-spacing: 1.5px; border-radius: 10px;
    color: #c9c9c9; background: transparent; border: 1px solid rgba(255,255,255,.28); cursor: pointer;
    transition: color .2s, border-color .2s;
}
.gw-close[disabled] { cursor: not-allowed; opacity: .55; }
.gw-close:not([disabled]):hover, .gw-close:not([disabled]):focus-visible { color: #FFD700; border-color: #FFD700; }
.gw-close:focus-visible { outline: 2px solid #FFD700; outline-offset: 2px; }
.gw-bar { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: linear-gradient(90deg, #B8860B, #FFD700); transform-origin: left; transform: scaleX(1); }

@media (max-width: 520px) {
    .gw-card { padding: 30px 20px 22px; border-radius: 18px; }
    .gw-actions { flex-direction: column; }
    .gw-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .gw-overlay, .gw-card { transition: none; }
    .gw-card::before, .gw-gift { animation: none; }
}
