/* Main layout */
.webform-submission-bestellformular-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Section headings span entire width */
#edit-bucher,
#edit-weihnachtskarten,
#edit-processed-text-03,
#edit-processed-text-02 {
    grid-column: 1 / -1 !important;
}

/* Make images into cards */
.webform-submission-bestellformular-form .js-webform-type-processed-text img {
    display: block;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}

/* Product cards */
.webform-submission-bestellformular-form fieldset {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    background: #fafafa;
    margin: 0;
}

.webform-submission-bestellformular-form legend {
    font-weight: 600;
    padding: 0 10px;
}

/* Address fields */
.webform-submission-bestellformular-form input[type="text"] {
    width: 100%;
    box-sizing: border-box;
}

/* Checkbox section spans full width */
.form-item-ich-stimme-der-verarbeitung-meiner-daten-im-rahmen-der-datenschu,
.form-actions,
#edit-spacer1 {
    grid-column: 1 / -1;
}

/* Address heading starts a new row */
.form-item-name {
    grid-column: 1;
}

/* Optional styling for headings */
#edit-bucher h2,
#edit-weihnachtskarten h2,
#edit-processed-text-03 h2,
#edit-processed-text-02 h2 {
    margin: 30px 0 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #ddd;
}

/* Mobile */
@media (max-width: 768px) {
    .webform-submission-bestellformular-form {
        grid-template-columns: 1fr;
    }
}