/* =========================================================
   Brauereitour form — self-contained styles
   ========================================================= */

/* --- Layout ------------------------------------------------ */
.form-container .form-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -12px;
}
.form-container .form-wrapper .col-1-2 {
    padding: 0 12px;
    flex: 0 0 50%;
    max-width: 50%;
}
.form-container .form-wrapper .col-1 {
    padding: 0 12px;
    flex: 0 0 100%;
    max-width: 100%;
}
.form-container .form-wrapper .input-group {
    margin-bottom: 22px;
    position: relative;
}
.form-container .form-wrapper .input-group .parsley-errors-list {
    padding: 0;
    margin: 0;
    font-size: 12px;
    list-style-type: none;
    position: absolute;
    bottom: -15px;
    color: #ff4040;
    line-height: 1;
}

/* --- Labels & inputs --------------------------------------- */
.form-container .form-wrapper label {
    display: block;
    font-size: 12px;
    line-height: 12px;
    margin-bottom: 6px;
    font-weight: 400 !important;
    font-family: "Din OT", Sans-serif !important;
}
.form-container .form-wrapper input[type=email],
.form-container .form-wrapper input[type=number],
.form-container .form-wrapper input[type=tel],
.form-container .form-wrapper input[type=text],
.form-container .form-wrapper input[type=date],
.form-container .form-wrapper input[type=time],
.form-container .form-wrapper select,
.form-container .form-wrapper textarea {
    display: block;
    width: 100%;
    background-color: #242424 !important;
    border-color: #FFFFFF !important;
    border-radius: 5px 5px 5px 5px;
    color: #F8F8F8;
    border-width: 1px !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box;
}
/* Date/time pickers: force light calendar icon on dark bg */
.form-container .form-wrapper input[type=date]::-webkit-calendar-picker-indicator,
.form-container .form-wrapper input[type=time]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    cursor: pointer;
}

/* --- Required fields --------------------------------------- */
.form-container .form-wrapper .input-group.required label {
    font-family: "Din OT Bold", Sans-serif !important;
    font-weight: 700 !important;
}
.form-container .form-wrapper .input-group.required input[type=time] {
        padding: .5rem 1rem;
}
/* checkbox labels are never bold, even when required */
.form-container .form-wrapper .input-group.required label.checkbox-wrapper {
    font-family: "Din OT", Sans-serif !important;
    font-weight: 400 !important;
    flex-wrap: wrap;
}
.form-container .form-wrapper .input-group label.checkbox-wrapper a {
    display: inline !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-family: inherit !important;
    line-height: inherit !important;
    letter-spacing: normal !important;
    text-decoration: underline !important;
    padding: 0 !important;
    margin: 0 !important;
}
.form-container .form-wrapper .input-group.required input[type=email],
.form-container .form-wrapper .input-group.required input[type=number],
.form-container .form-wrapper .input-group.required input[type=tel],
.form-container .form-wrapper .input-group.required input[type=text],
.form-container .form-wrapper .input-group.required input[type=date],
.form-container .form-wrapper .input-group.required input[type=time],
.form-container .form-wrapper .input-group.required select,
.form-container .form-wrapper .input-group.required textarea {
    background-color: #646363 !important;
}

/* --- Spacing helpers --------------------------------------- */
.form-container .mt-large {
    margin-top: 50px;
}

/* --- Submit button ----------------------------------------- */
.form-container .form-wrapper button {
    background-color: rgba(0, 0, 0, 0) !important;
    color: #ffffff;
    border-color: #fff;
    border-radius: 5px 5px 5px 5px;
    font-size: 18px;
}

/* --- Checkbox --------------------------------------------- */
.form-container .form-wrapper .input-group label.checkbox-wrapper {
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
    padding-left: 0 !important;
    margin-bottom: 24px;
    cursor: pointer;
    min-height: 28px;
    font-size: 14px !important;
    line-height: 1.4 !important;
}
.form-container .form-wrapper .input-group label.checkbox-wrapper [type=checkbox] {
    flex-shrink: 0;
    background-color: #242424;
    border-color: #FFFFFF;
    width: 28px;
    height: 28px;
    border-radius: 5px !important;
    border: 1px solid #fff;
    -webkit-appearance: none;
    cursor: pointer;
    position: relative;
    left: auto;
    top: auto;
}
.form-container .form-wrapper .input-group.required label.checkbox-wrapper [type=checkbox] {
    background-color: #646363;
}
/* checkmark span is always out of flow — never a flex item */
.form-container .form-wrapper .input-group label.checkbox-wrapper .checkmark {
    display: none;
}
.form-container .form-wrapper .input-group label.checkbox-wrapper [type=checkbox]:checked + .checkmark {
    display: block;
    position: absolute;
    left: 9px;
    top: 50%;
    margin-top: -10px;
    height: 15px;
    width: 8px;
    border-bottom: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    transform: rotate(45deg);
    pointer-events: none;
}

/* --- Radio buttons ---------------------------------------- */
.form-container .form-wrapper .radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 32px;
    margin-top: 8px;
}
.form-container .form-wrapper .input-group label.radio-wrapper {
    display: block;
    position: relative;
    padding-left: 42px !important;
    margin-bottom: 16px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400 !important;
    font-family: "Din OT", Sans-serif !important;
    line-height: 1.4;
}
.form-container .form-wrapper .input-group label.radio-wrapper [type=radio] {
    -webkit-appearance: none;
    background-color: #242424;
    border: 1px solid #fff;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 1px;
}
.form-container .form-wrapper .input-group label.radio-wrapper [type=radio]:checked {
    background-color: #fff;
}
.form-container .form-wrapper .input-group label.radio-wrapper .radiomark {
    display: none;
}

/* --- Section heading --------------------------------------- */
.brauereitour-wrapper .form-section-title {
    margin-bottom: 12px;
}
.brauereitour-wrapper .form-section-title strong {
    font-size: 18px;
    font-family: "Din OT Bold", Sans-serif !important;
}

/* --- Helper text below input ------------------------------ */
.form-container .form-info {
    font-size: 12px;
    line-height: 1.4;
    margin-top: 8px;
    margin-bottom: 0;
    font-weight: 400 !important;
    font-family: "Din OT", Sans-serif !important;
    color: #aaaaaa;
}

/* --- Status modal ----------------------------------------- */
.form-status {
    display: none;
    width: 90%;
    max-width: 850px;
    background-color: #0F0C0C;
    border-style: solid;
    border-width: 2px 2px 2px 2px;
    border-color: #707070;
    box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2);
    text-align: center;
    padding: 3rem 2rem;
}
.form-status .fancybox-button {
    padding: 2px;
    background: none !important;
}
.form-status i {
    font-size: 40px;
}

/* --- Responsive ------------------------------------------- */
@media (max-width: 767px) {
    .form-container .form-wrapper .col-1-2 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .form-status {
        padding: 2rem 1rem;
    }
}
