/* Gemeinsame App-Styles (Login-Seite, öffentliche Startseite und eingeloggte App) */
:root{ --smgps-navbar-h: 58px; } /* Höhe der fixen BS5-Navbar */

/* Helle Navbar mit blauem Akzent */
.navbar.bg-white{ box-shadow:0 1px 6px rgba(16,24,40,.08); }
.navbar .navbar-brand{ color:#2563eb; font-weight:700; letter-spacing:.2px; }
.navbar .nav-link{ color:#475569; font-weight:600; }
.navbar .nav-link:hover,
.navbar .nav-link.active{ color:#2563eb; }

/* Moderner Primär-Button */
.btn-modern{
	display:inline-flex; align-items:center; justify-content:center; gap:7px;
	padding:9px 18px; font-size:14px; font-weight:600; line-height:1;
	border:1px solid #2563eb; border-radius:9px;
	background:#2563eb; color:#fff; text-decoration:none;
	box-shadow:0 1px 2px rgba(37,99,235,.35);
	transition:background-color .15s ease, box-shadow .15s ease, transform .15s ease;
	cursor:pointer;
}
.btn-modern:hover{ background:#1d4ed8; border-color:#1d4ed8; color:#fff; box-shadow:0 4px 12px rgba(37,99,235,.30); transform:translateY(-1px); }
.btn-modern:active{ transform:translateY(0); box-shadow:0 1px 2px rgba(37,99,235,.30); }
.btn-modern i{ font-size:13px; }

/* Kleine Variante (z.B. im Card-Header) */
.btn-modern-sm{ padding:6px 12px; font-size:13px; border-radius:8px; }
.btn-modern-sm i{ font-size:12px; }

/* Vorher/Nachher-Tags (neuste Bilder + Detailseite) */
.pp-badge{ display:inline-block; padding:2px 9px; font-size:10.5px; font-weight:700; line-height:1; letter-spacing:.3px; border-radius:999px; vertical-align:middle; }
.pp-vorher{  background:#fef3c7; color:#92400e; }  /* Vorher  – amber */
.pp-nachher{ background:#dcfce7; color:#15803d; }  /* Nachher – grün */

/* Neutrale Variante (Abbrechen/Schließen) – gleiche Form wie .btn-modern */
.btn-modern-ghost{
	display:inline-flex; align-items:center; justify-content:center; gap:7px;
	padding:9px 18px; font-size:14px; font-weight:600; line-height:1;
	border:1px solid #d1d5db; border-radius:9px;
	background:#fff; color:#374151; text-decoration:none;
	transition:background-color .15s ease, box-shadow .15s ease, transform .15s ease, border-color .15s ease;
	cursor:pointer;
}
.btn-modern-ghost:hover{ background:#f9fafb; border-color:#9ca3af; color:#374151; box-shadow:0 2px 6px rgba(16,24,40,.10); transform:translateY(-1px); }
.btn-modern-ghost:active{ transform:translateY(0); }
.btn-modern-ghost i{ font-size:13px; }

html{ height:100%; }
body{
	padding-top: calc(var(--smgps-navbar-h) + 1rem); /* etwas Abstand unter der fixen Navbar */
	padding-bottom: 40px;
	background-color:#fcfcfc;
	box-sizing:border-box;
}

footer{
	position:fixed; bottom:2px; left:8px; margin:0;
	font-size:11px; color:#aaa; z-index:1000;
}
footer p{ margin:0; }
footer a{ color:inherit; text-decoration:underline; }
footer a:hover{ color:inherit; }

#loading{
	background-image:url('../img/loading.gif');
	background-repeat:no-repeat;
	background-position:center center;
	position:fixed; top:50%; width:100%; height:50px; display:none;
}

.gmap{
	position:absolute; left:0; top:var(--smgps-navbar-h);
	width:100%; height:calc(100vh - var(--smgps-navbar-h));
}
