.elementor-113 .elementor-element.elementor-element-b05a7c2{--display:flex;}.elementor-113 .elementor-element.elementor-element-aa721d2 > .elementor-widget-container{background-color:transparent;background-image:linear-gradient(180deg, #FFFFFF 0%, #f2295b 100%);}/* Start custom CSS for rtb_booking_form, class: .elementor-element-aa721d2 *//* ---------- Basis-Setup (nur innerhalb dieser Sektion) ---------- */
.hookah-reservations .rtb-booking-form {
  max-width: 860px;
  margin: clamp(16px, 4vw, 40px) auto;
  padding: clamp(18px, 3.2vw, 28px);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(0,0,0,.12);
  backdrop-filter: blur(8px);
  color: #1c1c1c;
}

/* Fieldsets / Legenden */
.hookah-reservations .rtb-booking-form fieldset {
  border: 0; padding: 0; margin: 0 0 18px 0;
}
.hookah-reservations .rtb-booking-form legend {
  grid-column: 1 / -1;
  margin: 0 0 10px 0; padding: 0;
  font-size: 13px; letter-spacing: .08em;
  text-transform: uppercase; color: #7a7a7a;
}

/* ---------- 2-Spalten-Layout ab Tablet ---------- */
@media (min-width:768px){
  .hookah-reservations .rtb-booking-form .rtb-fields,
  .hookah-reservations .rtb-booking-form fieldset {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 16px;
  }
  /* Volle Breite für lange Felder */
  .hookah-reservations .rtb-message,
  .hookah-reservations .rtb-submit,
  .hookah-reservations textarea,
  .hookah-reservations .rtb-field-note {
    grid-column: 1 / -1;
  }
}

/* ---------- Labels ---------- */
.hookah-reservations .rtb-booking-form label {
  display: inline-block;
  margin: 0 0 6px 0;
  font-size: 13px; color: #7a7a7a;
}

/* ---------- Inputs / Select / Textarea ---------- */
.hookah-reservations .rtb-text,
.hookah-reservations .rtb-email,
.hookah-reservations .rtb-tel,
.hookah-reservations .rtb-date,
.hookah-reservations .rtb-time,
.hookah-reservations .rtb-number,
.hookah-reservations .rtb-select,
.hookah-reservations .rtb-textarea {
  width: 100%;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 15px; line-height: 1.35;
  outline: none;
  transition: box-shadow .15s ease, border-color .15s ease, transform .02s ease;
}
.hookah-reservations .rtb-textarea { min-height: 115px; resize: vertical; }
.hookah-reservations ::placeholder { color: #9a9a9a; }

/* Fokus */
.hookah-reservations .rtb-booking-form input:focus,
.hookah-reservations .rtb-booking-form select:focus,
.hookah-reservations .rtb-booking-form textarea:focus {
  border-color: #ff3e6c;
  box-shadow: 0 0 0 3px color-mix(in srgb, #ff3e6c 18%, transparent);
}

/* Select-Pfeil hübscher */
.hookah-reservations .rtb-select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #999 50%),
    linear-gradient(135deg, #999 50%, transparent 50%);
  background-position:
    calc(100% - 22px) 53%,
    calc(100% - 16px) 53%;
  background-size: 7px 7px;
  background-repeat: no-repeat;
}

/* ---------- Spezifisch: Date/Time mit Icons ---------- */
.hookah-reservations .rtb-date,
.hookah-reservations .rtb-time {
  padding-right: 42px; /* Platz für Icon */
  position: relative;
}
.hookah-reservations .rtb-date {
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' stroke='%23888' stroke-width='1.5'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 12px) 50%;
}
.hookah-reservations .rtb-time {
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%23888' stroke-width='1.5'/%3E%3Cpath d='M12 7v5l3 2' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 12px) 50%;
}

/* ---------- Fehlermeldungen / Hinweise ---------- */
.hookah-reservations .rtb-error,
.hookah-reservations .rtb-booking-form .notice.error {
  background: #fff1f1; border: 1px solid #ffd1d1;
  color: #9a2b2b; padding: 10px 12px;
  border-radius: 10px; font-size: 14px;
}
.hookah-reservations .rtb-booking-form .notice.success {
  background: #e9fbf0; border: 1px solid #c6f2d7;
  color: #0f6b35; padding: 10px 12px; border-radius: 10px;
}

/* ---------- CTA-Button ---------- */
.hookah-reservations .rtb-submit input[type="submit"],
.hookah-reservations .rtb-submit button,
.hookah-reservations input[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 220px; padding: 12px 20px;
  border: 0; border-radius: 999px;
  font-weight: 600; letter-spacing: .02em;
  background: linear-gradient(135deg, #ff3e6c, #ff7aa2);
  color: #fff; cursor: pointer;
  transition: transform .06s ease, filter .15s ease, box-shadow .15s ease;
  box-shadow: 0 10px 22px rgba(255,62,108,.25);
}
.hookah-reservations .rtb-submit input[type="submit"]:hover,
.hookah-reservations .rtb-submit button:hover {
  filter: saturate(1.05) brightness(1.03);
  transform: translateY(-1px);
}
.hookah-reservations .rtb-submit input[disabled],
.hookah-reservations .rtb-submit button[disabled] {
  opacity: .55; cursor: not-allowed; transform: none;
}

/* ---------- Kleinigkeiten ---------- */
.hookah-reservations .rtb-field-note { color:#777; font-size:13px; }
.hookah-reservations .rtb-booking-form hr { display:none; } /* die dünnen Linien entfernen *//* End custom CSS */