/* Guest site chrome — header + content + auth (loads after dark-mode.css) */
body.guest-chrome {
    --gc-bg: #f4f1f3;
    --gc-bg-elev: #ffffff;
    --gc-text: #1c1520;
    --gc-muted: #6b6270;
    --gc-line: rgba(72, 0, 72, 0.10);
    --gc-brand: #c04848;
    --gc-radius: 18px;
    --gc-shadow: 0 16px 40px rgba(40, 10, 40, 0.08);
}
html[data-theme="dark"] body.guest-chrome {
    --gc-bg: #12141a;
    --gc-bg-elev: #1a1d26;
    --gc-text: #f2eef2;
    --gc-muted: #a39eab;
    --gc-line: rgba(255, 255, 255, 0.10);
    --gc-shadow: 0 18px 44px rgba(0, 0, 0, 0.35);
}

body.guest-chrome #wrap,
body.guest-chrome #main,
html[data-theme="dark"] body.guest-chrome #wrap,
html[data-theme="dark"] body.guest-chrome #main {
    background: var(--gc-bg) !important;
    color: var(--gc-text);
}

/* Top nav styles live in modern-nav.css (all users). Guest page content below. */

/* ===== Content / CMS / contact / report cards ===== */
body.guest-chrome .gc-page {
    padding: 48px 0 72px;
}
body.guest-chrome .gc-card {
    background: var(--gc-bg-elev) !important;
    border: 1px solid var(--gc-line) !important;
    border-radius: calc(var(--gc-radius) + 4px) !important;
    box-shadow: var(--gc-shadow) !important;
    padding: 32px 28px !important;
    color: var(--gc-text) !important;
}
body.guest-chrome .gc-card.card,
body.guest-chrome .cms-page-card.card {
    background: var(--gc-bg-elev) !important;
    border: 1px solid var(--gc-line) !important;
    border-radius: calc(var(--gc-radius) + 4px) !important;
    box-shadow: var(--gc-shadow) !important;
}
body.guest-chrome .gc-title,
body.guest-chrome .cms-page-title,
body.guest-chrome .gc-card > h1,
body.guest-chrome .gc-card > h3 {
    margin: 0 0 8px !important;
    font: normal clamp(1.6rem, 3vw, 2rem)/1.15 'Graphik-Bold', sans-serif !important;
    letter-spacing: -0.03em;
    color: var(--gc-text) !important;
    text-align: left !important;
}
body.guest-chrome .gc-sub {
    margin: 0 0 24px;
    color: var(--gc-muted) !important;
    font: normal 1.02rem/1.5 'Graphik-Regular', sans-serif;
}
body.guest-chrome .gc-divider,
body.guest-chrome .cms-page-divider,
body.guest-chrome .gc-card > hr {
    border: 0 !important;
    border-top: 1px solid var(--gc-line) !important;
    margin: 16px 0 24px !important;
}
body.guest-chrome .page-content,
body.guest-chrome .gc-card .page-content {
    color: var(--gc-muted) !important;
    font: normal 1.02rem/1.65 'Graphik-Regular', sans-serif;
}
body.guest-chrome .page-content h1,
body.guest-chrome .page-content h2,
body.guest-chrome .page-content h3,
body.guest-chrome .page-content h4,
body.guest-chrome .page-content h5,
body.guest-chrome .page-content h6 {
    color: var(--gc-text) !important;
    font-family: 'Graphik-Semibold', sans-serif !important;
}
body.guest-chrome .page-content p {
    text-align: left !important;
    color: var(--gc-muted) !important;
}
body.guest-chrome .page-content a {
    color: var(--gc-brand) !important;
}
body.guest-chrome .alert {
    border-radius: 14px !important;
    border: 1px solid var(--gc-line) !important;
}
body.guest-chrome .alert-secondary {
    background: color-mix(in srgb, var(--gc-brand) 8%, var(--gc-bg)) !important;
    color: var(--gc-text) !important;
}

/* Forms on guest pages */
body.guest-chrome .gc-card .form-control,
body.guest-chrome .gc-auth .form-control,
body.guest-chrome .gc-card .input-group-text {
    border-radius: 12px !important;
    border: 1px solid var(--gc-line) !important;
    background: var(--gc-bg) !important;
    color: var(--gc-text) !important;
    min-height: 46px;
    font: normal 0.98rem/1.4 'Graphik-Regular', sans-serif;
}
body.guest-chrome .gc-card .input-group-text {
    background: var(--gc-bg-elev) !important;
}
body.guest-chrome .gc-card label,
body.guest-chrome .gc-auth label,
body.guest-chrome .gc-card .col-form-label {
    color: var(--gc-text) !important;
    font: normal 0.92rem/1.3 'Graphik-Semibold', sans-serif !important;
}
body.guest-chrome .gc-card .form-text,
body.guest-chrome .gc-auth .form-text {
    color: var(--gc-muted) !important;
}
body.guest-chrome .gc-btn,
body.guest-chrome .gc-card .btn-primary,
body.guest-chrome .gc-auth .btn-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px !important;
    border-radius: 14px !important;
    background: var(--gc-brand) !important;
    border: none !important;
    color: #fff !important;
    font: normal 0.98rem/1 'Graphik-Semibold', sans-serif !important;
    text-transform: none !important;
    box-shadow: none !important;
}
body.guest-chrome .gc-btn:hover,
body.guest-chrome .gc-card .btn-primary:hover,
body.guest-chrome .gc-auth .btn-primary:hover {
    background: color-mix(in srgb, var(--gc-brand) 88%, #000) !important;
    color: #fff !important;
    transform: translateY(-1px);
}
body.guest-chrome .gc-card .btn-link,
body.guest-chrome .gc-auth .btn-link {
    color: var(--gc-brand) !important;
    font-family: 'Graphik-Semibold', sans-serif;
}

/* ===== Auth (login / register) ===== */
body.guest-chrome .gc-auth {
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
    padding: 48px 0 72px;
    background:
        radial-gradient(700px 280px at 12% 10%, color-mix(in srgb, var(--gc-brand) 16%, transparent), transparent 60%),
        var(--gc-bg);
}
body.guest-chrome .gc-auth-card {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    background: var(--gc-bg-elev);
    border: 1px solid var(--gc-line);
    border-radius: calc(var(--gc-radius) + 6px);
    box-shadow: var(--gc-shadow);
    padding: 36px 32px;
}
body.guest-chrome .gc-auth-card h1 {
    margin: 0 0 8px;
    font: normal clamp(1.7rem, 3vw, 2.1rem)/1.15 'Graphik-Bold', sans-serif;
    letter-spacing: -0.03em;
    color: var(--gc-text);
    text-align: center;
}
body.guest-chrome .gc-auth-card .gc-sub {
    text-align: center;
}
body.guest-chrome .gc-auth-card .form-group {
    margin-bottom: 1.1rem;
}
body.guest-chrome .gc-auth-card .col-form-label {
    text-align: left !important;
    padding-bottom: 6px;
}
body.guest-chrome .gc-auth-card .form-row-stack .col-md-4,
body.guest-chrome .gc-auth-card .form-row-stack .col-md-6,
body.guest-chrome .gc-auth-card .form-row-stack .offset-md-4 {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0 !important;
}
body.guest-chrome .gc-auth-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}
body.guest-chrome .gc-auth-actions .gc-btn,
body.guest-chrome .gc-auth-actions .btn-primary {
    width: 100%;
}
body.guest-chrome .gc-auth-foot {
    margin-top: 22px;
    text-align: center;
    color: var(--gc-muted);
    font-size: 0.95rem;
}
body.guest-chrome .gc-auth-foot a {
    color: var(--gc-brand) !important;
    font-family: 'Graphik-Semibold', sans-serif;
    text-decoration: none !important;
}
body.guest-chrome .gc-auth-card .custom-control-label,
body.guest-chrome .gc-auth-card .form-check-label {
    color: var(--gc-muted) !important;
    font-family: 'Graphik-Regular', sans-serif !important;
}
body.guest-chrome .gc-auth-card .custom-control-label a {
    color: var(--gc-brand) !important;
}

@media (max-width: 575.98px) {
    body.guest-chrome .gc-page { padding: 28px 0 48px; }
    body.guest-chrome .gc-card { padding: 22px 18px !important; }
    body.guest-chrome .gc-auth { padding: 28px 0 48px; }
    body.guest-chrome .gc-auth-card { padding: 26px 18px; border-radius: 18px; }
}
