/*
WRUniverse footer gap + card/theme cleanup.
CSS-only patch.
*/

/* Stop pages from leaving a giant dead zone above the footer */
html,
body {
    min-height: 100%;
}

body {
    display: flex;
    flex-direction: column;
}

.site-main {
    flex: 1 0 auto;
    padding-bottom: 28px !important;
}

.site-footer {
    flex-shrink: 0;
    margin-top: 28px !important;
}

/* Override any old huge spacing from earlier footer/card patches */
.card:last-child,
.info-grid:last-child,
.list:last-child,
.page-hero:last-child,
.wru-stats-strip:last-child {
    margin-bottom: 0 !important;
}

/* Make the footer sit naturally after content */
body > .site-footer,
.site-footer {
    border-top: 1px solid rgba(255,255,255,.08);
}

/* Remove accidental empty space caused by fixed/min heights */
.creator-profile,
.card,
.page-hero,
.info-grid,
.list,
.grid,
.creator-grid {
    min-height: 0 !important;
}

/* Clean platform card theme */
.card,
.mini-card,
.info-card,
.list > article,
.creator-card,
.milestone-card,
.wru-empty-state {
    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
        #141416 !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
    color: #fff;
}

.card {
    padding: 24px !important;
}

.list > article,
.mini-card,
.info-card,
.creator-card {
    padding: 20px !important;
}

/* Fix wide flat event card look */
.list > article {
    width: 100%;
    box-sizing: border-box;
}

/* Better profile grid/card sizing */
.creator-grid,
.grid {
    align-items: stretch;
}

.creator-grid .creator-card,
.grid .mini-card {
    min-height: 0 !important;
    width: auto !important;
}

/* Stop tiny demo profile card from becoming a tall block */
.creator-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
}

/* Search/profile form theme */
.card form,
.search-callout,
.new-user-card form {
    background: rgba(0,0,0,.16);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: 18px;
}

.card form input,
.card form select,
.card form textarea {
    background: #202024;
    border: 1px solid rgba(255,255,255,.10);
    color: #fff;
    border-radius: 10px;
}

.card form input:focus,
.card form select:focus,
.card form textarea:focus {
    outline: none;
    border-color: rgba(61,124,255,.55);
    box-shadow: 0 0 0 3px rgba(61,124,255,.16);
}

/* Keep full-width search button styled but not blinding white */
.card form button,
.card form .button,
button {
    border-radius: 999px;
}

.card form button[type="submit"] {
    background: #3d7cff;
    color: #fff;
    border: 0;
    font-weight: 900;
}

/* If old CSS makes form buttons white, force platform style */
.card form button,
.card form input[type="submit"] {
    background: #3d7cff !important;
    color: #fff !important;
}

/* Improve profile browse form width */
form[method="get"] {
    max-width: 680px;
}

form[method="get"] button {
    min-height: 42px;
}

/* Better button theme consistency */
.button,
a.button,
.actions a,
.actions button {
    border-radius: 999px !important;
    font-weight: 900;
    text-decoration: none;
}

.button.secondary,
a.button.secondary {
    background: #18181b !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    color: #fff !important;
}

.button.secondary:hover,
a.button.secondary:hover {
    background: #202027 !important;
    border-color: rgba(61,124,255,.36) !important;
}

/* Footer spacing and columns */
.site-footer {
    padding-top: 42px !important;
    padding-bottom: 24px !important;
}

.footer-grid {
    align-items: start;
}

.footer-column h3 {
    margin-bottom: 14px !important;
}

.footer-column ul li {
    margin-bottom: 9px !important;
}

/* Keep footer from looking disconnected */
.footer-bottom {
    margin-top: 28px !important;
}

/* Page sections should breathe but not create dead space */
.page-hero {
    margin-bottom: 24px !important;
}

.info-grid {
    margin-top: 22px !important;
    margin-bottom: 22px !important;
}

.card + .card,
.card + .info-grid,
.info-grid + .card,
.page-hero + .card,
.page-hero + .info-grid,
.wru-stats-strip + .card,
.wru-stats-strip + .info-grid {
    margin-top: 22px !important;
}

/* Responsive fixes */
@media (max-width: 760px) {
    .site-main {
        width: calc(100% - 18px) !important;
        padding-bottom: 20px !important;
    }

    .site-footer {
        margin-top: 20px !important;
        padding-top: 34px !important;
    }

    .card {
        padding: 20px !important;
    }

    .list > article,
    .mini-card,
    .info-card,
    .creator-card {
        padding: 18px !important;
    }

    form[method="get"] {
        max-width: none;
    }
}
