@charset "utf-8";

/* =====================================================
   GLOBAL RESET entfernt Browser-Standardabstände
===================================================== */

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%; }

body {
  background-color: rgba(208,179,214,0.13); }

html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden; /* <<< verhindert JEGLICHEN 
  rechten Spalt */ }



/* ================= NAVIGATION ================= */
.nav {
  position: absolute;          /* liegt über dem Bild */
  top: 20px;
  left: 0;
  width: 100%;
  padding: 0 24px;
  box-sizing: border-box;
  z-index: 1000; }

.burger {
  display: none;               /* nur auf Mobile */
  font-size: 28px;
  background: none;
  border: none;
  cursor: pointer; }

.nav-links {
  display: flex;
  justify-content: space-between;
  gap: 8px; }
  
.nav-links img{
	width:55%;  }

.nav-links a {
  flex: 1;
  text-align: center;
  font-family: Calibri, sans-serif;
  font-size: 16px;        /* etwas kleiner */
  line-height: 1.25;      /* besser für zweizeilig */
  font-weight: 600;       /* dicker (Semi-Bold) */
  color: #444;
  text-decoration: none;
  padding: 11px 12px;        /* minimal kompakter */
  background-color: rgba(208,179,214,0.53);
  border-radius: 7pt;  }
  
.nav-links a:hover {
  background-color: rgba(208,179,214,0.83); }









/* ========= KONTAKTFORMULAR =============*/
.kontaktformular{
  width:100%;
  padding:100px 20px;
  background:rgb(208, 179, 214);
  z-index:-5;
  margin-top:-60px;   }

.kontaktformular h2 {
  font-family: 'Sacramento', cursive;
  font-size: 41px;
  font-weight: 200;
  margin-bottom: 0px;
  text-align:center;
  margin-top:120px;  }

.kontaktformular h3 {
  font-family: Calibri, sans-serif;
  font-size: 10px;
  font-weight: 400;
  margin-bottom: 0px;
  text-align:center;  }

.kontaktformular-ueberschrift{
  max-width:700px;
  font-family: Calibri, sans-serif;
  margin:0 auto 60px;
  text-align:center; }

.kontaktformular-container{
  max-width:900px;
  margin:auto; }

.kontaktformular h4{
  font-family:Calibri,sans-serif;
  font-size:14px;
  font-weight:500;
  color:#444;
  margin-bottom:15px; }

.kontaktformular h5{
  font-family:Calibri,sans-serif;
  font-size:12px;
  font-weight:300;
  color:#000;
  line-height:1.6; }

.kontaktformular-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px; }

.formularfeld{
  margin-bottom:30px; }

.formularfeld label{
  display:block;
  margin-bottom:8px;
  font-family:Calibri,sans-serif;
  color:#444; 
  }

.formularfeld input,
.formularfeld textarea,
.formularfeld select{
  width:100%;
  padding:14px;
  border:1px solid #ddd;
  font-size:12px;
  font-family:Calibri,sans-serif;
  box-sizing:border-box; }

.formularfeld textarea{
  height:180px;
  resize:vertical; }

.radio-gruppe,
.checkbox-gruppe{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-bottom:40px; }

.radio-gruppe label,
.checkbox-gruppe label{
  display:flex;
  align-items:center;
  gap:10px; }

.radio-gruppe input,
.checkbox-gruppe input{
  width:auto; }

.formular-button{
  margin-top:30px;
  padding:13px 13px;
  background:#FFF;
  color:#444;
  border:none;
  cursor:pointer;
  font-size:12px;
  letter-spacing:1px;
  transition:.3s;
  border-radius: 10px; }

.formular-button:hover{
  background:#c19bc9; }
  
/* ================= DATENSCHUTZ CHECKBOX ================= */



/* =====================================================
   DATENSCHUTZ-CHECKBOX – KÄSTCHEN NEBEN TEXT
===================================================== */

.datenschutz-checkbox {
  display: block !important;
}

.datenschutz-checkbox label {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  text-align: left !important;
}

.datenschutz-checkbox label input[type="checkbox"] {
  display: inline-block !important;
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  flex: 0 0 16px !important;
}

.datenschutz-checkbox label a {
  display: inline !important;
}

.honeypot{
  display:none;
}






/* ========= FOOTER =============*/
.footer {
  background-color: rgba(208,179,214,0.13);
  border-top: 1px solid rgba(141,107,145,0.2);
  padding: 18px 40px;
  font-family: Calibri, Arial, sans-serif;
  font-size: 11px;
  text-transform:uppercase;
  letter-spacing:1px;
   }

.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.footer-brand {
  font-family: Calibri, Arial, sans-serif;
  font-size: 15px;
  color: #8d6b91;
  letter-spacing: 0.5px; }

.footer-links {
  display: flex;
  gap: 22px; }

.footer-links a {
  color: #555;
  text-decoration: none; }

.footer-links a:hover {
  color: #8d6b91; }

.footer-copy {
  color: #777; }









/* =====================================================
   RESPONSIVE DESIGN
   0–600 PX = MOBILE
   601–1024 PX = TABLET
===================================================== */


/* =====================================================
   MOBILE
   BIS 600 PX
===================================================== */

@media (max-width: 600px) {

  /* ================= NAVIGATION ================= */

  .nav {
        position: absolute;
    top: 12px;
    left: 0;
    width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
    z-index: 1000;  

  }

  .burger {
    display: block;

    font-size: 27px;

    color: #444;

    background: rgba(208,179,214,0.55);

    border: none;
    border-radius: 6px;

    padding: 5px 9px;

    position: relative;
    z-index: 1200;
  }

  .nav-links {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    margin-top: 8px;   }


  .nav.open .nav-links {
    display: flex;
  }

  .nav.open .nav-links a {
        width: 180px;
    box-sizing: border-box;
    padding: 7px;
    background-color: rgba(208,179,214,0.40);
    border-radius: 5px;
    font-family: Calibri, sans-serif;
    font-size: 11px;
    line-height: 1.15;
    font-weight: 600;
    text-align: center;   

  }

  .nav.open .nav-links a img {
    width: 50%;
  }


  /* ================= KONTAKTFORMULAR ================= */

  .kontaktformular {
    width: 100%;
    box-sizing: border-box;
    padding: 80px 6% 60px;
    margin-top: 0;
  }

  .kontaktformular h2 {
    font-size: 36px;
    margin-top: 80px;
  }

  .kontaktformular h5 {
    font-size: 11px;
    line-height: 1.5;
  }

  .kontaktformular-ueberschrift {
    width: 100%;
    max-width: 100%;
    margin-bottom: 45px;
  }

  .kontaktformular-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
  }


  /* Zwei Spalten werden EINSPALTIG */

  .kontaktformular-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }


  /* ================= FORMULARFELDER ================= */

  .formularfeld {
    width: 100%;
    margin-bottom: 22px;
    box-sizing: border-box;
  }

  .formularfeld label {
    font-size: 11px;
    line-height: 1.4;
    margin-bottom: 7px;
  }

  .formularfeld input,
  .formularfeld textarea,
  .formularfeld select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 12px;
    font-size: 12px;
  }

  .formularfeld textarea {
    height: 150px;
  }


  /* ================= ÜBERSCHRIFTEN ================= */

  .kontaktformular h4 {
    font-size: 12px;
    line-height: 1.4;
    margin-top: 25px;
    margin-bottom: 15px;
  }


  /* ================= ANGEBOTE ================= */

  .checkbox-gruppe {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 30px;
  }

  .checkbox-gruppe label {
    font-size: 11px;
    line-height: 1.4;
  }


  /* ================= DATENSCHUTZ ================= */

  .datenschutz-checkbox {
    margin-top: 5px;
  }

  .datenschutz-checkbox label {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
  }

  .datenschutz-checkbox label input[type="checkbox"] {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    flex: 0 0 16px !important;
  }


  /* ================= BUTTON ================= */

  .formular-button {
    width: 100%;
    max-width: 100%;
    padding: 14px;
    margin-top: 15px;
    font-size: 11px;
  }


  /* ================= FOOTER ================= */

  .footer {
    padding: 22px 20px;
  }

  .footer-inner {
    flex-direction: column;
    gap: 11px;
    text-align: center;
  }

  .footer-brand {
    font-size: 12px;
    font-weight: 600;
  }

  .footer-links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 16px;
  }

  .footer-links a {
    font-size: 9px;
  }

  .footer-copy {
    font-size: 10px;
  }

}



/* =====================================================
   TABLET
   601–1024 PX
===================================================== */

@media (min-width: 601px) and (max-width: 1024px) {


  /* ================= NAVIGATION ================= */

  .nav {
        position: absolute;
    top: 12px;
    left: 0;
    width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
    z-index: 1000;  

  }

  .burger {
    display: block;

    font-size: 27px;

    color: #444;

    background: rgba(208,179,214,0.55);

    border: none;
    border-radius: 6px;

    padding: 5px 9px;

    position: relative;
    z-index: 1200;
  }

  .nav-links {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    margin-top: 8px;   }


  .nav.open .nav-links {
    display: flex;
  }

  .nav.open .nav-links a {
        width: 180px;
    box-sizing: border-box;
    padding: 7px;
    background-color: rgba(208,179,214,0.40);
    border-radius: 5px;
    font-family: Calibri, sans-serif;
    font-size: 11px;
    line-height: 1.15;
    font-weight: 600;
    text-align: center;   

  }

  .nav.open .nav-links a img {
    width: 50%;
  }


  /* ================= KONTAKTFORMULAR ================= */

  .kontaktformular {
    width: 100%;
    box-sizing: border-box;
    padding: 90px 6% 80px;
  }

  .kontaktformular h2 {
    font-size: 39px;
    margin-top: 100px;
  }

  .kontaktformular-ueberschrift {
    width: 100%;
    max-width: 700px;
    margin: 0 auto 50px;
  }

  .kontaktformular-container {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
  }


  /* Die zwei Spalten bleiben auf Tablet erhalten */

  .kontaktformular-grid {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }


  /* ================= FORMULARFELDER ================= */

  .formularfeld {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 25px;
  }

  .formularfeld input,
  .formularfeld textarea,
  .formularfeld select {
    width: 100%;
    box-sizing: border-box;
  }


  /* ================= ANGEBOTE ================= */

  .checkbox-gruppe {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }


  /* ================= DATENSCHUTZ ================= */

  .datenschutz-checkbox label {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .datenschutz-checkbox label input[type="checkbox"] {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    margin: 2px 0 0 0 !important;
    flex: 0 0 16px !important;
  }


  /* ================= BUTTON ================= */

  .formular-button {
    padding: 13px 20px;
  }


  /* ================= FOOTER ================= */

  .footer {
    padding: 18px 25px;
  }

  .footer-links {
    gap: 16px;
  }

  .footer-links a {
    font-size: 10px;
  }

}