/* basbelasi.com — shared styles */

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    background-color: #050807;
    font-family: 'Fira Code', monospace;
    color: #d6f5e3;
}

/* TOP MENU */
.top-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 100;
    padding: 11px 12px 9px;
    background: rgba(5, 8, 7, 0.92);
    backdrop-filter: blur(4px);
}

.menu-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.7;
    position: relative;
}

.menu-center {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.menu-social {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.menu-social .bb-soc-link {
    color: #3a5a48;
    transition: color .2s;
    display: flex;
    align-items: center;
}
.menu-social .bb-soc-link:hover { color: #7cffb2; }

.menu-login {
    position: relative;
    font-size: 12px !important;
    color: #3a5a48 !important;
    text-decoration: none;
    margin: 0 0 0 8px !important;
    transition: color 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
}
.menu-login::after {
    content: "";
    position: absolute;
    left: 0; bottom: -2px;
    width: 0; height: 1px;
    background: #7cffb2;
    transition: width 0.2s;
}
.menu-login:hover,
.menu-login.active { color: #7cffb2 !important; }
.menu-login:hover::after,
.menu-login.active::after { width: 100%; }

.top-menu a {
    position: relative;
    font-size: 13px;
    color: #9db8aa;
    text-decoration: none;
    margin: 0 5px;
    transition: color 0.2s;
    white-space: nowrap;
}

.top-menu a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1px;
    background: #7cffb2;
    transition: width 0.2s;
}

.top-menu a:hover,
.top-menu a.active {
    color: #7cffb2;
}

.top-menu a:hover::after,
.top-menu a.active::after {
    width: 100%;
}

.separator {
    color: #2a3d33;
    font-size: 13px;
    margin: 0 1px;
}

/* FOOTER */
#bb-footer-right {
    position: fixed;
    bottom: 12px;
    right: 15px;
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 3px;
    z-index: 50;
}

.bb-ip {
    font-size: 11px;
    color: #2e4438;
    letter-spacing: 0.5px;
}

.bb-site {
    font-size: 11px;
    color: #1a3028;
    letter-spacing: 1px;
}

#bb-footer-left {
    position: fixed;
    bottom: 12px;
    left: 15px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 50;
}

.bb-sure-row {
    font-size: 11px;
    color: #2e4438;
    text-decoration: none;
    display: flex;
    gap: 5px;
    transition: color 0.2s;
}

.bb-sure-row:hover { color: #7cffb2; }
.bb-sure-row.soon .bb-sure-day { color: #4a6b58; }
.bb-sure-row.past .bb-sure-name { color: #1a3028; }
.bb-sure-row.past .bb-sure-day  { color: #1a3028; }

.bb-sure-name { color: #2e4438; }
.bb-sure-sep  { color: #1a3028; }
.bb-sure-day  { color: #2e4438; }

.bb-sure-more {
    font-size: 11px;
    color: #1a3028;
    text-decoration: none;
    margin-top: 1px;
    transition: color 0.2s;
}
.bb-sure-more:hover { color: #4a6b58; }

/* CURSOR BLINK */
.cursor {
    animation: blink 1s infinite;
}

@keyframes blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

/* PAGE FADE IN */
body {
    animation: fadeIn 0.25s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* MOBILE */
@media (max-width: 600px) {
    .top-menu {
        padding: 9px 8px 7px;
    }

    .menu-row {
        line-height: 1.8;
    }
    .menu-center {
        position: static;
        transform: none;
        flex-wrap: wrap;
        order: 2;
        width: 100%;
        justify-content: center;
        margin-top: 4px;
    }
    .top-menu a {
        font-size: 12px;
        margin: 0 3px;
    }
}


/* SOCIAL */
.bb-soc-link {
    color: #2e4438;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}
.bb-soc-link:hover { color: #7cffb2; }
