/*
	Theme Name: Hello Elementor Child
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor Child is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.6
	Stable tag: 3.4.6
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Template: hello-elementor
	Text Domain: hello-elementor-child
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/

.city-header-wrapper{
	width:100vw;
	margin-left:calc(-50vw + 50%);
}

.city-breadcrumb{
	background:#c8223f !important;
	color:#fff !important;
	padding:12px 0;
}

.city-breadcrumb a{
	color:#fff !important;
	text-decoration:none;
}

.city-breadcrumb span{
	color:#fff !important;
}

.anfrage-shadow {
	box-shadow: 0px 10px 20px 5px rgba(201.57752075195313, 201.57752075195313, 201.57752075195313, 0.32);
}

.anfrage-breadcrumb{
	background:#c8223f !important;
	color:#fff !important;
	padding:12px 20px;
	text-align: center;
	border-color: #e2e4e9;
    border-width: 1px 1px 1px 1px;
    border-radius: 10px 10px 0px 0px;
}

.anfrage-breadcrumb a{
	color:#fff !important;
	text-decoration:none;
}

.anfrage-breadcrumb span{
	color:#fff !important;
}

.city-title{
	background:#1f242e !important;
	color:#fff !important;
	padding:40px 0;
}

.city-title h1{
	margin:0;
	color:#fff !important;
	font-size:36px;
}

.city-inner{
	max-width:1200px;
	margin:0 auto;
	padding:0 20px;
}


/* ################# Contact Form Plugin ################# */

/* Grundlegendes Layout */
.cf7-row {
    display: flex;
    gap: 20px;
}

.cf7-column {
    flex: 1;
}

.cf7-column > p > span > input,
.cf7-full-width > p > span > input,
.cf7-full-width > p > span > textarea,
.cf7-column > p > span > select {
    border-color: #E2E2E2;
    border-radius: 5px;
	color: #757575;
}

span label .wpcf7-list-item-label {
	color: #363636;
}

.wpcf7-list-item input[type="checkbox"] {
            width: 15px;
            height: 15px;
        }

.cf7-full-width {
    margin-bottom: 0px;
}

/* Eingabefelder Styling */
.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]) {
    width: 100%;
    padding: 7px;
	padding-left: 12px;
}

/* Der rote Senden-Button */
.wpcf7-submit {
    background-color: #ca1c3e !important; /* Das Dunkelrot aus deinem Bild */
    color: white!important;
    border: #ca1c3e !important;
    padding: 6px 55px!important;
    border-radius: 6px!important;
    cursor: pointer;
    font-size: 20px!important;
    font-weight: bold;
    display: block;
    margin: 20px auto 0; /* Zentriert den Button */
}

.cf7-submit p {
margin-bottom: 0px;	
}

/* Button explizit zentrieren */
.wpcf7-submit {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

.wpcf7-spinner {
    position: absolute;
    margin-left: 0px !important;
    margin-top: 0px !important;
}

.wpcf7-submit:hover {
    background-color: #ca1c3e !important;
}

/* Checkbox & Akzeptanz Text */
.cf7-acceptance {
    font-size: 14px;
    margin-top: 20px;
}

.city-form {
	margin-top: 20px;
	margin-bottom: 50px;
	border-radius: 10px;
}

.city-form-inner {
	border-color: #e2e4e9;
	border-width: 1px 1px 1px 1px;
	border-radius: 0px 0px 10px 10px;
	padding: 30px;
}

.wpcf7-acceptance {
	padding: 0px!important;
	padding-left: 0px!important;
}

.wpcf7-list-item {
	margin: 0px!important;
}

/* Mobile Optimierung: Spalten untereinander auf dem Handy */
@media (max-width: 600px) {
    .cf7-row {
        flex-direction: row;
        gap: 15px;
		margin-bottom: 15px;
    }
	
	.cf7-column p {
		margin-bottom: 0px;
	}
	
	.wpcf7-checkbox {
		padding: 0px !important;
    padding-left: 0px !important;
	}
	
	.wpcf7-list-item-label {
		font-size: 15px;
	}
	
	.wpcf7-acceptance span label .wpcf7-list-item-label {
		font-size: 10px;
	}
	
	.city-form-inner {
		padding: 15px;
	}
}

/* ################# Contact Form Plugin END ################# */



.staedte-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 Spalten */
    gap: 20px;
    margin-top: 30px;
	margin-bottom: 30px;
}

.stadt-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    transition: transform 0.2s ease;
}

.stadt-card:hover {
    transform: translateY(-5px);
}

.stadt-card h3 {
    margin: 0 0 10px 0;
    color: #333;
    font-size: 1.2rem;
}

.stadt-card .bundesland {
    color: #666;
    font-weight: bold;
    margin-bottom: 5px;
}

.stadt-card .einwohner {
    font-size: 0.9rem;
    color: #888;
    margin-bottom: 15px;
}

.stadt-button {
    display: inline-block;
    background-color: #c8223f; /* Dein Rot-Ton */
    color: #fff !important;
    padding: 8px 15px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.9rem;
}

/* Pagination Styling */
.staedte-pagination {
    text-align: center;
    margin-top: 20px;
	margin-bottom: 20px;
}

.staedte-pagination a, .staedte-pagination span {
    padding: 8px 12px;
    margin: 0 4px;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333;
}

.staedte-pagination .current {
    background-color: #c8223f;
    color: #fff;
    border-color: #c8223f;
}

/* Responsive: 2 Spalten auf Tablets, 1 Spalte auf Handys */
@media (max-width: 992px) {
    .staedte-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .staedte-grid { grid-template-columns: 1fr; }
}