
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&family=Open+Sans:wght@400;600&display=swap');

/* Structure */

	body { font-family:'Open Sans', sans-serif; }
	h1, h2, h3, h4 { font-family:'Montserrat', sans-serif; }

/* Generics */

	.hero-bg { background:linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('assets/galerie.jpg'); background-size:cover; background-position:center; }

	.accent-text { color:#D97706; }

	.btn-primary { background-color:#D97706; color:#FFF; transition:all 0.3s; }
	.btn-primary:hover { cursor:pointer; background-color:#B45309; transform:translateY(-2px); }

	.card-hover:hover { box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); transform:translateY(-5px); transition:all 0.3s ease; }

	button:disabled { opacity:0.5; pointer-events:none; }

	button,
	.anchor,
	.remove { cursor:pointer; }

/* Forms */

	#test-block { overflow:hidden; }
	#testDropzone.disabled { pointer-events:none; border-color:#888; background-color:#EEE; opacity:0.5; }
	#testDropzone.disabled .fas { color:#888; }

	#fileList { margin-top:20px; }

	.file-item { display:flex; align-items:center; padding:10px; margin-top:10px; border:1px solid #DDD; transition:all 0.3s ease; }
	.file-preview { width:60px; height:60px; border-radius:8px; object-fit:cover; margin-right:15px; }
	.file-info { flex:1; }
	.file-name { color:#333; font-weight:600; margin-bottom:4px; word-break:break-word; }
	.file-size { color:#999; font-size:13px; }

	.remove-btn { background:#AAA; color:#FFF; border:none; padding:8px 16px; border-radius:8px; cursor:pointer; font-weight:600; transition:all 0.3s ease; font-size:14px; }
	.remove-btn:hover { background:#888; box-shadow:0 5px 5px -5px rgba(0, 0, 0, 0.1); transform:translateY(-2px); }

	.response { padding:0; margin:0; }
	.response.success { background:#DEF; padding:12px; margin-bottom:20px; border-left:4px solid #39C; color:#17B; }
	.response.invalid,
	.response.spam,
	.response.error { background:#FEE; padding:12px; margin-bottom:20px; border-left:4px solid #C33; color:#B11; }

	.error-message { background:#FEE; border-left:4px solid #C33; color:#C33; padding:12px; margin-top:15px; font-size:14px; }
	.success-message { background:#d4edda; color:#155724; padding:12px; margin-top:15px; border-left:4px solid #28a745; font-size:14px; }

	.progress-bar { width:100%; height:8px; background:#e0e4ff; border-radius:4px; margin-top:15px; overflow:hidden; display:none; }
	.progress-bar.active { display:block; }
	.progress-fill { height:100%; background:linear-gradient(135deg, #667eea 0%, #764ba2 100%); width:0%; transition:width 0.3s ease; }

	.loading { position:relative; pointer-events:none; }
	.loading::after { content:''; position:absolute; top:50%; left:15px; width:20px; height:20px; margin:-10px 0 0 -10px; border:3px solid rgba(255, 255, 255, 0.3); border-top-color:white; border-radius:50%; animation:spin 0.8s linear infinite; }
	@keyframes spin { to { transform:rotate(360deg); } }

/* FAQ */

	.faq-content { transition:max-height 0.3s ease-in-out; }
	.faq-icon { transition:transform 0.3s ease; }
	.faq-btn[aria-expanded="true"] .faq-icon { transform:rotate(180deg); color:#D97706; }
	.faq-btn[aria-expanded="true"] { color:#D97706; }
