/*!
Theme Name: Hello Elementor Child
Theme URI: https://crocoblock.com/
Author: Crocoblock
Author URI: https://crocoblock.com/
Description: Child theme for Hello Elementor with all CrocoBlock features compatibility.
Template: hello-elementor
Version: 1.0.0
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: hello-elementor-child
*/

/* ---- BUZZINLAB Booking Form ---- */
:root{
  --lab-black:#000000;
  --lab-white:#ffffff;
  --lab-red:#FF584C;
  --lab-green:#003428;
}

.booking-form,
.booking-form *{ box-sizing:border-box; }

.booking-form{
  width:520px;
  max-width:520px;
  margin:0;
  text-align:left;
  font-family:Aileron, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol", sans-serif;
  color:var(--lab-black);
}

.booking-form fieldset{ border:none; padding:0; margin:0; }

.form-title{
  font-size:24px;
  font-weight:700;
  margin:0 0 16px;
  color:var(--lab-black);
  text-transform:uppercase;
}

/* Labels normal, Pflichtstern bleibt fett */
label{
  display:block;
  margin-bottom:6px;
  font-weight:400;
  color:var(--lab-black);
}
.is-required::after{ content:" *"; color:var(--lab-black); font-weight:700; }

/* Inputs überall gleiche Border */
.booking-form input[type="text"],
.booking-form input[type="email"],
.booking-form input[type="tel"],
.booking-form input[type="date"],
.booking-form input[type="number"],
.booking-form textarea,
.booking-form select{
  width:100%;
  padding:10px;
  margin-bottom:15px;
  border:1px solid #ccc;
  border-radius:0;
  font-size:15px;
  color:var(--lab-black);
  background:var(--lab-white);
  outline:none;
  box-shadow:none;
  font-weight:400;
}
.booking-form input:focus,
.booking-form textarea:focus,
.booking-form select:focus{
  border:1px solid var(--lab-black);
}

.form-row{ display:flex; gap:10px; }
.form-row > div{ flex:1; }

/* Checkbox-Block */
.checkbox-label{
  display:grid;
  grid-template-columns:auto auto 1fr;
  column-gap:8px;
  align-items:start;
  margin-bottom:12px;
  color:var(--lab-black);
  font-size:12px;
  font-weight:400;
}
.checkbox-label input{ grid-column:1; margin-top:4px; }
.checkbox-label .required-star{ grid-column:2; color:var(--lab-black); font-weight:700; }
.checkbox-text{ grid-column:3; line-height:1.4; font-weight:400; }
.checkbox-ds{ grid-column:3; margin-top:4px; font-size:12px; }

/* Datenschutzerklärung-Link: nur schwarz, fett, unterstrichen, kein Hover-Effekt */
.ds-link,
.ds-link:visited {
  font-weight:700;
  color:#000;
  text-decoration:underline;
}
.ds-link:hover,
.ds-link:focus,
.ds-link:active {
  color:#000 !important;
  text-decoration:underline;
}

/* Button: grün mit weißer Schrift; Hover schwarz mit weißer Schrift; uppercase */
.submit-button{
  background:var(--lab-green);
  color:var(--lab-white);
  padding:10px 18px;
  border:1px solid var(--lab-green);
  border-radius:0;
  font-size:15px;
  cursor:pointer;
  text-transform:uppercase;
  transition:all .25s ease;
}
.submit-button:hover,
.submit-button:focus-visible {
  background: #000 !important;      /* schwarz */
  color: #fff !important;            /* weiß */
  border-color: #000 !important;     /* 1px schwarz */
}

.required-hint{ font-size:12px; margin-top:8px; color:#555; font-weight:400; }
.required{ color:var(--lab-black); font-weight:700; }

@media (max-width:768px){
  .booking-form{ width:100%; max-width:100%; }
}
