/* Philharmonie Formulare – Frontend-Stil (barrierearm, Markenrot als Akzent) */

.phil-form-wrap { max-width: 720px; margin: 1.5em 0; }

.phil-form {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1.1em 1.2em;
}
.phil-field { grid-column: span 6; display: flex; flex-direction: column; }
.phil-w-half  { grid-column: span 3; }
.phil-w-third { grid-column: span 2; }
@media (max-width: 640px) {
    .phil-w-half, .phil-w-third { grid-column: span 6; }
}

.phil-form-heading {
    grid-column: span 6;
    margin: 0.6em 0 0;
    padding-bottom: 0.3em;
    border-bottom: 2px solid #14161A;
    font-size: 1.2em;
}
.phil-form-html { grid-column: span 6; color: #4A4F57; }
.phil-form-html p { margin: 0.3em 0; }

/* Bedingt eingeblendete Bereiche (per Checkbox, via phil-forms.js) */
.phil-form [hidden] { display: none !important; }
.phil-reveal {
    grid-column: span 6;
    margin: -0.3em 0 0.2em;
    padding: 0.2em 0 0.4em 1em;
    border-left: 3px solid #E4DFD7;
}

.phil-field label,
.phil-field legend {
    font-weight: 600;
    margin-bottom: 0.35em;
    display: block;
}
.phil-req { color: #C1121F; }

.phil-field input[type="text"],
.phil-field input[type="email"],
.phil-field input[type="tel"],
.phil-field input[type="number"],
.phil-field select,
.phil-field textarea {
    width: 100%;
    padding: 0.6em 0.7em;
    border: 1px solid #B9B4AC;
    border-radius: 4px;
    background: #fff;
    font: inherit;
    color: #1A1D22;
    box-sizing: border-box;
}
.phil-field input:focus,
.phil-field select:focus,
.phil-field textarea:focus {
    outline: 3px solid rgba(193,18,31,0.35);
    outline-offset: 1px;
    border-color: #C1121F;
}

.phil-field fieldset { border: 0; margin: 0; padding: 0; }
.phil-choice {
    display: flex;
    align-items: flex-start;
    gap: 0.5em;
    font-weight: 400 !important;
    margin: 0.25em 0;
    cursor: pointer;
}
.phil-choice input { margin-top: 0.25em; flex: 0 0 auto; }
.phil-type-checkbox { grid-column: span 6; }
.phil-consent { font-size: 0.96em; color: #333; }

.phil-help { display: block; font-weight: 400; color: #6b7078; font-size: 0.88em; margin-bottom: 0.35em; }

/* Honeypot unsichtbar, aber nicht display:none (manche Bots ignorieren das) */
.phil-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px; height: 1px; overflow: hidden;
}

.phil-form-actions { grid-column: span 6; }
.phil-form-submit {
    background: #C1121F;
    color: #fff;
    border: 0;
    border-radius: 4px;
    padding: 0.8em 1.8em;
    font-size: 1.02em;
    font-weight: 600;
    cursor: pointer;
}
.phil-form-submit:hover { background: #a10f1a; }
.phil-form-submit:focus-visible { outline: 3px solid #14161A; outline-offset: 2px; }

.phil-form-success {
    background: #E2EDE7;
    border-left: 4px solid #2C6249;
    padding: 1.2em 1.4em;
    border-radius: 4px;
}
.phil-form-errors {
    background: #F6E4E2;
    border-left: 4px solid #C1121F;
    padding: 1em 1.3em;
    border-radius: 4px;
    margin-bottom: 1.2em;
}
.phil-form-errors ul { margin: 0.3em 0 0 1.1em; }
