/* Consularia VSS-Finder – Frontend
   Farben zentral über Custom Properties. Bei Bedarf hier anpassen. */
.cvf-widget{
	--cvf-green:#7cb342;
	--cvf-green-dark:#5f9230;
	--cvf-orange:#F39200;
	--cvf-text:#333;
	--cvf-border:#d9d9d9;
	--cvf-box-bg:#fff;
	--cvf-radius:8px;
	max-width:760px;
	margin:0 auto;
	color:var(--cvf-text);
	font-size:16px;
	line-height:1.55;
	box-sizing:border-box;
}
.cvf-widget *,
.cvf-widget *::before,
.cvf-widget *::after{box-sizing:border-box;}

/* Formular */
.cvf-form{
	background:var(--cvf-box-bg);
	border:1px solid var(--cvf-border);
	border-radius:var(--cvf-radius);
	padding:22px 22px 18px;
}
.cvf-row{margin-bottom:16px;}
.cvf-row-submit{margin-bottom:4px;}
.cvf-label{
	display:block;
	font-weight:600;
	margin-bottom:6px;
}
.cvf-select{
	width:100%;
	padding:11px 12px;
	border:1px solid var(--cvf-border);
	border-radius:6px;
	background:#fff;
	font-size:16px;
	line-height:1.3;
	appearance:auto;
}
.cvf-select:focus{
	outline:2px solid var(--cvf-green);
	outline-offset:1px;
	border-color:var(--cvf-green);
}
.cvf-submit{
	display:inline-block;
	background:var(--cvf-green);
	color:#fff;
	border:0;
	border-radius:6px;
	padding:12px 28px;
	font-size:16px;
	font-weight:600;
	cursor:pointer;
	transition:background .15s ease;
}
.cvf-submit:hover,
.cvf-submit:focus{background:var(--cvf-green-dark);}
.cvf-submit:disabled{opacity:.6;cursor:default;}
.cvf-error{
	color:#c0392b;
	font-size:14px;
	margin:6px 0 0;
}

/* Ergebnis */
.cvf-result{margin-top:22px;}
.cvf-result-box{
	border:1px solid var(--cvf-border);
	border-radius:var(--cvf-radius);
	overflow:hidden;
}
.cvf-section{padding:20px 22px;}
.cvf-section + .cvf-section{border-top:1px solid var(--cvf-border);}
.cvf-h3{
	margin:0 0 12px;
	font-size:19px;
	line-height:1.3;
	color:var(--cvf-green-dark);
}
.cvf-kv-text a{color:var(--cvf-green-dark);text-decoration:underline;}
.cvf-kv-text p{margin:0 0 10px;}
.cvf-kv-text p:last-child{margin-bottom:0;}
.cvf-common-note{
	margin:18px 0 10px;
	font-size:14px;
	font-weight:600;
	color:#666;
}

/* PDF-Kasten: [Icon] [Titel/Beschreibung] [Download] */
.cvf-pdf{
	display:flex;
	align-items:center;
	gap:14px;
	width:100%;
	padding:12px 14px;
	margin:0 0 10px;
	border:1px solid var(--cvf-border);
	border-radius:6px;
	background:#fafafa;
	text-decoration:none;
	color:var(--cvf-text);
	transition:border-color .15s ease, background .15s ease;
}
.cvf-pdf:last-child{margin-bottom:0;}
.cvf-pdf:hover,
.cvf-pdf:focus{
	border-color:var(--cvf-green);
	background:#f3f8ec;
}
.cvf-pdf__icon{
	flex:0 0 auto;
	color:var(--cvf-orange);
	display:flex;
	align-items:center;
}
.cvf-pdf__body{
	flex:1 1 auto;
	min-width:0;
}
.cvf-pdf__title{
	display:block;
	font-weight:600;
	line-height:1.35;
}
.cvf-pdf__opt{
	display:inline-block;
	margin-left:8px;
	padding:1px 8px;
	font-size:11px;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.03em;
	color:#666;
	background:#eee;
	border-radius:20px;
	vertical-align:middle;
}
.cvf-pdf__desc{
	display:block;
	margin-top:3px;
	font-size:14px;
	color:#666;
	line-height:1.4;
}
.cvf-pdf__dl{
	flex:0 0 auto;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:2px;
	color:var(--cvf-green-dark);
	font-size:12px;
	font-weight:600;
}

/* Ladezustand */
.cvf-loading{
	padding:18px 22px;
	color:#666;
	font-style:italic;
}

/* Responsive */
@media (max-width:560px){
	.cvf-pdf{flex-wrap:wrap;}
	.cvf-pdf__dl{flex-direction:row;gap:6px;margin-left:42px;}
}
