/*
 * JSG Handball Theme — Chrome Styles
 *
 * Bewusst minimal: das Theme liefert nur die "Hülle" (Body-Atmosphäre,
 * Site-Header, Site-Footer und Block-Editor-Basics). Die Komponenten
 * (Cards, Mobile-Nav, Hero, Filter-Bar, …) leben im Plugin und werden
 * von dessen frontend.css verwaltet.
 *
 * Theme-Datei-Map:
 *   theme.json       → Design-Tokens (Farben, Fonts, Spacing-Skala)
 *   assets/style.css → diese Datei (Atmosphäre + Header/Footer)
 *   parts/header.html → Site-Header-Markup (Block-Template-Part)
 *   parts/footer.html → Site-Footer-Markup (Block-Template-Part)
 *
 * Mobile-Strategie: Wenn der jsg-mobile-nav-Shortcode (oder das globale
 * Toggle) aktiv ist, fügt das Plugin die Body-Klasse `jsg-has-mobile-nav`
 * an. Wir nutzen diese Klasse als Bedingung für „Mobile UI mode": das
 * Theme-Chrome (Header + Footer) wird dann auf ≤ 767 px ausgeblendet,
 * weil die Bottom-Nav die primäre Navigation übernimmt.
 */

/* =================================================================
 * Body-Atmosphäre — der gleiche Sports-Tech-Hintergrund den vorher
 * `.jsg-team-page` getragen hat, jetzt direkt auf <body>.
 * ================================================================= */

body {
    background-color: #00050f;
    background-image:
        radial-gradient(circle at 96% 94%, rgba(255, 193, 7, 0.22) 0%, transparent 22%),
        radial-gradient(circle at 88% 96%, rgba(227, 6, 19, 0.20)  0%, transparent 32%),
        radial-gradient(circle at  6% -4%, rgba(0, 120, 255, 0.20) 0%, transparent 50%),
        linear-gradient(108deg, transparent 52%, rgba(227, 6, 19, 0.035) 65%, transparent 76%),
        linear-gradient(115deg, transparent 36%, rgba(255, 193, 7, 0.05)  50%, transparent 64%),
        linear-gradient(90deg,  transparent 78%, rgba(255, 255, 255, 0.025) 96%, transparent 100%),
        linear-gradient(135deg, #001226 0%, #00050f 55%, #00183a 100%);
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
    color: #e8f0ff;
    margin: 0;
}

/* =================================================================
 * Main wrapper — block templates wrap content in
 * <main class="wp-block-group jsg-team-page">. The class is preserved
 * so the plugin's component CSS (scoped under .jsg-team-page) keeps
 * working out of the box.
 * ================================================================= */

main.jsg-team-page {
    position: relative;
}

/* =================================================================
 * Site Header (parts/header.html)
 *
 * Dark navy bar with a subtle blue-glow bottom border. Site title in
 * Sports-Tech uppercase, navigation in tight uppercase letters.
 * ================================================================= */

.jsg-site-header {
    position: relative;
    z-index: 30;
    background:
        radial-gradient(ellipse 70% 100% at 50% 0%,
            rgba(0, 120, 255, 0.18) 0%,
            transparent 70%),
        linear-gradient(180deg, rgba(0, 8, 22, 0.92) 0%, rgba(0, 18, 38, 0.85) 100%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
    border-bottom: 1px solid rgba(0, 130, 255, 0.18);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

.jsg-site-header .wp-block-site-title a,
.jsg-site-header .wp-block-site-title {
    color: #ffffff !important;
    text-decoration: none;
    text-shadow: 0 0 14px rgba(0, 120, 255, 0.45);
}

.jsg-site-header .wp-block-navigation a {
    color: rgba(220, 230, 245, 0.85) !important;
    text-decoration: none;
    transition: color 0.18s ease;
}
.jsg-site-header .wp-block-navigation a:hover,
.jsg-site-header .wp-block-navigation a:focus-visible {
    color: #FFC107 !important;
}

/* Hide entirely on mobile when the bottom-nav is active. */
@media (max-width: 767px) {
    body.jsg-has-mobile-nav .jsg-site-header {
        display: none;
    }
}

/* =================================================================
 * Site Footer (parts/footer.html)
 * ================================================================= */

.jsg-site-footer {
    position: relative;
    z-index: 5;
    background: linear-gradient(180deg, rgba(0, 8, 22, 0) 0%, rgba(0, 8, 22, 0.55) 100%);
    border-top: 1px solid rgba(0, 130, 255, 0.10);
    color: rgba(220, 230, 245, 0.75);
}

.jsg-site-footer .wp-block-site-title,
.jsg-site-footer .wp-block-site-title a {
    color: #ffffff !important;
    text-decoration: none;
}

.jsg-site-footer .wp-block-navigation a {
    color: rgba(220, 230, 245, 0.72) !important;
    text-decoration: none;
    transition: color 0.18s ease;
}
.jsg-site-footer .wp-block-navigation a:hover,
.jsg-site-footer .wp-block-navigation a:focus-visible {
    color: #FFC107 !important;
}

.jsg-site-footer__sep {
    border: 0;
    height: 1px;
    background: rgba(0, 130, 255, 0.18) !important;
    width: 100%;
}

.jsg-site-footer__copy,
.jsg-site-footer__credit {
    margin: 0;
}
.jsg-site-footer__credit a {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: rgba(0, 120, 255, 0.5);
    text-underline-offset: 3px;
}

/* Hide entirely on mobile when the bottom-nav is active. */
@media (max-width: 767px) {
    body.jsg-has-mobile-nav .jsg-site-footer {
        display: none;
    }
}

/* =================================================================
 * Native WP single/page templates — basic typography for content
 * rendered via core blocks (wp:post-title, wp:post-content, …).
 * ================================================================= */

.jsg-single-post,
.jsg-single-page,
.jsg-404,
.jsg-search {
    color: #e8f0ff;
}

.jsg-single-post__title,
.jsg-single-page__title {
    color: #ffffff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
}

.jsg-single-post__meta {
    color: rgba(220, 230, 245, 0.65);
}

.jsg-single-post__body p,
.jsg-single-page__body p {
    color: #e8f0ff;
    line-height: 1.7;
}

.jsg-single-post__body a,
.jsg-single-page__body a {
    color: #0078FF;
    text-decoration: underline;
    text-decoration-color: rgba(0, 120, 255, 0.4);
    text-underline-offset: 3px;
    transition: color 0.18s ease, text-decoration-color 0.18s ease;
}
.jsg-single-post__body a:hover,
.jsg-single-page__body a:hover {
    color: #FFC107;
    text-decoration-color: #FFC107;
}

.jsg-single-post__featured img,
.jsg-single-page__featured img {
    border-radius: 22px;
}

/* =================================================================
 * 404 + Search
 * ================================================================= */

.jsg-404__title,
.jsg-search__title {
    color: #ffffff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
}

.jsg-404__kicker,
.jsg-search__kicker {
    margin: 0;
}

/* =================================================================
 * Inline post-list-item used by index.html + search.html
 * (lightweight version of the Sports-Tech list card).
 * ================================================================= */

.jsg-post-list-item {
    align-items: stretch;
    background: rgba(8, 24, 52, 0.45);
    -webkit-backdrop-filter: blur(18px) saturate(180%);
    backdrop-filter: blur(18px) saturate(180%);
    border: 1px solid rgba(0, 130, 255, 0.10);
    border-radius: 22px;
    padding: 12px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.40);
    transition: border-color 0.18s ease, transform 0.18s ease;
}
.jsg-post-list-item:hover {
    border-color: rgba(255, 193, 7, 0.42);
    transform: translateY(-2px);
}
.jsg-post-list-item .wp-block-post-featured-image img {
    border-radius: 12px;
    object-fit: cover;
    height: 100%;
}
.jsg-post-list-item .wp-block-post-title a {
    color: #ffffff !important;
    text-decoration: none;
}
.jsg-post-list-item .wp-block-post-title a:hover {
    color: #FFC107 !important;
}
