/* Aus kontakt.php der frueheren CodeIgniter-Seite uebernommen. Inhaltlich unveraendert,
   damit das Formular aussieht wie bisher. */

    /* Kontaktseite: links das Formular in drei Blöcken, rechts der direkte Draht */
    .gts-kontakt .spalten {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 320px;
        align-items: start;
        gap: 28px;
        margin-top: 28px;
    }

    .gts-kontakt form {
        padding: 36px;
        border: 1px solid var(--line);
        border-radius: 22px;
        background: #fff;
    }

    .gts-kontakt fieldset {
        min-width: 0;
        margin: 0 0 30px;
        padding: 0;
        border: 0;
    }

    .gts-kontakt legend {
        margin: 0 0 14px;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--forest);
    }

    .gts-kontakt .felder {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 20px;
    }

    .gts-kontakt .feld--breit {
        grid-column: 1 / -1;
    }

    .gts-kontakt .feld > label {
        display: block;
        margin: 0 0 6px;
        font-size: 14px;
        font-weight: 600;
        color: var(--ink);
    }

    .gts-kontakt .feld input,
    .gts-kontakt .feld textarea {
        display: block;
        width: 100%;
        padding: 11px 14px;
        border: 1px solid #a9ba9b;
        border-radius: 12px;
        background: #fff;
        font-size: 16px;
        line-height: 1.4;
        color: var(--ink);
    }

    .gts-kontakt .feld textarea {
        min-height: 130px;
        resize: vertical;
    }

    .gts-kontakt .feld input:focus,
    .gts-kontakt .feld textarea:focus {
        border-color: #3f7a12;
        outline: none;
        box-shadow: 0 0 0 3px rgba(114, 192, 44, .35);
    }

    /* Fehlermeldungen von jquery.validate stehen als label.error unter dem Feld */
    .gts-kontakt .feld input.error,
    .gts-kontakt .feld textarea.error {
        border-color: #b3261e;
    }

    .gts-kontakt .feld label.error {
        margin: 6px 0 0;
        font-size: 13px;
        font-weight: 600;
        color: #b3261e;
    }

    .gts-kontakt .wuensche {
        display: grid;
        gap: 10px;
        margin-bottom: 20px;
    }

    .gts-kontakt .wunsch {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0;
        padding: 12px 14px;
        border: 1px solid var(--line);
        border-radius: 12px;
        font-size: 15.5px;
        color: var(--ink);
        cursor: pointer;
    }

    .gts-kontakt .wunsch input {
        flex: none;
        width: 18px;
        height: 18px;
        accent-color: #3f7a12;
    }

    .gts-kontakt .wunsch:hover,
    .gts-kontakt .wunsch.gewaehlt {
        border-color: var(--sprout);
        background: var(--mist);
    }

    .gts-kontakt .absenden {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 14px 20px;
    }

    .gts-kontakt .absenden button {
        cursor: pointer;
    }

    .gts-kontakt .absenden button[disabled] {
        opacity: .65;
        cursor: progress;
    }

    .gts-kontakt .absenden p {
        flex: 1 1 260px;
        margin: 0;
        font-size: 13px;
        line-height: 1.5;
        color: var(--muted);
    }

    .gts-kontakt .absenden p a {
        color: #3f7a12;
        text-decoration: underline;
    }

    .gts-kontakt .meldung {
        margin: 0 0 24px;
        padding: 14px 18px;
        border: 1px solid #e3b4b0;
        border-radius: 12px;
        background: #fdf3f2;
        font-size: 15px;
        font-weight: 600;
        color: #8c1d18;
    }

    /* Falle des Spamschutzes: für Menschen weder sichtbar noch per Tastatur erreichbar */
    .gts-kontakt .falle {
        position: absolute;
        left: -9999px;
        width: 1px;
        height: 1px;
        overflow: hidden;
    }

    .gts-kontakt .seite {
        display: grid;
        gap: 20px;
    }

    .gts-kontakt .seite .kasten {
        gap: 12px;
        padding: 28px;
    }

    .gts-kontakt .seite h2 {
        margin: 0;
        font-size: 20px;
        font-weight: 800;
        line-height: 1.25;
        color: var(--ink);
    }

    .gts-kontakt .seite p {
        font-size: 15px;
        line-height: 1.6;
        color: #3d4a37;
    }

    .gts-kontakt .seite p a {
        font-weight: 600;
        color: #3f7a12;
    }

    .gts-kontakt .seite .gross {
        font-size: 22px;
        font-weight: 800;
        white-space: nowrap;
        color: var(--ink);
    }

    @media (max-width: 991px) {
        .gts-kontakt .spalten {
            grid-template-columns: minmax(0, 1fr);
        }
    }

    @media (max-width: 575px) {
        .gts-kontakt form {
            padding: 24px 20px;
        }

        .gts-kontakt .felder {
            grid-template-columns: minmax(0, 1fr);
        }
    }
