      :root {
            --primary-green: #2d5a27; /* Traditionelles Waldgrün */
            --warm-beige: #fdfaf5;
            --text-dark: #2c3e50;
            --accent-gold: #c5a059;
            --white: #ffffff;
            --gray: #ccc;
        }

        body {
            font-family: 'Georgia', 'Times New Roman', serif;
            margin: 0;
            background-color: var(--warm-beige);
            color: var(--text-dark);
            overflow-x: hidden; /* Verhindert horizontales Scrollen durch Slider */
        }

        /* --- Navigationsleiste (wie gehabt) --- */
        header {
            background: var(--white);
            padding: 2rem 5%;
            text-align: center;
            border-bottom: 1px solid #ddd;
}
h1 {
    font-size: 1.6rem;
}
h2 {
    font-size: 1.4rem;
}
h3 {
    font-size: 1.2rem;
}
p {
        	font-size: 18px;
        }
.htmlgenerated {font-size: 18px;}
.turnierIntern {
    padding: 5px;
    border: 2px solid red;
    border-radius: 5px;
	}
.titelDatum {
	font-size: 1.4rem;
	margin-top:0px;
	margin-left: 10px;
		font-weight: bold;
}
.titelTurnier {
	font-size: 1.4rem;	
	color: #2d5a27;
	margin-top:0px;
		font-weight: bold;
}

.header-logo {
    width: 80px; /* Hier die gewünschte Breite des Logos einstellen */
    height: auto;
    object-fit: contain;
}

.logo-text {
    text-align: left; /* Sorgt dafür, dass der Text linksbündig neben dem Logo steht */
}

.logo-text h1 {
    font-size: 2.2rem;
    margin: 0;
    color: var(--primary-green);
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.1;
}

.logo-text p {
    margin: 5px 0 0 0;
    font-family: sans-serif;
    font-size: 0.9rem;
    color: var(--text-dark);
}


        .logo-area h1 {
            font-size: 2.2rem;
            margin: 0;
            color: var(--primary-green);
            text-transform: uppercase;
            letter-spacing: 2px;
        }


        /* --- Hero Bereich (wie gehabt) --- */
        .hero-community {
            position: relative;
            height: 400px;
            background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), 
                        url('../imgs/weit.jpeg');
            background-size: cover;
            background-position: center;
            display: flex;
            justify-content: center;
            align-items: center;
            color: var(--white);
            text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
        }

        .hero-text { text-align: center; max-width: 700px; padding: 0 20px; }
        .hero-text h2 { font-size: 2.5rem; margin-bottom: 10px; }
        .hero-text p { font-style: italic; font-size: 1.1rem; }

        /* --- Story & Tradition Sektion (wie gehabt) --- */
        .section-intro {
            max-width: 1000px;
            margin: 3rem auto;
            text-align: center;
            padding: 0 20px;
        }
        

        .section-intro h3 {
            color: var(--primary-green);
            font-size: 2rem;
            margin-bottom: 1rem;
        }

        /* ========================================= */
        /* --- NEU: Responsiver Bilder-Slider --- */
        /* ========================================= */
        .turnierImg {
        	width: 90%;
        	max-width: 300px;
        	max-height: 300px;
        }
        .slider-container {
            position: relative;
            max-width: 1200px;
            margin: 2rem auto;
            padding: 0 5%;
            background: var(--white);
            padding: 2rem 5%;
            border-radius: 8px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
        }

        /* Das Fenster, durch das man die Bilder sieht */
        .slider-viewport {
            overflow: hidden;
            width: 100%;
            position: relative;
        }

        /* Die lange Reihe aller Bilder */
        .slider-track {
            display: flex;
            transition: transform 0.5s ease-in-out;
            /* Der Track wird per JS breit genug gemacht */
        }

        /* Ein einzelner Bilder-Container */
        .slide {
            flex: 0 0 100%; /* Standard: 1 Bild pro Ansicht (Mobil) */
            box-sizing: border-box;
            padding: 0 10px; /* Abstand zwischen Bildern */
            height: 300px;
            overflow: hidden;
        }
        .slideSponsor {
            height: 120px;
        }

        .slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 4px;
            border: 4px solid var(--white);
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }

        /* --- Slider Navigation (Pfeile) --- */
        .slider-nav {
            position: absolute;
            top: 50%;
            width: 100%;
            left: 0;
            display: flex;
            justify-content: space-between;
            transform: translateY(-50%);
            padding: 0 20px;
            box-sizing: border-box;
            pointer-events: none; /* Klicks gehen durch den Container durch */
            z-index: 10;
        }

        .nav-btn {
            background: rgba(255, 255, 255, 0.8);
            border: 2px solid var(--primary-green);
            color: var(--primary-green);
            font-size: 1.5rem;
            font-weight: bold;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            cursor: pointer;
            pointer-events: auto; /* Buttons sind klickbar */
            transition: background 0.3s, color 0.3s;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .nav-btn:hover {
            background: var(--primary-green);
            color: var(--white);
        }

        /* ========================================= */

        /* --- Mitmachen-Bereich (wie gehabt) --- */
        .join-us {
            background-color: var(--primary-green);
            color: var(--white);
            padding: 3rem 5%;
            text-align: center;
            margin-top: 3rem;
        }

        .btn-gold {
            background-color: var(--accent-gold);
            color: var(--white);
            padding: 15px 40px;
            text-decoration: none;
            font-weight: bold;
            border-radius: 5px;
            display: inline-block;
            margin-top: 20px;
            font-family: sans-serif;
            transition: opacity 0.3s;
        }

        /* --- Footer (wie gehabt) --- */
        footer {
            padding: 2rem 5%;
            background: #f0f0f0;
            text-align: center;
            font-size: 0.9rem;
        }

        



/* Header Grundgerüst */
.header-main {
    display: flex;
    justify-content: space-between; /* Logo links, Menü rechts */
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 20px;
    position: relative;
}

/* Logo Bereich */
.logo-area {
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
}

.header-logo { width: 50px; height: auto; }
.logo-text h1 { font-size: 1.4rem; margin: 0; color: var(--primary-green); }
.logo-text p { font-size: 0.8rem; margin: 0; }


/* Navigation für Desktop */
.nav-links {
    display: flex;
    list-style: none;
    gap: 20px;
    margin: 0;
    padding: 0;
}

.nav-links a {
    text-decoration: none;
    color: var(--text-dark);
    font-weight: bold;
    font-family: sans-serif;
}
.nav-links a:hover, .nav-links a:active{
	color: var(--primary-green);
}

/* Hamburger Logik verstecken für Desktop */
.nav-toggle { display: none; }
.nav-toggle-label { display: none; }


/* Lightbox Hintergrund */
.lightbox {
    display: none; /* Standardmäßig unsichtbar */
    position: fixed;
    z-index: 2000; /* Über allem anderen */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    justify-content: center;
    align-items: center;
    cursor: zoom-out;
}

/* Das große Bild */
.lightbox-content {
    max-width: 90%;
    max-height: 80%;
    border: 3px solid white;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    animation: zoomIn 0.3s ease;
    /* Verhindert, dass das Bild beim Ziehen mit der Maus "mitwandert" oder markiert wird */
    user-select: none;
    -webkit-user-drag: none;
    cursor: grab;
}
.lightbox-content:active {
    cursor: grabbing;
}

/* Verhindert Scrollen des Hintergrunds, wenn Lightbox offen ist (optional) */
body:has(.lightbox[style*="display: flex"]) {
    overflow: hidden;
}

/* Schließen-Button */
.close-lightbox {
    position: absolute;
    top: 20px;
    right: 35px;
    color: white;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    z-index: 3020;
}

/* Zeige den Cursor als Lupe beim Drüberfahren im Slider */
.slide img {
    cursor: zoom-in;
}
/* Gemeinsame Styles für die Lightbox-Nav-Buttons */
.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.2); /* Halb-transparent */
    color: white;
    border: none;
    font-size: 3rem;
    padding: 20px;
    cursor: pointer;
    transition: background 0.3s, color 0.3s;
    z-index: 1010;
    user-select: none;
    border-radius: 5px;
}

.lightbox-nav:hover {
    background: rgba(255, 255, 255, 0.4);
    color: #fff;
}

.lightbox-prev {
    left: 10px;
}

.lightbox-next {
    right: 10px;
}

@keyframes zoomIn {
    from { transform: scale(0.7); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}



/*Navigations Buttons*/
 .nav-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            width: 90%;
            max-width: 1200px;
        }

        .nav-card {
            background: white;
            padding: 30px;
            border-radius: 15px;
            text-align: center;
            text-decoration: none;
            color: #333;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
            border: 1px solid #eee;
        }

        .nav-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 15px rgba(0,0,0,0.15);
            background-color: #007bff;
            color: white;
        }

        .nav-card h2 {
            margin: 0 0 10px 0;
            font-size: 1.5rem;
        }

        .nav-card p {
            font-size: 0.9rem;
            opacity: 0.8;
        }

        /* Icon-Ersatz (kann durch FontAwesome ersetzt werden) */
        .icon {
            font-size: 2.5rem;
            margin-bottom: 15px;
            display: block;
        }




/*Editor*/
 .editormain { background-color: #f4f4f9; padding: 20px; display: flex; justify-content: center; }
        
.editor-container { 
            border: 1px solid #ccc; 
            border-radius: 8px; 
            width: 100%; 
            max-width: 900px; 
            background: white;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            overflow: hidden;
        }

        /* Toolbar Styling */
        .toolbar { 
            background: #f8f9fa; 
            padding: 10px; 
            border-bottom: 1px solid #ddd; 
            display: flex; 
            gap: 8px; 
            align-items: center; 
            flex-wrap: wrap; 
        }
        
        .toolbar-group { display: flex; align-items: center; gap: 5px; border-right: 1px solid #ddd; padding-right: 10px; }
        .toolbar-group:last-child { border-right: none; }

        .toolbar button, .toolbar select, .toolbar input[type="color"] { 
            cursor: pointer; 
            padding: 6px 10px; 
            border: 1px solid #ccc; 
            background: white; 
            border-radius: 4px; 
            font-size: 14px;
            transition: all 0.2s;
        }

        .toolbar button:hover { background: #e9ecef; border-color: #bbb; }
        .toolbar label { font-size: 12px; color: #666; font-weight: bold; }

		/* Styling für den Color-Picker innerhalb der Toolbar */
		.toolbar input[type="color"] {
		    appearance: none;
		    -webkit-appearance: none;
		    width: 35px;
		    height: 30px;
		    padding: 2px; /* Kleiner Rand um die Farbvorschau */
		    background: white;
		}
		.color-wrapper{
		    display: flex;
		    align-items: center;
		    justify-content: center;
		}
		.toolbar input[type="color"] {
		    margin: 0;
		    vertical-align: middle; /* Fallback für ältere Browser */
		}
		/* Spezielle Selektoren für den inneren Bereich des Pickers */
		.toolbar input[type="color"]::-webkit-color-swatch-wrapper {
		    padding: 0;
		}
		.toolbar input[type="color"]::-webkit-color-swatch {
		    border: none;
		    border-radius: 2px;
		}

        /* Editor Bereich */
        .editormain { 
        	text-align: left;
        	display: block;
        	justify-content: unset;
            padding: 25px; 
            min-height: 300px; 
            outline: none; 
            line-height: 1.6; 
			/* Ermöglicht das Verändern der Größe */
		    resize: both; /* Nutze 'both' für Breite & Höhe, 'vertical' nur für die Höhe */
		    overflow: auto;   /* Zwingend erforderlich für resize */
		    
		    /* Optional: Begrenzung, damit der Editor nicht zu klein gezogen wird */
		    max-height: 800px; 
		    border: 1px solid #ddd; /* Damit man den Rand beim Ziehen besser sieht */
        }
		/* Verhindert, dass leere Absätze kollabieren */
		.editormain p:empty::before {
		    content: "\feff"; /* Ein unsichtbares, breitenloses Leerzeichen (ZWNBSP) */
		    display: inline-block;
		}
		
		/* Alternativ: Falls der Cursor immer noch zickt, gib ihm eine Mindesthöhe */
		.editormain p {
		    min-height: 1.2em; 
		    margin: 0;
		    display: block;
		    width: 100%;
		}
		.editormain p + p {
		    margin-top: 2px; 
		}
        /* Styling für das Resize-Icon (Chrome/Safari/Edge) */
		.editormain::-webkit-resizer {
		    border-radius: 100px;
		    background-color: #f1f1f1;
		    /* Du kannst hier kein eigenes Icon laden, aber das Standard-Icon dezent stylen */
		}

        /* Styling für Elemente im Editor */
        .editormain img { max-width: 100%; height: auto; border-radius: 4px; margin: 10px 0; }
        .editormain a { color: #007bff; text-decoration: underline; }
        
        .editormain:empty:before {
            content: "Schreibe hier etwas...";
            color: #adb5bd;
        }
        .htmlgenerated {
        	text-align: left;
        	display: block;
        	justify-content: unset;
            padding: 25px; 
            line-height: 1.6; 
        }
        .htmlgenerated p {
		    min-height: 1.2em; 
		    margin: 0;
		    display: block;
		    width: 100%;
		}



/** TABS **/
.tab-maincontainer { 
  display: flex; 
  justify-content: center; 
  padding-top: 20px; 
}

.tab-container {
  width: 100%;           /* Nutzt den verfügbaren Platz */
  max-width: 1000px;      /* Wird aber nie breiter als 800px */
  margin: 0 auto;        /* Zentriert den Container */
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

input[type="radio"] { display: none; }

/* Navigation */
.tab-nav {
  display: flex;
  background: #e0e0e0; /* Ein leichter Grauton für die inaktive Fläche */
}

.tab-nav label {
  flex: 1;
  padding: 18px;
  text-align: center;
  cursor: pointer;
  font-weight: 600;
  color: #555;
  transition: all 0.3s ease;
}

/* --- Aktiver Tab mit deiner Farbe #2d5a27 --- */
#tab1:checked ~ .tab-nav label[for="tab1"],
#tab2:checked ~ .tab-nav label[for="tab2"] {
  background: #2d5a27;
  color: #ffffff;
}

/* Tab-Inhalt */
.tab-content { 
  padding: 30px; 
  color: #333;
  line-height: 1.6;
  text-align: left;
}

.tab-content2 { display: none; }

/* Content schalten */
#tab1:checked ~ .tab-content .content-1,
#tab2:checked ~ .tab-content .content-2 {
  display: block;
  animation: simpleFade 0.4s ease;
}

@keyframes simpleFade {
  from { opacity: 0; }
  to { opacity: 1; }
}


.tab-content h2 {
		    font-size: 1.4rem;
		}
.tab-content h3 {
		    font-size: 1.2rem;
		}


/*contact*/
.contact-card {
        width: 100%;
        max-width: 400px;       /* Verhindert, dass er zu breit wird */
        padding: 30px;
        margin-left: auto;  /* Drückt von links */
    margin-right: auto; /* Drückt von rechts */
    }


    .contact-info {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .contact-item {
        display: flex;
        gap: 15px;
        font-size: 1.05rem;
    }

    .contact-item .icon {
        font-size: 1.2rem;
    }

    .contact-item a {
        color: #0056b3;
        text-decoration: none;
        font-weight: 500;
    }

    .contact-item a:hover {
        text-decoration: underline;
    }
    
.ausschreibungsImg {
	display: block;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 400px;
	max-height: 450px;
	object-fit: contain;
}   
.ausschreibungsImgDiv {
	display: flex;  
	flex-wrap: wrap;       
    justify-content: center;
    gap: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
} 
.ausschreibungsImgDiv img {
	max-height: 450px;
	max-width: 100%;        /* Verhindert, dass das Bild breiter als der Bildschirm wird */
    height: auto;            /* Behält das Seitenverhältnis bei */
    width: auto;    
    object-fit: contain;
}
    
    
/**SPieler*/
.spieler-container {
    width: 100%;
    max-width: 1000px;
    margin: 3rem auto;
    font-family: Arial, sans-serif;
}

.spieler-tabelle {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.spieler-tabelle th {
    background-color: #f8f8f8;
    color: #333;
    text-align: left;
    padding: 12px;
    border-bottom: 2px solid #ddd;
}

.spieler-tabelle td {
    padding: 10px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

.spieler-tabelle img {
    width: 80px;
    height: 100px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ccc;
    display: block;
}

/* Responsive Anpassung für mobile Geräte */
@media screen and (max-width: 550px) {
    .spieler-tabelle thead {
        display: none; /* Kopfzeile verstecken */
    }
    
    .spieler-tabelle tr {
        display: block;
        margin-bottom: 15px;
        border: 1px solid #ddd;
        padding: 10px;
    }
    
    .spieler-tabelle td {
        display: block;
        text-align: right;
        border-bottom: 1px solid #f0f0f0;
        position: relative;
        padding-left: 50%;
    }

    .spieler-tabelle td:last-child {
        border-bottom: 0;
    }

    /* Bezeichnung vor den Daten einfügen */
    .spieler-tabelle td::before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 45%;
        font-weight: bold;
        text-align: left;
    }

    .spieler-tabelle img {
        margin-left: auto;
    }
}

/*Karte*/
.map-wrapper {
    /* Container sorgt für die Zentrierung und Begrenzung */
    width: 100%;
    max-width: 600px; 
    margin: 20px auto; /* Abstand nach oben/unten */
  }

  .responsive-iframe {
    width: 100%;      /* Nimmt auf dem Handy 100% der Breite ein */
    height: 350px;    /* Deine Wunschhöhe */
    border: 0;
    border-radius: 8px; /* Optional: sieht moderner aus */
    display: block;
  }

  /* Auf sehr kleinen Handys die Höhe etwas reduzieren, damit man noch scrollen kann */
  @media (max-width: 400px) {
    .responsive-iframe {
      height: 250px;
    }
  }


