/* Living Water Gaming site styles (ported from the Razor Pages project). */

/* Spectral fonts (served from wwwroot/fonts). */
@font-face {
    font-family: 'Spectral';
    src: url('../fonts/Spectral/Spectral-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Spectral';
    src: url('../fonts/Spectral/Spectral-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Spectral';
    src: url('../fonts/Spectral/Spectral-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Spectral';
    src: url('../fonts/Spectral/Spectral-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Spectral';
    src: url('../fonts/Spectral/Spectral-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Spectral';
    src: url('../fonts/Spectral/Spectral-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Spectral SC';
    src: url('../fonts/Spectral_SC/SpectralSC-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Spectral SC';
    src: url('../fonts/Spectral_SC/SpectralSC-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #36ecf0;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    background-color: black;
    font-family: 'Spectral', sans-serif;
    /* Flex column so the footer sits below the content (never overlapping),
       but still reaches the bottom of the window on short pages. */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* Custom styles ported from the old wwwroot/css/LivingWaterWebsite.styles.css. */
.logo-wrap {
    height: 200px; /* adjust to taste */
}

    .logo-wrap img {
        max-height: 100%;
        max-width: 250px;
    }

.list-col {
    width: 240px; /* keeps columns equal width regardless of list content */
}

.lwg-container {
    background-color: #050822;
    color: white;
    /* Thin, faintly cyan border so the glow (not a hard white line) defines the edge. */
    border: 1px solid rgba(140, 220, 240, 0.45);
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 0 34px rgba(34, 174, 235, 0.45);
}

    /* Cyan-tinted divider inside panels (overrides Bootstrap's currentColor hr). */
    .lwg-container hr {
        border-top: 1px solid rgba(140, 220, 240, 0.6);
        opacity: 0.5;
    }

.brand-logo-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    margin: 0 auto;
}

    .brand-logo-wrap::before {
        content: "";
        position: absolute;
        width: 600px;
        height: 600px;
        background: radial-gradient(circle, rgba(34, 174, 235, 0.35) 0%, rgba(34, 174, 235, 0) 70%);
        border-radius: 50%;
        z-index: -1;
        filter: blur(10px);
    }

    .brand-logo-wrap img {
        position: relative;
        z-index: 1;
        width: 1200px;
    }

.oc-widget {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    padding: 20px;
    gap: 12px;
    border-radius: 10px;
    transition: background 0.2s ease;
}

    .oc-widget:hover {
        background: rgba(54, 236, 240, 0.05);
    }

.oc-widget-count {
    color: white;
    font-size: 1.1rem;
    margin: 0;
}

    .oc-widget-count span {
        color: #36ecf0;
        font-weight: bold;
    }

.oc-widget-badge {
    max-width: 100%;
    height: auto;
}

/* Styles that previously lived in Pages/Shared/_Layout.cshtml.css. */
a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

a {
    color: #36ecf0;
}

    a:hover {
        color: #7ff4f7;
    }

.btn-primary {
    color: #04121a;
    background-color: #36ecf0;
    border-color: #36ecf0;
    font-weight: 600;
}

    .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary:first-child:active {
        color: #04121a;
        background-color: #5cf1f4;
        border-color: #5cf1f4;
    }

/* Outline variant for secondary actions on dark panels. */
.btn-outline-primary {
    color: #36ecf0;
    background-color: transparent;
    border-color: rgba(54, 236, 240, 0.6);
}

    .btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {
        color: #04121a;
        background-color: #36ecf0;
        border-color: #36ecf0;
    }

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #04121a;
    background-color: #36ecf0;
    border-color: #36ecf0;
}

.border-top {
    border-top: 1px solid rgba(140, 220, 240, 0.25);
}

.border-bottom {
    border-bottom: 1px solid rgba(140, 220, 240, 0.25);
}

/* Thin dividers between top-level nav links, once the navbar is expanded into
   a horizontal row; the collapsed mobile menu stacks items vertically, where
   a divider isn't needed. */
@media (min-width: 576px) {
    .navbar-nav > .nav-item + .nav-item {
        border-left: 1px solid rgba(140, 220, 240, 0.25);
    }
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

.footer {
    margin-top: auto;
    white-space: nowrap;
    line-height: 60px;
}

/* Navbar dropdown menu (matches the .lwg-container border/glow so it stands
   out from the navbar, logo, and panels behind it when expanded). */
.lwg-dropdown {
    background-color: rgb(4, 8, 35);
    border: 1px solid rgba(140, 220, 240, 0.45);
    border-radius: 10px;
    box-shadow: 0 0 18px rgba(34, 174, 235, 0.35);
}

/* Foundational Beliefs accordion (dark/cyan variant of the Bootstrap accordion). */
.lwg-accordion {
    --bs-accordion-bg: transparent;
    --bs-accordion-color: white;
    --bs-accordion-border-color: rgba(140, 220, 240, 0.25);
    --bs-accordion-btn-color: white;
    --bs-accordion-btn-bg: transparent;
    --bs-accordion-active-color: #36ecf0;
    --bs-accordion-active-bg: rgba(54, 236, 240, 0.06);
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.1rem #050822, 0 0 0 0.25rem #36ecf0;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2336ecf0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

    .lwg-accordion .accordion-button {
        font-weight: 600;
        font-size: 1.05rem;
    }

    /* Scripture reference line at the bottom of each belief. */
    .lwg-accordion .lwg-scripture {
        color: #7ff4f7;
        font-size: 0.9rem;
        font-style: italic;
        opacity: 0.85;
        margin-bottom: 0;
    }
