@charset "utf-8";
/* CSS Document */
*{
	margin:0 auto;
	padding:0;
}
body  {
	font-family:tahoma;
	background:#000000 url(images/bg.svg) repeat-x;
	text-align: center;
	color:#333;
	font-size:13px;
}

a{ 
	color:#424243; 
	text-decoration:none;
}


h1{
	font-size:17px;
	color:#414141;
	margin:5px 0 0px 0;
}

h2{
	font-size:13px;
	color:#414141;
	text-align:center;
	background:url(images/h2.svg) repeat-x;
	padding:8px 5px 5px 5px;
	text-transform:capitalize;
}
h3{
	font-size:14px;
	text-transform:capitalize;
	color:#333;
	padding:15px 5px 20px 5px;
	text-align:center;

}
p{
	margin-top:10px;
	margin-bottom:10px;


}

/* ------------------------ menu ------------------------- */
#menu{
	padding:0;
	height:32px;
	margin:0px;
	padding:0 0 0 7px;
	background:url(images/menu.svg) repeat-x;
}
#menu ul{ 
	margin:0;
	padding:0;
	list-style:none;
}

#menu li{ 
	padding:0;
	margin:0;
	display:inline;
	list-style:none;
}
	
#menu li a{
	font:bold 13px "trabuchet ms",Arial, Helvetica, sans-serif;
	display:block;
	list-style:none;
	float:left;
	padding:13px 20px 20px 30px;
	color:#fff;
	text-decoration:none;
	cursor: pointer;

}

#menu li a:hover{ 
	color:#fff;
	background:url(images/menu_hover.svg) repeat-x;
}
#menu li.current a{ 
	color:#fff;
	background:url(images/menu_hover.svg) repeat-x;
}




#submenu{
	margin:5px 0 15px 0;
}
#submenu ul{ 
	margin:0;
	padding:0;
	list-style:none;
}

#submenu li{ 
	margin:0 7px 0 7px;
	border-bottom:1px solid #ccc;
	list-style:none;
}
	
#submenu li a{
	font:bold 13px "trabuchet ms",Arial, Helvetica, sans-serif;
	list-style:none;
	padding:6px 12px 6px 25px;
	color:#414141;
	display: block;
	background:url(images/bullets.gif) 2px 10px no-repeat;
	text-decoration:none;
	cursor: pointer;

}

#submenu li a:hover{ 
	color:#340001;
}
.syndicate{ 
	border-bottom:1px solid #e17b95;
	padding:2px 0 2px 0; 

}
.calendar_cont{
	float:left;
	width:555px;

}
.calendar{ 
	margin:0 0 15px 0;
}

.date{ 
	text-transform:uppercase;
	padding:4px 2px 0 2px; 
	text-align:center;
	font-size:11px; 
	font-variant:normal;  

}
.date_num{ 
	text-transform:uppercase;
	padding:4px 2px 0 2px; 
	text-align:center;
	font-size:23px;
	font-weight:bold;
	font-variant:normal;  

}
.posted{ 
	padding-left:3px;
}

.banner{ 
	text-align:center;
	padding-bottom:5px;
}
.box_cont{	
	width:265px;
	margin:5px 0 5px 5px;
	padding:0;
	float:left;
}
.top_box{ 
	background:url(images/box_cont.gif) repeat-y left;

}
.cont_box{ 
	background: url(images/box_top.gif) no-repeat top left;

}
.fot_box{ 
	background:url(images/box_footer.gif) no-repeat top left;
	height:12px;

}

.top_box1{ 
	background:url(images/cont_cont.svg) repeat-y left;

}
.cont_box1{ 
	

}



.product{ 
	float:left;
	padding:0 7px 0 15px;
	margin-top:5px;

}
.product_cont{ 
	margin:10px 5px 0 70px;

}
.product1{ 
	float:left;
	padding:5px;

}
.price{ 
	font-size:14px; 
	font-weight:bold;
	color:#000000;
}
.red{ 
	color:#dc0404;
}
/* ------------------------ Start of header layout ------------------------- */
.wrapper #container { 
	width: 800px;
	background: #fff;
	margin: 0 auto; 
	text-align: left; 
} 
.wrapper #header { 
	background:#000000 url(images/header.svg) no-repeat top; 
	padding: 0 10px;
	height:156px;
} 

.wrapper #header h1 {
	margin: 0;
	padding: 10px 0;
}

/* ------------------------ sidebar ------------------------- */
.wrapper #sidebar1 {
	float: left; 
	width: 0 auto;
	padding: 10px 7px 0 10px;
	margin:0;
}

.wrapper #sidebar1 h3, .wrapper #sidebar1 p{
	margin-left: 10px;
	margin-right: 10px;
}

/* ------------------------ Main Content ------------------------- */

.wrapper #mainContent{
 	margin: 5px 8px 0 10px;
	padding:5px 5px 5px 5px;

}

.wrapper .main_cont1{
	padding-bottom:15px;
	margin:2px 0 0px 0;
	background:url(images/cont_cont.svg) repeat-y center;

}

.main_cont{	
	border-bottom:1px solid #272b37;
	padding-bottom:10px;
}
.style1{
	color:#fff;
}
.sub{ 
	margin-left:260px;

}
.pic{
	margin:5px;
	text-align:center;	
}

.search
{
	position: relative;
	z-index:10;
	margin-right:10px;
	margin-top:15px;
	margin-bottom:5px;
	float:right;

}
.serachfield{ 
	float:left; 
	margin-right:2px; 

}
.field{
	background:url(images/seachfield.jpg) no-repeat;
	border:none;
	padding:5px 0 0 5px;
	height:23px;

}
.mail{ 
	color:#b22222;
	font-weight:normal;
	padding:5px 10px 5px 10px; 
	border:2px solid #b22222;
	background:#faebd7;
	font-size:14px;
	margin:5px 5px 10px 5px;

}

.comments{ 
	background:url(images/comments.gif) no-repeat left;
	padding:5px 10px 5px 18px;
	float:right;
}
.comments a{ 
	color:#424243; text-decoration:underline;
}
.comments a:hover{ 
	color:#424243; text-decoration:none;
}
/* ------------------------ Footer ------------------------- */
.wrapper .footer_cont { 
	width: 800px;
}

.wrapper .footer { 
	padding: 0 15px;
	background:#dcd8cc;
	border-top:1px solid #b6b2a7;
	color:#333;
} 
.wrapper .footer p {
	margin: 0; 
	padding: 20px 0;
	text-align:center;
}
.fltrt {
	float: right;
	margin-left: 8px;
}
.fltlft { 
	float: left;
	margin-right: 8px;
}

/* ------------------------ Partenaires 2 Spalten ------------------------- */
.partner-cols {
	overflow: hidden;
}
.partner-col {
	float: left;
	width: 48%;
	margin-right: 2%;
}
.partner-col:last-child {
	margin-right: 0;
}
.partner-col .partner-block {
	margin-bottom: 18px;
}
.partner-col p {
	margin: 6px 0;
}


.clearfloat { 
	clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}

/* ------------------------ Contact Section ------------------------- */
.contact-section {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 15px;
}
.contact-info {
	flex: 1 1 260px;
}
.contact-info h2 {
	font-size: 15px;
	text-align: left;
	background: none;
	padding: 0 0 6px 0;
	text-transform: none;
	color: #414141;
}
.contact-info p {
	margin: 8px 0;
}
.company-details {
	font-style: normal;
	margin: 12px 0;
	line-height: 1.6;
}
.contact-links p {
	margin: 4px 0;
}
.contact-form-container {
	max-width: 640px;
	margin: 0 auto;
}
.contact-form .form-group {
	margin-bottom: 12px;
}
.contact-form label {
	display: block;
	font-weight: bold;
	margin-bottom: 3px;
	font-size: 12px;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea {
	width: 100%;
	padding: 7px 8px;
	border: 1px solid #999;
	font-size: 12px;
	background: #fff;
	color: #333;
	box-sizing: border-box;
}
.contact-form textarea {
	resize: vertical;
}
.contact-form .form-note {
	font-size: 12px;
	color: #666;
	margin: 0 0 12px 0;
}
.contact-form .req {
	color: #c00;
}
.contact-form .captcha-q {
	display: inline-block;
	min-width: 52px;
	padding: 2px 8px;
	background: #f0f6f2;
	border: 1px dashed #00693e;
	border-radius: 4px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1px;
	color: #00693e;
}
.contact-form .captcha-error {
	color: #c00;
	font-size: 12px;
	margin: 4px 0 0 0;
}
.contact-form .checkbox-group {
	display: flex;
	align-items: flex-start;
	gap: 6px;
}
.contact-form .checkbox-group input {
	margin-top: 3px;
}
.contact-form .checkbox-group label {
	font-weight: normal;
	margin-bottom: 0;
}
.contact-form .submit-btn {
	background: #00693e;
	color: #fff;
	border: 1px solid #00693e;
	padding: 8px 18px;
	font-size: 13px;
	cursor: pointer;
	border-radius: 4px;
}
.contact-form .submit-btn:hover {
	background: #004c2d;
}

/* ==================================================================
   Single-Page Layout (index.html) – im Stil einer modernen Zertifizierer-Website
   ================================================================== */

html {
	background: #00693e;
}

.page-single {
	background: #fff;
	font-family: "Segoe UI", Tahoma, Arial, sans-serif;
	color: #333;
	text-align: left;
}

.page-single .container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Anker-Ziele unter dem klebenden Header sichtbar halten */
.page-single section[id] {
	scroll-margin-top: 140px;
}

/* ---------- Header ---------- */
.page-single .site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #00693e;
	box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.page-single .header-inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 12px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.page-single .brand {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: #fff;
}
.page-single .brand-logo {
	height: 58px;
	width: auto;
	border-radius: 4px;
	background: #fff;
	padding: 2px;
}
.page-single .brand-name {
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 0.5px;
}
.page-single .main-nav {
	display: flex;
	align-items: center;
	gap: 22px;
}
.page-single .main-nav ul {
	list-style: none;
	display: flex;
	gap: 22px;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}
.page-single .main-nav a {
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	font-weight: 600;
}
.page-single .main-nav a:hover {
	text-decoration: underline;
}
.page-single .main-nav a.active {
	color: #ffd54f;
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* ---------- Suche ---------- */
.page-single .header-search {
	position: relative;
}
.page-single .search-form {
	display: flex;
	align-items: center;
	gap: 4px;
}
.page-single .search-form input[type="search"] {
	width: 170px;
	padding: 6px 10px;
	border: 1px solid rgba(255,255,255,0.5);
	border-radius: 4px;
	font-size: 13px;
	background: #fff;
	color: #333;
	box-sizing: border-box;
}
.page-single .search-form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 30px;
	border: none;
	border-radius: 4px;
	background: #00a85c;
	color: #fff;
	cursor: pointer;
}
.page-single .search-form button:hover {
	background: #008a4b;
}
.page-single .search-results {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	width: 280px;
	max-height: 320px;
	overflow: auto;
	background: #fff;
	border: 1px solid #e2e8e4;
	border-radius: 6px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.18);
	z-index: 120;
	text-align: left;
}
.page-single .search-results a {
	display: block;
	padding: 9px 12px;
	color: #333;
	text-decoration: none;
	border-bottom: 1px solid #eef2ef;
}
.page-single .search-results a:last-child {
	border-bottom: none;
}
.page-single .search-results a:hover {
	background: #f0f6f2;
}
.page-single .search-results a strong {
	display: block;
	font-size: 13px;
	color: #00693e;
}
.page-single .search-results a span {
	display: block;
	font-size: 12px;
	color: #666;
	margin-top: 2px;
}
.page-single .search-results .search-empty {
	padding: 10px 12px;
	color: #888;
	font-size: 13px;
}

/* ---------- Hero ---------- */
.page-single .hero {
	position: relative;
	background: url("images/WEB_2.jpg") center/cover no-repeat;
	min-height: 480px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.page-single .hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(0,60,35,0.55), rgba(0,60,35,0.72));
}
.page-single .hero-inner {
	position: relative;
	z-index: 1;
	color: #fff;
	max-width: 760px;
	padding: 40px 24px;
}
.page-single .hero-kicker {
	margin: 0 0 10px 0;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #ffd54f;
}
.page-single .hero-title {
	font-size: 44px;
	font-weight: bold;
	margin: 0 0 16px 0;
	line-height: 1.15;
	color: #fff;
	text-shadow: 0 2px 6px rgba(0,0,0,0.45);
}
.page-single .hero-sub {
	font-size: 18px;
	line-height: 1.6;
	margin: 0 0 28px 0;
}
.page-single .btn {
	display: inline-block;
	padding: 12px 26px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid transparent;
}
.page-single .btn-primary {
	background: #fff;
	color: #00693e;
}
.page-single .btn-primary:hover {
	background: #eaf5ef;
}

/* ---------- Statistiken ---------- */
.page-single .stats {
	background: #00693e;
	color: #fff;
	padding: 40px 0;
}
.page-single .stats-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 24px;
	text-align: center;
}
.page-single .stat {
	flex: 1 1 180px;
}
.page-single .stat-number {
	display: block;
	font-size: 42px;
	font-weight: bold;
	line-height: 1;
}
.page-single .stat-label {
	display: block;
	font-size: 13px;
	margin-top: 8px;
	opacity: 0.92;
}

/* ---------- Sektionen allgemein ---------- */
.page-single .section {
	padding: 72px 0;
}
.page-single .section-alt {
	background: #f4f7f5;
}
.page-single .section-title {
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	color: #00693e;
	margin: 0 0 18px 0;
	background: none;
	padding: 0;
	text-transform: none;
	letter-spacing: 0;
}
.page-single .section-lead {
	text-align: center;
	font-size: 16px;
	line-height: 1.6;
	max-width: 820px;
	margin: 0 auto 40px auto;
	color: #444;
}
.page-single .section-text {
	font-size: 15px;
	line-height: 1.7;
	max-width: 820px;
	margin: 0 auto 16px auto;
	color: #444;
}

/* ---------- Features (À propos) ---------- */
.page-single .features-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin: 40px 0 24px 0;
}
.page-single .feature {
	flex: 1 1 280px;
	background: #fff;
	border: 1px solid #e2e8e4;
	border-radius: 8px;
	padding: 26px 22px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}
.page-single .feature h3 {
	font-size: 18px;
	color: #00693e;
	margin: 0 0 10px 0;
	padding: 0;
	text-transform: none;
	text-align: left;
}
.page-single .feature p {
	font-size: 14px;
	line-height: 1.6;
	color: #555;
}

/* ---------- Kriterien (3 Spalten) ---------- */
.page-single .criteria-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}
.page-single .criteria-block {
	flex: 1 1 300px;
	background: #fff;
	border-radius: 8px;
	padding: 26px 22px;
	border-top: 4px solid #00693e;
	box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
.page-single .criteria-block h3 {
	font-size: 17px;
	color: #00693e;
	margin: 0 0 12px 0;
	padding: 0;
	text-transform: none;
	text-align: left;
}
.page-single .criteria-block ul {
	margin: 0;
	padding-left: 18px;
}
.page-single .criteria-block li {
	font-size: 13.5px;
	line-height: 1.6;
	margin-bottom: 8px;
	color: #555;
}

/* ---------- Siegel im Label-Bereich ---------- */
.page-single .label-seals {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 64px;
	margin: 48px auto 0 auto;
	padding: 40px 44px;
	max-width: 900px;
	background: #fff;
	border: 1px solid #e2e8e4;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.page-single .label-seals img {
	height: 150px;
	width: auto;
	margin: 0;
	display: block;
}

/* ---------- Zwei-Spalten (Critères) ---------- */
.page-single .two-col {
	display: flex;
	flex-wrap: wrap;
	gap: 36px;
	align-items: center;
}
.page-single .two-col-text {
	flex: 1 1 420px;
}
.page-single .two-col-text .section-title {
	text-align: left;
}
.page-single .two-col-text p {
	font-size: 15px;
	line-height: 1.7;
	color: #444;
}
.page-single .two-col-text .section-lead,
.page-single .two-col-text .section-text {
	text-align: left;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.page-single .plain-list {
	margin: 12px 0;
	padding-left: 20px;
	font-size: 15px;
	color: #00693e;
	font-weight: 600;
}
.page-single .two-col-media {
	flex: 1 1 360px;
}
.page-single .two-col-media img {
	width: 100%;
	border-radius: 8px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}
.page-single .two-col-media.portrait img {
	max-width: 380px;
	margin: 0 auto;
	display: block;
}

/* ---------- Services ---------- */
.page-single .services-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}
.page-single .service {
	flex: 1 1 280px;
	background: #fff;
	border-radius: 8px;
	padding: 26px 22px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
.page-single .service h3 {
	font-size: 18px;
	color: #00693e;
	margin: 0 0 10px 0;
	padding: 0;
	text-transform: none;
	text-align: left;
}
.page-single .service p {
	font-size: 14px;
	line-height: 1.6;
	color: #555;
}
.page-single .service ul {
	margin: 8px 0 0 0;
	padding-left: 18px;
}
.page-single .service li {
	font-size: 13.5px;
	line-height: 1.55;
	margin-bottom: 6px;
	color: #555;
}

/* ---------- Partenaires ---------- */
.page-single .partner-cols {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}
.page-single .partner-col {
	flex: 1 1 400px;
}
.page-single .partner-block {
	background: #fff;
	border: 1px solid #e2e8e4;
	border-radius: 8px;
	padding: 24px 22px;
	margin-bottom: 24px;
}
.page-single .partner-block h3 {
	font-size: 17px;
	color: #00693e;
	margin: 0 0 10px 0;
	padding: 0;
	text-transform: none;
	text-align: left;
}
.page-single .partner-block p {
	font-size: 14px;
	line-height: 1.6;
	color: #555;
	margin: 6px 0;
}
.page-single .partner-block a {
	color: #00693e;
}
.page-single .partner-media img {
	width: 100%;
	max-width: 240px;
	border-radius: 6px;
	margin-top: 8px;
}

/* ---------- Téléchargement ---------- */
.page-single .download-online {
	text-align: center;
	margin: 0 0 28px 0;
}
.page-single .download-online .btn {
	background: #00693e;
	color: #fff;
	font-family: inherit;
}
.page-single .download-online .btn:hover {
	background: #00542f;
}
.page-single .download-list {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 900px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 40px;
}
.page-single .download-list li {
	border-bottom: 1px solid #e2e8e4;
	padding: 14px 0;
	margin: 0;
}
.page-single .download-list a {
	color: #00693e;
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
}
.page-single .download-list a:hover {
	text-decoration: underline;
}

/* ---------- Footer ---------- */
.page-single .site-footer {
	background: #003d24;
	color: #cfe6d8;
	padding: 40px 0;
	text-align: center;
}
.page-single .site-footer p {
	margin: 6px 0;
	font-size: 13.5px;
}
.page-single .footer-copy {
	opacity: 0.8;
	font-size: 12.5px;
	margin-top: 16px;
}

/* ---------- Responsive ---------- */
@media (max-width: 760px) {
	.page-single .hero-title { font-size: 32px; }
	.page-single .hero-sub { font-size: 16px; }
	.page-single .section-title { font-size: 24px; }
	.page-single .main-nav ul { gap: 12px; }
	.page-single .download-list { grid-template-columns: 1fr; }
	.page-single .label-seals { gap: 28px; padding: 24px; }
	.page-single .label-seals img { height: 96px; }
}

/* ---------- Reveal-on-Scroll ---------- */
.page-single .reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity .7s ease, transform .7s ease;
	will-change: opacity, transform;
}
.page-single .reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* ---------- Footer-Kontakt ---------- */
.page-single .footer-contact {
	font-size: 14px;
}
.page-single .footer-contact a {
	color: #d7efe0;
	text-decoration: none;
}
.page-single .footer-contact a:hover {
	text-decoration: underline;
}

/* ---------- Online-Formulare (PDF inline) ---------- */
.page-single .pdf-forms {
	margin: 0 auto 40px auto;
	max-width: 900px;
}
.page-single .pdf-choose-lead {
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	color: #333;
	margin: 0 0 16px 0;
}
.page-single .pdf-choice {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}
.page-single .pdf-choice-card {
	display: block;
	background: #fff;
	border: 1px solid #cde3d6;
	border-left: 5px solid #00693e;
	border-radius: 10px;
	padding: 22px 20px;
	text-decoration: none;
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
	transition: transform .2s ease, box-shadow .2s ease;
}
.page-single .pdf-choice-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}
.page-single .pdf-choice-card strong {
	display: block;
	color: #00693e;
	font-size: 16px;
	margin-bottom: 6px;
}
.page-single .pdf-choice-card span {
	display: block;
	color: #666;
	font-size: 13.5px;
}
@media (max-width: 760px) {
	.page-single .pdf-choice { grid-template-columns: 1fr; }
}
.page-single .back-home {
	text-align: center;
	margin: 22px 0 0 0;
	font-size: 14.5px;
}
.page-single .back-home a {
	color: #00693e;
	text-decoration: none;
	font-weight: 600;
}
.page-single .back-home a:hover { text-decoration: underline; }

/* ---------- Contact (zweispaltig: Anschrift links, Formular rechts) ---------- */
.page-single .contact-grid {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}
.page-single .contact-info h3,
.page-single .contact-form-title {
	font-size: 16px;
	font-weight: 700;
	color: #00693e;
	margin: 0 0 14px 0;
	text-transform: none;
	letter-spacing: 0;
}
.page-single .contact-name {
	font-size: 15px;
	font-weight: 700;
	color: #222;
	margin: 0 0 8px 0;
}
.page-single .contact-addr,
.page-single .contact-line {
	font-size: 14.5px;
	line-height: 1.65;
	color: #444;
	margin: 0 0 10px 0;
}
.page-single .contact-info a {
	color: #00693e;
	text-decoration: none;
}
.page-single .contact-info a:hover { text-decoration: underline; }
.page-single .contact-photo {
	width: 100%;
	max-width: 320px;
	border-radius: 10px;
	margin-top: 14px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}
.page-single .contact-form-container {
	max-width: none;
	margin: 0;
}
.page-single .contact-form {
	background: #fff;
	border: 1px solid #e2e8e4;
	border-radius: 10px;
	padding: 26px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.page-single .contact-form .form-group { margin-bottom: 16px; }
.page-single .contact-form .form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.page-single .contact-form .form-row .form-group { margin-bottom: 16px; }
.page-single .contact-form label { font-size: 13.5px; }
.page-single .contact-form input[type="text"],
.page-single .contact-form input[type="email"],
.page-single .contact-form input[type="tel"],
.page-single .contact-form select,
.page-single .contact-form textarea {
	font-size: 14px;
	padding: 9px 10px;
	border: 1px solid #cbd8cf;
	border-radius: 6px;
}
.page-single .contact-form .submit-btn {
	padding: 12px 26px;
	font-size: 15px;
	border-radius: 6px;
}
/* ---------- Bildband ---------- */
.page-single .image-band {
	padding: 0 0 44px 0;
}
.page-single .image-band img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 460px;
	object-fit: cover;
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

@media (max-width: 900px) {
	.page-single .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.page-single .contact-photo { max-width: 100%; }
	.page-single .contact-form .form-row { grid-template-columns: 1fr; }
	.page-single .image-band { padding: 0 0 28px 0; }
	.page-single .image-band img { max-height: 300px; border-radius: 8px; }
}
.page-single .pdf-form-card {
	background: #fff;
	border: 1px solid #e2e8e4;
	border-radius: 10px;
	padding: 24px;
	margin-bottom: 32px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
	text-align: left;
}
.page-single .pdf-form-card h3 {
	color: #00693e;
	font-size: 19px;
	margin: 0 0 14px 0;
}
.page-single .pdf-viewer {
	border: 1px solid #d8e2db;
	border-radius: 8px;
	background: #f4f7f5;
	padding: 12px;
	overflow: auto;
	max-height: 70vh;
}
.page-single .pdf-page {
	position: relative;
	margin: 0 auto 14px auto;
	box-shadow: 0 1px 5px rgba(0,0,0,0.12);
	background: #fff;
}
.page-single .pdf-page:last-child { margin-bottom: 0; }
.page-single .pdf-page canvas { display: block; }
.page-single .pdf-loading {
	color: #666;
	font-size: 14px;
	text-align: center;
	padding: 20px;
}
.page-single .pdf-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}
.page-single .pdf-actions button {
	border: none;
	border-radius: 6px;
	padding: 11px 20px;
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
}
.page-single .pdf-actions .btn-download {
	background: #eef4f0;
	color: #00693e;
	border: 1px solid #b9dfc6;
}
.page-single .pdf-actions .btn-download:hover { background: #e0efe6; }
.page-single .pdf-actions .btn-send {
	background: #00693e;
	color: #fff;
}
.page-single .pdf-actions .btn-send:hover { background: #00542f; }
.page-single .pdf-actions button:disabled { opacity: .6; cursor: default; }
.page-single .pdf-status {
	display: none;
	margin: 12px 0 0 0;
	padding: 11px 14px;
	border-radius: 6px;
	font-size: 14px;
}
.page-single .pdf-status.ok {
	display: block;
	background: #e6f4ec;
	color: #00693e;
	border: 1px solid #b9dfc6;
}
.page-single .pdf-status.err {
	display: block;
	background: #fdeaea;
	color: #a33;
	border: 1px solid #f3c2c2;
}
@media (max-width: 760px) {
	.page-single .pdf-form-card { padding: 16px; }
	.page-single .pdf-actions { flex-direction: column; }
	.page-single .pdf-actions button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.page-single .reveal { opacity: 1; transform: none; transition: none; }
}

/* ================= UX- & Design-Verbesserungen ================= */

/* Schrift */
.page-single,
.page-single button,
.page-single input,
.page-single select,
.page-single textarea {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, Helvetica, sans-serif;
}

/* Fokus-Stile */
.page-single a:focus-visible,
.page-single button:focus-visible,
.page-single input:focus-visible,
.page-single select:focus-visible,
.page-single textarea:focus-visible {
	outline: 3px solid #ffd54f;
	outline-offset: 2px;
}

/* Skip-Link */
.page-single .skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: #ffd54f;
	color: #003d24;
	padding: 10px 16px;
	z-index: 300;
	font-weight: 700;
	text-decoration: none;
	border-radius: 0 0 6px 0;
}
.page-single .skip-link:focus {
	left: 8px;
	top: 8px;
}

/* Hamburger */
.page-single .nav-toggle {
	display: none;
	width: 44px;
	height: 40px;
	padding: 9px 10px;
	border: 1px solid rgba(255,255,255,0.6);
	border-radius: 6px;
	background: transparent;
	cursor: pointer;
	box-sizing: border-box;
}
.page-single .nav-toggle span {
	display: block;
	height: 2px;
	margin: 4px 0;
	background: #fff;
	border-radius: 2px;
}

/* Aktive Navigation */
.page-single .main-nav a[aria-current="true"] { color: #ffd54f; }

/* Hero-Overlay feiner */
.page-single .hero-overlay {
	background:
		radial-gradient(circle at 72% 28%, rgba(0,168,92,0.35), rgba(0,168,92,0) 55%),
		linear-gradient(rgba(0,60,35,0.62), rgba(0,40,23,0.82));
}
.page-single .btn-ghost {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.75);
	margin-left: 10px;
}
.page-single .btn-ghost:hover { background: rgba(255,255,255,0.15); }

/* Icons für Features/Services */
.page-single .ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 12px;
	background: #eaf4ee;
	color: #00693e;
	margin-bottom: 14px;
}
.page-single .ico svg { width: 28px; height: 28px; }

/* Einheitlicher Bildstil */
.page-single .two-col-media img,
.page-single .image-band img,
.page-single .contact-photo {
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
.page-single .two-col-media img,
.page-single .contact-photo { height: auto; }

/* Downloadgrößen */
.page-single .download-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.page-single .dl-size {
	flex: 0 0 auto;
	font-size: 12px;
	color: #7b8a80;
	white-space: nowrap;
}

/* Formular-Feedback */
.page-single .form-feedback {
	display: none;
	margin: 14px 0 0 0;
	padding: 12px 14px;
	border-radius: 6px;
	font-size: 14px;
}
.page-single .form-feedback.ok {
	display: block;
	background: #e6f4ec;
	color: #00693e;
	border: 1px solid #b9dfc6;
}
.page-single .form-feedback.err {
	display: block;
	background: #fdeaea;
	color: #a33;
	border: 1px solid #f3c2c2;
}

/* Footer-Links */
.page-single .footer-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
	margin: 16px 0 0 0;
}
.page-single .footer-links a {
	color: #d7efe0;
	text-decoration: none;
	font-size: 14px;
}
.page-single .footer-links a:hover { text-decoration: underline; }

/* "Nach oben" */
.page-single .back-to-top {
	position: fixed;
	right: 22px;
	bottom: 22px;
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	background: #00693e;
	color: #fff;
	font-size: 20px;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0,0,0,0.25);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
	z-index: 90;
}
.page-single .back-to-top.visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.page-single .back-to-top:hover { background: #00542f; }

/* Mobiles Menü */
@media (max-width: 980px) {
	.page-single .nav-toggle { display: block; }
	.page-single .main-nav {
		display: none;
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
		padding-top: 8px;
	}
	.page-single .site-header.nav-open .main-nav { display: flex; }
	.page-single .main-nav ul {
		flex-direction: column;
		gap: 2px;
		width: 100%;
	}
	.page-single .main-nav a {
		display: block;
		padding: 10px 4px;
		border-bottom: 1px solid rgba(255,255,255,0.15);
	}
	.page-single .header-search,
	.page-single .search-form { width: 100%; }
	.page-single .search-form input[type="search"] { flex: 1; width: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.page-single .back-to-top { transition: none; }
}

/* ================= Weitere Verbesserungen ================= */

/* Smooth Scroll */
html { scroll-behavior: smooth; }

/* Sektions-Kicker (grüne Akzentlinie über der Überschrift) */
.page-single .section-title::before {
	content: '';
	display: block;
	width: 46px;
	height: 4px;
	border-radius: 2px;
	background: #00a85c;
	margin: 0 auto 14px auto;
}
.page-single .two-col-text .section-title::before { margin-left: 0; }

/* Micro-Interactions */
.page-single a { transition: color .2s ease; }
.page-single .btn {
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.page-single .btn:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.18); }
.page-single .feature,
.page-single .criteria-block,
.page-single .service,
.page-single .partner-block {
	transition: transform .2s ease, box-shadow .2s ease;
}
.page-single .feature:hover,
.page-single .criteria-block:hover,
.page-single .service:hover,
.page-single .partner-block:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(0,0,0,0.10);
}

/* Hero-Ken-Burns */
.page-single .hero { background: #062b1d; overflow: hidden; }
.page-single .hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url("images/WEB_2.jpg") center/cover no-repeat;
	transform: scale(1.04);
	animation: heroZoom 22s ease-in-out infinite alternate;
	z-index: 0;
}
.page-single .hero-overlay { z-index: 1; }
.page-single .hero-inner { z-index: 2; }
@keyframes heroZoom {
	from { transform: scale(1.03); }
	to { transform: scale(1.13); }
}

/* Kennzahlen mit Icons/Trennern */
.page-single .stats-grid { gap: 0; }
.page-single .stat {
	flex: 1 1 0;
	min-width: 160px;
	padding: 0 18px;
	border-right: 1px solid rgba(255,255,255,0.22);
}
.page-single .stat:last-child { border-right: none; }
.page-single .stat .ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(255,255,255,0.14);
	color: #ffd54f;
	margin-bottom: 10px;
}
.page-single .stat .ico svg { width: 24px; height: 24px; }

/* CTA-Band */
.page-single .cta-band {
	background: linear-gradient(135deg, #00693e, #00915a);
	color: #fff;
	text-align: center;
	padding: 58px 0;
}
.page-single .cta-band h2 {
	font-size: 28px;
	margin: 0 0 10px 0;
	color: #fff;
	background: none;
	padding: 0;
	text-transform: none;
	letter-spacing: 0;
}
.page-single .cta-band p {
	max-width: 680px;
	margin: 0 auto 22px auto;
	font-size: 16px;
	line-height: 1.6;
	color: #e6f4ec;
}
.page-single .cta-band .btn-primary { background: #fff; color: #00693e; }
.page-single .cta-band .btn-ghost { margin-left: 10px; }

/* Hinweise */
.page-single .pdf-forms-hint,
.page-single .label-seal-note {
	text-align: center;
	font-size: 14px;
	line-height: 1.6;
	color: #556;
	max-width: 760px;
	margin: 0 auto 18px auto;
}
.page-single .label-seal-note { margin-top: 30px; margin-bottom: 0; }
.page-single .form-hint {
	display: block;
	font-size: 12px;
	color: #7b8a80;
	margin-top: 4px;
}
.page-single .search-results mark {
	background: #ffd54f;
	color: #003d24;
	padding: 0 2px;
	border-radius: 2px;
}

/* Print */
@media print {
	.page-single .site-header,
	.page-single .back-to-top,
	.page-single .skip-link,
	.page-single .pdf-forms,
	.page-single .contact-form-container { display: none !important; }
	.page-single .hero { min-height: auto; background: none; }
	.page-single .hero::before,
	.page-single .hero-overlay { display: none; }
	.page-single .hero-inner,
	.page-single .hero-title,
	.page-single .hero-sub,
	.page-single .hero-kicker { color: #000; text-shadow: none; }
	.page-single .section,
	.page-single .stats { padding: 18px 0; background: none !important; }
	.page-single .reveal { opacity: 1 !important; transform: none !important; }
	.page-single a { color: #000; }
}

@media (max-width: 760px) {
	.page-single .stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.18); padding: 16px 0; }
	.page-single .stat:last-child { border-bottom: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.page-single .hero::before { animation: none; transform: none; }
	.page-single .btn:hover,
	.page-single .feature:hover,
	.page-single .criteria-block:hover,
	.page-single .service:hover,
	.page-single .partner-block:hover { transform: none; }
}

/* ---------- Altseiten (altes .wrapper-Template): mobiltauglich ---------- */
@media (max-width: 820px) {
	.wrapper #container,
	.wrapper .footer_cont {
		width: auto;
		max-width: 100%;
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}
	.wrapper #header {
		height: auto;
		min-height: 110px;
		background-size: cover;
	}
	.wrapper img,
	.wrapper table,
	.wrapper iframe,
	.wrapper embed {
		max-width: 100%;
		height: auto;
	}
	.wrapper #menu {
		display: flex;
		flex-wrap: wrap;
	}
	.wrapper #menu li {
		float: none;
	}
	.wrapper #sidebar1 {
		float: none;
		width: auto;
		padding: 10px 12px 0 12px;
	}
	.wrapper .sub {
		margin-left: 0;
	}
	.wrapper .search {
		float: none;
		margin: 10px 12px;
	}
	.wrapper .comments {
		float: none;
	}
}

/* ================= Design-System (Tokens) ================= */
:root {
	--green: #00693e;
	--green-dark: #00542f;
	--green-light: #00a85c;
	--green-tint: #eaf4ee;
	--accent: #ffd54f;
	--ink: #1a1a1a;
	--muted: #555;
	--line: #e2e8e4;
	--radius: 12px;
	--shadow: 0 8px 24px rgba(0,0,0,0.12);
	--shadow-sm: 0 2px 10px rgba(0,0,0,0.06);
}

/* Karten vereinheitlichen */
.page-single .feature,
.page-single .service,
.page-single .partner-block,
.page-single .criteria-block {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
}
.page-single .criteria-block { border-top: 4px solid var(--green); }
.page-single .feature:hover,
.page-single .service:hover,
.page-single .partner-block:hover,
.page-single .criteria-block:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
}
.page-single .btn { border-radius: var(--radius-sm, 8px); }

/* Siegel einheitlich */
.page-single .label-seals {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	max-width: 900px;
	margin: 48px auto 0 auto;
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
}
.page-single .seal {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	margin: 0;
	padding: 24px 16px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	text-align: center;
}
.page-single .seal img { height: 110px; width: auto; object-fit: contain; }
.page-single .seal figcaption { font-size: 13px; font-weight: 600; color: var(--green); }

/* Footer-Spalten */
.page-single .footer-cols {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 32px;
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}
.page-single .footer-cols h4 {
	margin: 0 0 12px 0;
	color: #fff;
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
}
.page-single .footer-cols p,
.page-single .footer-cols a {
	margin: 0 0 8px 0;
	color: #cfe6d8;
	font-size: 14px;
	line-height: 1.7;
	text-decoration: none;
}
.page-single .footer-cols a:hover { color: #fff; text-decoration: underline; }
.page-single .footer-cols ul { list-style: none; margin: 0; padding: 0; }
.page-single .footer-cols li { margin-bottom: 6px; }

@media (max-width: 760px) {
	.page-single .label-seals { grid-template-columns: 1fr; }
	.page-single .seal img { height: 96px; }
	.page-single .footer-cols { grid-template-columns: 1fr; gap: 24px; }
}

/* ================= Altseiten an das neue Design angleichen ================= */
body.wrapper {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, Helvetica, sans-serif;
	background: #f4f7f5;
	font-size: 14px;
	color: #333;
}
.wrapper a { color: var(--green); }
.wrapper h1,
.wrapper h2,
.wrapper h3 {
	color: var(--green);
	text-transform: none;
	letter-spacing: 0;
}
.wrapper h1 { font-size: 24px; }
.wrapper h2 {
	font-size: 18px;
	text-align: left;
	background: none;
	padding: 0 0 8px 0;
	border-bottom: 1px solid var(--line);
}
.wrapper h3 { font-size: 16px; text-align: left; padding: 10px 0; }
.wrapper #header {
	background: var(--green) url(images/header.svg) no-repeat center;
	background-size: cover;
	height: 156px;
}
.wrapper #container {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	overflow: hidden;
}
.wrapper #menu { background: var(--green); height: auto; padding: 0; overflow: hidden; }
.wrapper #menu li a {
	display: inline-block;
	float: none;
	font: 600 14px 'Inter', Arial, Helvetica, sans-serif;
	padding: 12px 18px;
}
.wrapper #menu li a:hover,
.wrapper #menu li.current a { background: rgba(255,255,255,0.16); color: #fff; }
.wrapper #mainContent { text-align: left; padding: 6px 16px; }
.wrapper .main_cont1,
.wrapper .cont_box1 { background: none; }
.wrapper .footer_cont { width: auto; }
.wrapper .footer {
	background: #003d24;
	color: #cfe6d8;
	border-top: none;
}
.wrapper .footer p,
.wrapper .footer a { color: #cfe6d8; }
.wrapper img { border-radius: 8px; }

/* ================= Typo-Skala, Rhythmus, Detail-Feinschliff ================= */
:root {
	--fs-xs: 12px;
	--fs-sm: 13.5px;
	--fs-base: 15px;
	--fs-lead: 16px;
	--fs-h3: 18px;
	--fs-h2: clamp(24px, 3.2vw, 30px);
	--fs-h1: clamp(30px, 5.5vw, 46px);
	--lh-tight: 1.18;
	--lh-body: 1.65;
	--section-pad: clamp(56px, 8vw, 88px);
}
.page-single { font-size: var(--fs-base); line-height: var(--lh-body); }
.page-single .section-title { font-size: var(--fs-h2); line-height: var(--lh-tight); margin-bottom: 14px; }
.page-single .hero-title { font-size: var(--fs-h1); line-height: var(--lh-tight); }
.page-single .hero-sub { font-size: var(--fs-lead); line-height: var(--lh-body); }
.page-single .section-lead { font-size: var(--fs-lead); line-height: var(--lh-body); margin-bottom: clamp(28px, 4vw, 44px); }
.page-single .section-text { font-size: var(--fs-base); line-height: 1.7; }
.page-single .feature h3,
.page-single .service h3,
.page-single .criteria-block h3,
.page-single .partner-block h3 { font-size: var(--fs-h3); }

/* Sektions-Rhythmus */
.page-single .section { padding: var(--section-pad) 0; position: relative; }
.page-single .section + .section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: min(90%, 1140px);
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(0,0,0,0.08), transparent);
}

/* Formular & Datei-Button */
.page-single .contact-form input[type="text"],
.page-single .contact-form input[type="email"],
.page-single .contact-form input[type="tel"],
.page-single .contact-form select,
.page-single .contact-form textarea {
	border: 1px solid var(--line);
	border-radius: 8px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.page-single .contact-form input:focus,
.page-single .contact-form select:focus,
.page-single .contact-form textarea:focus {
	outline: none;
	border-color: var(--green);
	box-shadow: 0 0 0 3px rgba(0,105,62,0.15);
}
.page-single .contact-form input[type="file"] {
	font-size: 13.5px;
	color: var(--muted);
}
.page-single .contact-form input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 9px 16px;
	border: none;
	border-radius: 8px;
	background: var(--green-tint);
	color: var(--green);
	font: 600 13.5px 'Inter', Arial, Helvetica, sans-serif;
	cursor: pointer;
	transition: background .2s ease;
}
.page-single .contact-form input[type="file"]::file-selector-button:hover { background: #dcebe2; }

/* Eigenes (zweisprachiges) Datei-Feld */
.page-single .file-field {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.page-single .file-field input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.page-single .file-btn {
	display: inline-block;
	margin: 0;
	padding: 9px 16px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: var(--green-tint);
	color: var(--green);
	font-weight: 600;
	font-size: 13.5px;
	cursor: pointer;
	transition: background .2s ease;
}
.page-single .file-btn:hover { background: #dcebe2; }
.page-single .file-field input[type="file"]:focus-visible + .file-btn {
	outline: 3px solid var(--accent);
	outline-offset: 2px;
}
.page-single .file-name { font-size: 13px; color: var(--muted); margin: 0; }

/* Partner-Avatare */
.page-single .partner-block { position: relative; padding-left: 76px; }
.page-single .partner-block::before {
	content: attr(data-initials);
	position: absolute;
	left: 22px;
	top: 24px;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--green-tint);
	color: var(--green);
	font-weight: 800;
	font-size: 15px;
	letter-spacing: .5px;
}

/* Scroll-Fortschrittsbalken */
.page-single .scroll-progress {
	position: fixed;
	top: 0;
	left: 0;
	height: 4px;
	width: 0;
	background: linear-gradient(90deg, var(--accent), var(--green-light));
	z-index: 120;
	box-shadow: 0 0 6px rgba(0,0,0,0.25);
	transition: width .08s linear;
}

/* Referential (Critères) */
.page-single .referential {
	display: block;
}
.page-single .referential .prose h3 {
	margin: 0 0 16px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--green-light);
	color: var(--green);
	font-size: 21px;
	text-transform: none;
	letter-spacing: 0;
}
.page-single .referential .prose h4 {
	display: inline-block;
	margin: 26px 0 12px 0;
	padding: 5px 13px;
	background: var(--green-tint);
	border-radius: 6px;
	color: var(--green);
	font-size: 15px;
	text-transform: none;
	letter-spacing: 0;
}
.page-single .referential .prose p {
	margin: 0 0 12px 0;
	color: #444;
	line-height: 1.72;
}
.page-single .referential .prose > p:first-of-type {
	font-size: 16px;
	color: #333;
}
.page-single .referential .prose ul,
.page-single .referential .prose ol {
	margin: 0 0 16px 0;
	padding-left: 0;
	list-style: none;
}
.page-single .referential .prose li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 26px;
	color: #444;
	line-height: 1.65;
}
.page-single .referential .prose ul li::before {
	content: '';
	position: absolute;
	left: 5px;
	top: 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--green-light);
}
.page-single .referential .prose ol { counter-reset: ref; }
.page-single .referential .prose ol li { counter-increment: ref; padding-left: 32px; }
.page-single .referential .prose ol li::before {
	content: counter(ref);
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--green);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}
.page-single .referential-media {
	max-width: 700px;
	margin: 32px auto 0 auto;
}
.page-single .referential .prose { margin: 0; }
.page-single .referential-media img {
	display: block;
	width: 100%;
	border-radius: 12px;
	box-shadow: var(--shadow-sm);
}
@media (max-width: 760px) {
	.page-single .referential-media { max-width: 100%; margin-top: 22px; }
}

/* Breite Abbildung innerhalb einer Sektion */
.page-single .section-media {
	margin: 40px auto 0 auto;
	max-width: 900px;
}
.page-single .section-media img {
	display: block;
	width: 100%;
	border-radius: 12px;
	box-shadow: var(--shadow-sm);
}
@media (max-width: 760px) {
	.page-single .section-media { margin-top: 28px; }
}

/* ==================================================================
   Design-Aufwertung (nur CSS – Brand exakt, Inhalt unverändert)
   ================================================================== */

/* ---------- 1. Hero & Auftritt ---------- */
.page-single .hero {
	min-height: clamp(420px, 72vh, 640px);
}
.page-single .hero-overlay {
	background:
		radial-gradient(circle at 72% 28%, rgba(0,168,92,0.34), rgba(0,168,92,0) 55%),
		linear-gradient(rgba(0,60,35,0.66), rgba(0,40,23,0.86));
}
.page-single .hero::after {
	content: '';
	position: absolute;
	inset: auto 0 0 0;
	height: 130px;
	background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.30));
	z-index: 1;
	pointer-events: none;
}
.page-single .hero-inner { z-index: 2; }
.page-single .hero-kicker {
	letter-spacing: 4px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}
.page-single .hero-kicker::after {
	content: '';
	display: block;
	width: 64px;
	height: 2px;
	margin: 14px auto 0 auto;
	background: var(--accent);
	border-radius: 2px;
}
.page-single .hero-title {
	font-size: clamp(34px, 6vw, 52px);
	font-weight: 800;
	text-shadow: 0 3px 18px rgba(0,0,0,0.5);
}
.page-single .hero-sub {
	font-size: 18px;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	color: rgba(255,255,255,0.92);
}
.page-single .hero .btn {
	padding: 14px 30px;
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(0,0,0,0.22);
}
.page-single .hero .btn-primary { background: #fff; color: var(--green); }
.page-single .hero .btn-primary:hover { background: #eaf5ef; box-shadow: 0 10px 26px rgba(0,0,0,0.28); }
.page-single .hero .btn-ghost {
	background: rgba(255,255,255,0.12);
	border-color: rgba(255,255,255,0.85);
}
.page-single .hero .btn-ghost:hover { background: rgba(255,255,255,0.22); }

/* ---------- 2. Rhythmus & Weißraum ---------- */
.page-single .section { padding: clamp(64px, 9vw, 96px) 0; }
.page-single .section-lead { font-size: 17px; color: #3d4a42; }
.page-single .section-text { color: #3d4a42; }
.page-single .section-title { letter-spacing: -0.5px; }
.page-single .features-grid,
.page-single .criteria-grid,
.page-single .services-grid { gap: 28px; }
.page-single .partner-cols { gap: 36px; }
.page-single .stat-number { letter-spacing: -0.5px; }

/* ---------- 3. Karten & Icons ---------- */
.page-single .feature,
.page-single .service,
.page-single .criteria-block,
.page-single .partner-block {
	border-radius: 14px;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.page-single .feature:hover,
.page-single .service:hover,
.page-single .criteria-block:hover,
.page-single .partner-block:hover { border-color: #cde3d6; }
.page-single .ico {
	border-radius: 14px;
	transition: background .25s ease, color .25s ease, transform .25s ease;
}
.page-single .service:hover .ico,
.page-single .feature:hover .ico { background: var(--green); color: #fff; transform: translateY(-2px); }
.page-single .service li,
.page-single .criteria-block li { padding-left: 2px; }

/* ---------- 4. Formulare & Buttons ---------- */
.page-single .btn { border-radius: 10px; letter-spacing: .2px; }
.page-single .contact-form input[type="text"],
.page-single .contact-form input[type="email"],
.page-single .contact-form input[type="tel"],
.page-single .contact-form select,
.page-single .contact-form textarea {
	padding: 11px 12px;
	font-size: 14.5px;
	border-radius: 8px;
}
.page-single .contact-form label { font-size: 13.5px; margin-bottom: 6px; }
.page-single .contact-form .submit-btn {
	padding: 13px 30px;
	border-radius: 10px;
	letter-spacing: .2px;
}
.page-single .file-btn { border-radius: 10px; }
.page-single .pdf-actions button { border-radius: 10px; }
.page-single .download-online .btn { padding: 14px 30px; border-radius: 10px; }

/* ---------- 5. Mobil ---------- */
@media (max-width: 760px) {
	.page-single .hero { min-height: 420px; }
	.page-single .hero-title { font-size: 30px; }
	.page-single .hero-sub { font-size: 16px; }
	.page-single .hero .btn {
		width: auto;
		max-width: 280px;
		box-sizing: border-box;
		padding: 10px 22px;
		font-size: 14px;
		display: inline-block;
		margin: 6px 0;
	}
	.page-single .hero .btn-ghost { margin-left: 0; }
	.page-single .stat { padding: 18px 0; }
	.page-single .nav-toggle { margin-left: auto; }
	.page-single .service li { font-size: 14px; }
}

/* ---------- 6. Alt-Seiten (.wrapper) ---------- */
.wrapper #container {
	max-width: 980px;
	border-radius: 14px;
}
.wrapper #header { border-radius: 14px 14px 0 0; }
.wrapper #menu li a {
	border-radius: 6px;
	margin: 4px 2px;
	padding: 10px 16px;
}
.wrapper #mainContent { font-size: 15px; line-height: 1.7; }
.wrapper #mainContent p { margin: 12px 0; }
.wrapper #mainContent li { margin-bottom: 8px; line-height: 1.65; }
.wrapper .footer_cont { margin-top: 24px; }
.wrapper .footer { padding: 24px 16px; border-radius: 0 0 14px 14px; }
@media (max-width: 820px) {
	.wrapper #header { border-radius: 0; }
	.wrapper #menu li a { margin: 2px; }
}

/* ---------- 7. Micro-Polish ---------- */
.page-single ::selection,
.wrapper ::selection { background: var(--accent); color: var(--ink); }
.page-single a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.page-single .main-nav a { font-size: 15.5px; }
.page-single .scroll-progress { height: 5px; }
@media (prefers-reduced-motion: reduce) {
	.page-single .hero::after { display: none; }
	.page-single .hero .btn:hover { transform: none; box-shadow: none; }
}
@media (max-width: 900px) {
	.page-single .cta-band .btn {
		width: auto;
		max-width: 280px;
		box-sizing: border-box;
		padding: 10px 22px;
		font-size: 14px;
		display: inline-block;
		margin: 6px 0;
	}
	.page-single .cta-band .btn-ghost { margin-left: 0; }
}
