/* Hide Gnuboard default login message bar */
#hd_login_msg { display: none !important; }

/* Fix header gap: default.css sets margin-top:70px but header is ~63px tall */
body {
    margin-top: 63px !important;
}

/* ===== Popup Layer (#hd_pop) =====
 * 팝업이 없으면 완전히 숨김 (height:0, overflow:hidden)
 * 팝업 있으면 :has(.hd_pops) 로 자동 표시
 */
#hd_pop {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}
#hd_pop:has(.hd_pops) {
    display: block !important;
    height: 0 !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 1000 !important;
}
#hd_pop h2 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    font-size: 0 !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
}
.sound_only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
}
.hd_pops {
    position: absolute !important;
    border: 1px solid #e9e9e9 !important;
    background: #fff !important;
    z-index: 1001 !important;
}
/* ===== Top Banners — alphagogoGo 색상 매칭 =====
 * 상단 배너: 진한 인디고→바이올렛 (좌→우)
 * 하단 배너: 핫핑크→로즈 (좌→우)
 */
.purple-gradient-1 {
    background: linear-gradient(90deg, #312e81 0%, #4f46e5 50%, #7c3aed 100%) !important;
}
.purple-gradient-2 {
    background: linear-gradient(90deg, #9d174d 0%, #db2777 45%, #f43f5e 100%) !important;
}

/* ===== Footer Fix =====
 * theme.css sets .footer-top { display: grid } which breaks the first row layout.
 * This file is loaded LAST to override all conflicting styles.
 */

/* Force first row to be block so .alpha-container works normally */
.alpha-footer .footer-top {
    display: block !important;
}

/* Force the grid inside to be flex row (left policy links / right utility links) */
.alpha-footer .footer-top .footer-top-grid {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
}

/* Left side links */
.alpha-footer .footer-top .footer-policy-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 24px;
    flex: 0 0 auto;
}

/* Right side links */
.alpha-footer .footer-top .footer-utility-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 24px;
    flex: 0 0 auto;
}

/* Mobile: stack vertically */
@media (max-width: 768px) {
    .alpha-footer .footer-top .footer-top-grid {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px;
    }
}
