/* Device Visibility */
.ad-slot--desktop { display: none !important; }
.ad-slot--mobile { display: flex !important; }
@media (min-width: 1061px) {
    .ad-slot--desktop { display: flex !important; }
    .ad-slot--mobile { display: none !important; }
}

/* Site Skin */
.site-skin { position: fixed; top: 108px; z-index: 25; display: none; }
.site-skin-left { left: calc(50% - 530px - 190px); }
.site-skin-right { right: calc(50% - 530px - 190px); }
.site-skin-slot { align-items: flex-start; justify-content: center; }
@media (min-width: 1280px) { .site-skin { display: block; } }

/* Popup Ad */
.popup-ad-overlay { position: fixed; inset: 0; z-index: 10001; display: flex; align-items: center; justify-content: center; padding: 20px; }
.popup-ad-overlay.hidden { display: none !important; }
.popup-ad-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.72); backdrop-filter: blur(4px); }
.popup-ad-panel { position: relative; z-index: 1; width: min(92vw, 760px); border-radius: 6px; padding: 14px; background: rgba(255, 255, 255, 0.96); box-shadow: 0 30px 80px rgba(15, 23, 42, 0.32); }
.popup-ad-body { display: flex; justify-content: center; align-items: center; overflow: hidden; }
.popup-ad-close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border-radius: 999px; border: 0; background: rgba(15, 23, 42, 0.84); color: white; cursor: pointer; z-index: 2; font-size: 22px; line-height: 1; }

/* Mobile Sticky */
.mobile-sticky-ad {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.98);
    border-top: 1px solid rgba(148, 163, 184, 0.24);
    box-shadow: 0 -10px 28px rgba(15, 23, 42, 0.12);
}
@media (min-width: 1061px) {
    .mobile-sticky-ad { display: none !important; }
}

/* Utilities from home/category */
.line-title { display: flex; align-items: center; width: 100%; }
.line__container { height: 40px; width: calc(100% - 32px); display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border-radius: 6px; flex-grow: 1; }
.line__title { margin: 0; font-size: 16px; font-weight: 800; letter-spacing: .02em; color: #111827; }
.line__link { text-decoration: none; color: #111827; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.line--text { padding: 2px 4px; }
.ticker { animation: ticker 18s linear infinite; }
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
