﻿/* --- GLOBALE BASIS-STYLINGS --- */
* {
	box-sizing: border-box; /* Verhindert das Ausbrechen von Box-Inhalten */
}

body {
	margin: 0;
	padding: 0;
}

input {
	font-family: 'Lucida Grande', Tahoma, Verdana, sans-serif;
	font-size: 14px;
}

/* Basis für Eingabefelder mit Randklassen */
.border, .border_error {
	margin: 5px 0; /* Exakte Zentrierung ohne seitlichen Versatz */
	padding: 0 10px;
	width: 100%; /* Nutzt die volle verfügbare Breite der Box */
	height: 34px;
	color: #404040;
	background: white;
	border: 1px solid;
	border-radius: 2px;
	outline: 5px solid #eff4f7;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.12);
}

.border {
	border-color: #c4c4c4 #d1d1d1 #d4d4d4;
}

.border:focus {
	border-color: #7dc9e2;
	outline-color: #dceefc;
	outline-offset: 0;
}

.border_error {
	border-color: #FF8A8A;
	outline-color: #FF8A8A;
	outline-offset: 0;
}

input[type=submit] {
	border-left: 1px solid #b3c0c8;
	border-right: 1px solid #b3c0c8;
	border-top: 1px solid #b4ccce;
	border-bottom: 1px solid #9eb9c2;
	padding: 0 18px;
	height: 29px;
	font-size: 12px;
	font-weight: bold;
	color: #527881;
	text-shadow: 0 1px #e3f1f1;
	border-radius: 16px;
	outline: 0;
	background-image: linear-gradient(to bottom, #edf5f8, #cde5ef);
	background-color: #cde5ef;
}

input[type=submit]:active {
	background: #cde5ef;
	border-color: #9eb9c2 #b3c0c8 #b4ccce;
	box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2);
}

:-moz-placeholder { color: #c9c9c9 !important; font-size: 13px; }
::-webkit-input-placeholder { color: #ccc; font-size: 13px; }

/* --- DESKTOP VERSION --- */
#pagewrapper {
	width: 960px;
	padding: 15px;
	border: 1px solid #ccc;
	margin: 30px auto 0;
	box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.2);
	background-color: aliceblue;
}

#head {
	text-align: center;
	font-family: 'Lucida Grande', Tahoma, Verdana, sans-serif;
}

#head h1 {
	font-size: 50px;
	text-shadow: rgb(46, 46, 46) 0px 4px 5px;
	margin: 20px 0;
}

#head a {
	text-decoration: none;	
	color: #cbe3fa;
}

.container {
	margin: 80px auto;
	width: 640px;
}

.newpass {
	margin: 0 auto;
	padding: 20px;
	width: 310px;
	background: white;
	border-radius: 3px;
	box-shadow: 0 0 200px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.3);
}

.newpass h2, .newpass h3 {
	margin: -20px -20px 21px;
	line-height: 40px;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	text-shadow: 0 1px white;
	border-bottom: 1px solid #cfcfcf;
	border-radius: 3px 3px 0 0;
	box-shadow: 0 1px whitesmoke;
}

.newpass h2 {
	color: #555;
	background: #f3f3f3;
	background-image: linear-gradient(to bottom, #ffffff, #eef2f5);
}

.newpass h3 {
	color: #000;
	background: #FF8A8A;
}

.newpass p {
	margin: 20px 0 0;
}

.newpass p.submit {
	display: flex;
	justify-content: space-between; /* Verteilt Zurück- und Absenden-Button sauber */
}

/* --- SMARTPHONE VERSION (Breite 768px und kleiner) --- */
@media screen and (max-width: 768px) {
	#pagewrapper {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 15px !important;
		box-shadow: none !important;
		border: none !important;
	}

	#head h1 {
		font-size: 30px !important;
		margin: 15px 0 !important;
	}

	.container {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important; 
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 10px auto !important;
		padding: 0 !important;
	}

	.newpass {
		width: 100% !important;
		max-width: 300px !important;
		padding: 20px !important;
		margin: 0 auto !important;
		box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
	}

	.newpass h2, .newpass h3 {
		margin: -20px -20px 20px -20px !important;
	}

	.newpass p {
		margin: 15px 0 0 !important;
		width: 100% !important;
	}

	.border, .border_error {
		font-size: 16px !important; /* Verhindert iOS-Zoom */
	}

	.newpass p.submit {
		flex-direction: column !important;
		gap: 10px !important;
		margin-top: 25px !important;
	}

	input[type=submit] {
		width: 100% !important;
		height: 40px !important;
		font-size: 14px !important;
		margin: 0 !important; /* Entfernt Inline-Margins aus PHP */
	}
}
