/* photo.dresden.network – Startseite, Anmeldung, Registrierung im fedihub-Design
   (Nachtblau + Laternengold), eingebunden per nginx sub_filter (vhost_nginx.conf), Stand 2026-11-02 */
:root {
	--fh-navy: #0b1a33;
	--fh-navy2: #1d3a63;
	--fh-panel: #132a4d;
	--fh-gold: #f5b942;
	--fh-gold2: #e9a21f;
	--fh-light: #dfe7f1;
}

/* Logo oben links: dresden.network-Logo (gestaltet von @ueckueck@dresden.network) statt Pixelfed-Logo */
.navbar-brand img {
	content: url(/storage/headers/dresden-logo.png);
	border-radius: 8px;
}

/* ================= Startseite (Landing: Über, Verzeichnis, Entdecken) ================= */
body:has(:is(.landing-index-component, .landing-directory-component, .landing-explore-component)) {
	background: radial-gradient(ellipse at top, var(--fh-navy2) 0%, var(--fh-navy) 60%) fixed !important;
}
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) ~ *, :is(.landing-index-component, .landing-directory-component, .landing-explore-component) { color: #eef3f9; }
body:has(:is(.landing-index-component, .landing-directory-component, .landing-explore-component)) nav.navbar {
	background: rgba(11, 26, 51, .92) !important;
	border-bottom: 3px solid var(--fh-gold);
	backdrop-filter: blur(8px);
}
body:has(:is(.landing-index-component, .landing-directory-component, .landing-explore-component)) .btn-primary-alt {
	background: linear-gradient(90deg, var(--fh-gold), var(--fh-gold2)) !important;
	color: var(--fh-navy) !important;
	border: none !important;
	box-shadow: none !important;
}
body:has(:is(.landing-index-component, .landing-directory-component, .landing-explore-component)) .btn-primary-alt::after { background: linear-gradient(90deg, var(--fh-gold), var(--fh-gold2)) !important; }
body:has(:is(.landing-index-component, .landing-directory-component, .landing-explore-component)) .btn-primary-alt::before { display: none !important; }
body:has(:is(.landing-index-component, .landing-directory-component, .landing-explore-component)) .btn-primary-alt { text-shadow: none !important; }
body:has(:is(.landing-index-component, .landing-directory-component, .landing-explore-component)) .btn-outline-light:hover { color: var(--fh-navy) !important; }

:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .card.bg-bluegray-900 {
	background: var(--fh-panel) !important;
	border: none;
	box-shadow: 0 12px 32px rgb(0 0 0 / 40%);
}
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .nav-menu {
	background: var(--fh-navy) !important;
	border-bottom: 4px solid var(--fh-gold) !important;
}
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .nav-menu .nav-link { color: #b9c8dc !important; }
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .nav-menu .nav-link.active,
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .nav-menu .nav-link:hover { color: var(--fh-gold) !important; }
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .nav-menu .nav-link.active::after,
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .nav-menu .nav-link.active::before { border-bottom-color: var(--fh-gold) !important; }

:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .card-img-top img { object-fit: cover; aspect-ratio: 16 / 7; width: 100%; }

:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .server-header-domain { color: #fff !important; }
/* Untertitel auf Deutsch (der englische Text ist in Pixelfed fest eingebaut) */
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .server-header-attribution {
	font-size: 0 !important;
	display: flex; justify-content: center; flex-wrap: wrap; gap: 6px;
	letter-spacing: 0 !important; /* sonst bleibt vom ausgeblendeten englischen Text eine Lücke */
}
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .server-header-attribution::before,
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .server-header-attribution a { letter-spacing: .6px; margin: 0 !important; }
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .server-header-attribution::before {
	content: "Fotos teilen im Fediverse mit";
	font-size: 1rem;
	color: #b9c8dc;
}
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .server-header-attribution a { font-size: 1rem; color: var(--fh-gold) !important; }

:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .server-stats .list-group-item { border-color: rgba(245, 185, 66, .35) !important; }
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .stat-value { color: var(--fh-gold) !important; }
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .stat-label { color: #b9c8dc !important; }

:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .accordion .card.bg-bluegray-700 { background: var(--fh-navy) !important; border: none; }
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .accordion .card-header.bg-bluegray-800 {
	background: var(--fh-navy) !important;
	border-left: 4px solid var(--fh-gold);
}
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .accordion .card-header button,
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .accordion .card-header h2 * { color: #fff !important; }
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .accordion .collapse .card-body { background: var(--fh-panel); color: #e3eaf3; }
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .accordion a { color: var(--fh-gold) !important; }

:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .footer-component a { color: #b9c8dc !important; }
:is(.landing-index-component, .landing-directory-component, .landing-explore-component) .footer-component a:hover { color: var(--fh-gold) !important; }

/* ================= Anmeldung / Passwort (helles Bootstrap-Layout) ================= */
body:has(form[action$="/login"]),
body:has(form[action*="/password/"]) {
	background: var(--fh-light) !important;
}
body:has(form[action$="/login"]) nav.navbar,
body:has(form[action*="/password/"]) nav.navbar {
	background: var(--fh-navy) !important;
	border-bottom: 3px solid var(--fh-gold) !important;
}
body:has(form[action$="/login"]) nav.navbar .navbar-brand span,
body:has(form[action$="/login"]) nav.navbar .nav-link,
body:has(form[action*="/password/"]) nav.navbar .navbar-brand span,
body:has(form[action*="/password/"]) nav.navbar .nav-link { color: #fff !important; }
body:has(form[action$="/login"]) main .card,
body:has(form[action*="/password/"]) main .card {
	border: none !important;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgb(11 26 51 / 25%) !important;
}
body:has(form[action$="/login"]) main .card-header,
body:has(form[action*="/password/"]) main .card-header {
	background: var(--fh-navy) !important;
	color: #fff;
	border-bottom: 4px solid var(--fh-gold) !important;
}
body:has(form[action$="/login"]) .btn-primary,
body:has(form[action*="/password/"]) .btn-primary {
	background: linear-gradient(90deg, var(--fh-gold), var(--fh-gold2)) !important;
	color: var(--fh-navy) !important;
	border: none !important;
}
body:has(form[action$="/login"]) main a,
body:has(form[action*="/password/"]) main a { color: var(--fh-navy2) !important; }
body:has(form[action$="/login"]) .form-control:focus,
body:has(form[action*="/password/"]) .form-control:focus {
	border-color: var(--fh-gold) !important;
	box-shadow: 0 0 0 .2rem rgba(245, 185, 66, .35) !important;
}
body:has(form[action$="/login"]) footer a.text-dark { color: var(--fh-navy2) !important; }

/* ================= Registrierung mit Freigabe (/auth/sign_up, dunkel) ================= */
body:has(.step-wizard) {
	background: radial-gradient(ellipse at top, var(--fh-navy2) 0%, var(--fh-navy) 60%) fixed !important;
}
body:has(.step-wizard) .logo img { border-radius: 12px; }
body:has(.step-wizard) { --primary: #f5b942; }
body:has(.step-wizard) .current-item .progress-count::after { background: var(--fh-navy) !important; }
body:has(.step-wizard) .step-wizard-item.current-item .progress-label { color: var(--fh-gold) !important; }
body:has(.step-wizard) .logo img { content: url(/storage/headers/dresden-logo.png); }
body:has(.step-wizard) .logo p { font-size: 0 !important; }
body:has(.step-wizard) .logo p::before { content: "photo.dresden.network"; font-size: clamp(1.4rem, 5vw, 2.2rem); }
body:has(.step-wizard) .border-primary { border-color: var(--fh-gold) !important; }
body:has(.step-wizard) .list-group-item { border-color: rgba(245, 185, 66, .3) !important; }
body:has(.step-wizard) .btn-primary {
	background: linear-gradient(90deg, var(--fh-gold), var(--fh-gold2)) !important;
	color: var(--fh-navy) !important;
	border: none !important;
}
body:has(.step-wizard) a:not(.btn) { color: var(--fh-gold); }
