/* =====================================================
   Theme Overrides
   Project-specific overrides for theme.min.css
   ===================================================== */

/* -----------------------------------------------------
   SCROLL SAFETY (fix "can't scroll")
   Some themes/components accidentally set overflow:hidden
   on html/body or a top-level wrapper. Force scroll back on.
----------------------------------------------------- */
html, body{
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

@font-face{
    font-family: Icons;
    src:url(themes/default/assets/fonts/icons.woff2) format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* If any layout wrapper tries to lock scrolling, kill it */
body,
body > .ui.container,
.pushable,
.pusher{
    overflow: visible !important;
}

/* -----------------------------------------------------
   Logos
----------------------------------------------------- */
.homeLogo{
    width: 100%;
    max-width: 420px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.navLogo{
    width: auto;
    height: 40px;
    max-height: 40px;
    display: block;
}

.fancy-wrap {
    padding: 10px;
}

/* -----------------------------------------------------
   Text wrapping fixes
----------------------------------------------------- */
#serverPage p,
td.server p.description {
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
}

/* -----------------------------------------------------
   Color overrides
----------------------------------------------------- */
.default-color,
.or:before,
.ui.button.submit {
    color: #ffffff !important;
    background: #413C58 !important;
    opacity: .99;
}

.default-color a,
.default-color .item,
.server-ip {
    color: #ffffff !important;
}

.server-ip {
    background: #413C58;
}

.copy-action,
.copy-action button,
#server .ui.label {
    color: #ffffff;
    background: rgb(110,106,130);
}

.ui.segment.list {
    padding-top: 1rem;
}

/* Hover / active states */
.copy-action:hover,
.button.active,
.setti .ui.active.button,
.right.menu .ui.button:focus,
.setti .ui.button:focus {
    color: #ffffff !important;
    background: rgba(110,106,130,0.6) !important;
    transition: all .5s;
}

/* -----------------------------------------------------
   Background layer
----------------------------------------------------- */
body{
    position: relative;
    background-color: #0a0f1f !important;
}

body::before{
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: var(--bg-image) center center / cover no-repeat;
    background-color: #0a0f1f;
}

/* -----------------------------------------------------
   Info pills (bottom right)
----------------------------------------------------- */
.flash-toasts {
    position: fixed !important;
    right: 24px;
    bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 2147483647;
    pointer-events: none;
}

.flash {
    --ttl: 5000ms;
    pointer-events: auto;
    padding: 14px 20px;
    border-radius: 999px;
    font-size: 16px;
    line-height: 1.2;
    min-height: 44px;
    color: #fff;
    max-width: 360px;
    box-shadow: 0 12px 32px rgba(0,0,0,.22);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .18s ease, transform .18s ease;
    position: relative;
}

.flash::after {
    content: '';
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 6px;
    height: 3px;
    border-radius: 999px;
    background: rgba(255,255,255,.35);
    transform-origin: left;
    transform: scaleX(1);
}

.flash--running::after {
    animation: flash-progress linear forwards;
    animation-duration: var(--ttl);
}

@keyframes flash-progress {
    from { transform: scaleX(1); }
    to   { transform: scaleX(0); }
}

.flash--success { background: #16a34a; }
.flash--error   { background: #dc2626; }
.flash--info    { background: #2563eb; }
.flash--warning { background: #d97706; }
