/* VARIABLEN BITTE ANPASSEN */

:root {
  --box-bg-selected-color: rgba(148, 193, 26, 1)
;
  --box-bg-color: rgba(148, 193, 26, 1);

  --kasten-bg-selected-color: rgba(148, 193, 26, 1);

  --button-bg-color: #94C11A;
  --button-border-color: #678515;

  --input-bg-color: #94C11A;
  --input-border-color: #678515;
  --input-box-shadow-color: rgba(103, 133, 21, 1);

  --loader-color: #94C11A;
}

/* VARIABLEN ENDE  */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* LOADER ANFANG */

.custom-loader {
  margin-left: auto;
  margin-right: auto;
  width: 100px;
  height: 100px;
  border-radius:50%;
  background:conic-gradient(#0000 10%,var(--loader-color));
  -webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 16px),#000 0);
  animation:s3 2s infinite linear;
  
}

@keyframes s3 {to{transform: rotate(1turn)}}

/* LOADER ENDE */


/* HIER FANGEN DIE KASTEN FÜR DIE MOBILEN GERÄTE AN */
/*
@media (hover: hover) and (pointer: fine) {
    .option13:hover{
      background: url("icons/option13_selected.svg"), var(--kasten-bg-selected-color);
      background-size: contain;
      cursor: pointer;
    }
    .option14:hover{
      background: url("icons/option14_selected.svg"), var(--kasten-bg-selected-color) ;
      background-size: contain;
      cursor: pointer;
    }
    .option15:hover{
      background: url("icons/option15_selected.svg"), var(--kasten-bg-selected-color);
      background-size: contain;
      cursor: pointer;
    }
    .option16:hover{
      background: url("icons/option16_selected.svg"), var(--kasten-bg-selected-color);
      background-size: contain;
      cursor: pointer;
    }
    .option17:hover{
      background: url("icons/option17_selected.svg"), var(--kasten-bg-selected-color);
      background-size: contain;
      cursor: pointer;
    }
    .option18:hover{
      background: url("icons/option18_selected.svg"), var(--kasten-bg-selected-color);
      background-size: contain;
      cursor: pointer;
    }
    
  }
*/
  /* HIER ENDEN DIE KASTEN FÜR DIE MOBILEN GERÄTE */

  /* HIER FANGEN DIE KASTEN AN */
/*
  .option13 {
    background: url("icons/option13.svg");
    background-size: contain;
    width: 25em!important;
    height: 3.75em!important;
  }
  .option14 {
    background: url("icons/option14.svg");
    background-size: contain;
    width: 25em!important;
    height: 3.75em!important;
  }
  .option15 {
    background: url("icons/option15.svg");
    background-size: contain;
    width: 25em!important;
    height: 3.75em!important;
  }
  .option16 {
    background: url("icons/option16.svg");
    background-size: contain;
    width: 25em!important;
    height: 3.75em!important;
  }
  .option17 {
    background: url("icons/option17.svg");
    background-size: contain;
    width: 25em!important;
    height: 3.75em!important;
  }
  .option18 {
    background: url("icons/option18.svg");
    background-size: contain;
    width: 25em!important;
    height: 3.75em!important;
  }
  input[type="checkbox"]:checked+.option13{
    background: url("icons/option13_selected.svg"), var(--kasten-bg-selected-color);
    background-size: contain;
    cursor: pointer;
  }          
  input[type="checkbox"]:checked+.option14{
    background: url("icons/option14_selected.svg"), var(--kasten-bg-selected-color);
    background-size: contain;
    cursor: pointer;
  }
  input[type="checkbox"]:checked+.option15{
    background: url("icons/option15_selected.svg"), var(--kasten-bg-selected-color);
    background-size: contain;
    cursor: pointer;
  }
  input[type="checkbox"]:checked+.option16{
    background: url("icons/option16_selected.svg"), var(--kasten-bg-selected-color);
    background-size: contain;
    cursor: pointer;
  }
  input[type="checkbox"]:checked+.option17{
    background: url("icons/option17_selected.svg"), var(--kasten-bg-selected-color);
    background-size: contain;
    cursor: pointer;
  }
  input[type="checkbox"]:checked+.option18 {
    background: url("icons/option18_selected.svg"), var(--kasten-bg-selected-color);
    background-size: contain;
    cursor: pointer;
  }
*/
  /* HIER ENDEN DIE KASTEN */

  /* HIER BEGINNT BOX */

  .option1 {
    background:  url("icons/option1.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option2 {
    background: url("icons/option2.svg") , var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option3 {
    background: url("icons/option3.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option4 {
    background: url("icons/option4.webp"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option5 {
    background: url("icons/option5.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option6 {
    background: url("icons/option6.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option7 {
    background: url("icons/option7.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option8 {
    background: url("icons/option8.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option9 {
    background: url("icons/option9.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option10 {
    background: url("icons/option10.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option11 {
    background: url("icons/option11.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option12 {
    background: url("icons/option12.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option13 {
    background: url("icons/option13.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option14 {
    background: url("icons/option14.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option15 {
    background: url("icons/option15.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option16 {
    background: url("icons/option16.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option17 {
    background: url("icons/option17.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  .option18 {
    background: url("icons/option18.svg"), var(--box-bg-color);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  } 
  
  /* HIER ENDET BOX */

  /* BITTE AB HIER KEINE ÄNDERUNG DURCHFÜHREN */

  form#user-info h3, h1 ,h4, h2 {
    margin-bottom: 50px;
    margin-top: 50px;
    text-align: center;
  }
  form#user-info h1 {
    font-size: 2em;
  }
  form#user-info h2 {
    font-size: 1.5em;
  } 
  form#user-info h3 {
    font-size: 1.17em;
  }
  form#user-info h4 {
    font-size: 1em;
  }
  
  #step7{
    animation: animate 0.5s;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }

  #step0, #step1, #step2, #step3, #step4, #step5,#step6, #step8, #step9, #loader{
    animation: animate 0.5s;
    text-align: center !important;
    margin: auto;
  }

  #step8 {
    max-width: 500px;
  }

  @keyframes animate {
    from {
      transform: scale(1, 0);
      opacity: 0;
    }
    to {
      transform: scale(1, 1);
      opacity: 1;
    }
  }
  
  .checkbox { 
    text-align: left;
    width: initial !important;
    height: initial !important;
    display: block;
  }

  .kasten {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 50%;
    margin-bottom: 5px;
    color: transparent;
  }

    .box {
    position: relative;
    top: 0;
    transition: top ease 0.5s;
    width: 200px;
    height: 160px;
    color: transparent;
    display: inline-block;
    margin: 10px;
    vertical-align: top;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 12px;
  }

  form#user-info input[type="radio"], form#user-info input[type="checkbox"] {
    display: none;
  }

  form#user-info input[type="radio"] + label:hover, form#user-info input[type="button"]:hover, form#user-info input[type="submit"]:hover, .btn:hover {
    top: -10px;
    cursor: pointer;
  }

  form#user-info input[type="button"], form#user-info input[type="submit"], .btn{
    text-align: center;
    position: relative;
    top: 0;
    transition: top ease 0.5s !important;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    font-weight: bold;
    background-color: var(--button-bg-color) !important;
    border-color: var(--button-border-color) !important;
  }
  form#user-info input[type="button"]:active, form#user-info input[type="submit"]:active, .btn:active {
    box-shadow: 0 0 0 0.25rem var(--input-box-shadow-color);
  }
  form#user-info input[type="button"]:focus, form#user-info input[type="submit"]:focus, .btn:focus {
    box-shadow: 0 0 0 0.25rem var(--input-box-shadow-color);
  }
  input[type="email"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="date"]:focus, input[type="checkbox"]:focus {
    box-shadow: 0 0 0 0.25rem var(--input-box-shadow-color) !important;
    border-color: var(--input-border-color) !important;
  }
  
  /* Professionelles Datumsfeld Styling */
  .date-input-wrapper {
    position: relative;
    display: inline-block;
  }
  
  .date-input-custom {
    width: 250px !important;
    padding: 12px 15px !important;
    font-size: 1rem !important;
    border: 2px solid #ddd !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    color: #333 !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
  }
  
  .date-input-custom:hover {
    border-color: var(--input-border-color) !important;
    box-shadow: 0 2px 8px rgba(148, 193, 26, 0.15) !important;
  }
  
  .date-input-custom:focus {
    outline: none !important;
    border-color: var(--input-border-color) !important;
    box-shadow: 0 0 0 0.25rem var(--input-box-shadow-color) !important;
  }
  
  .date-input-custom::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.7;
    padding: 5px;
    margin-left: 5px;
  }
  
  .date-input-custom::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
  }
  .form-check-input:checked {
    background-color: var(--input-bg-color) !important;
    border-color: var(--input-border-color) !important;
  }
  .last_inputs {
    border: none;
    width: 25em;
    -webkit-transition: width .35s ease-in-out;
    transition: width .35 ease-in-out;
    border: none;
    outline: none;
    background-color: #f3f3f3;
    padding: 0.125em;
  }

  .last_inputs:hover {
    width: 28.125em;
    outline: none;
    border-bottom: solid 1px var(--input-border-color);
  }
  
  .last_inputs:focus {
    border-bottom: solid 1px var(--input-border-color);
    width: 28.125em;
  }
  
  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }
  @media only screen and (max-width: 600px) {
    .kasten {
      width: 282px!important;
      height: 42px!important;
    }
    form#user-info h1 {
      font-size: 1.5em;
    }
    .box {
      width: 160px;
      height: 120px;
      margin-bottom: 5px;
    }
    .date-input-custom {
      width: 220px !important;
      padding: 10px 12px !important;
      font-size: 0.9rem !important;
    }
    #step4 > div[style*="display: flex"] {
      flex-direction: column !important;
      gap: 20px !important;
    }
  }
  .embed-responsive-16by9 {
    margin-left: 0;
    margin-right: 0;
    aspect-ratio: 16 / 9;
  }

  /* Select all divs with id starting with "step" and hide them */
  div[id^="step"] {
    display: none;
  }

  /* Select the first div with id starting with "step" and display it */
  div[id="step0"] {
    display: block;
  }

  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  #loader, #loader2, #start{
    display: none;
  }
  .datenschutz {
    display: block !important;
  }

  h2 {
    margin-top:10px; margin-bottom:20px;
  }

  /* HIER ENDEN DIE NICHT ZU BEARBEITENDE FELDER */

  /* Tooltip für "Keine Erfahrung" Button */
  .option6-wrapper {
    position: relative;
    display: inline-block;
  }

  .tooltip-hint {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.85);
    color: white;
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 0.9em;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
    z-index: 1000;
    top: calc(100% + 15px);
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    text-align: center;
    min-width: 200px;
  }

  .tooltip-hint::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-bottom-color: rgba(0, 0, 0, 0.85);
  }

  /* Tooltip bei Hover auf Desktop - funktioniert beim Hover über Wrapper oder Label */
  .option6-wrapper:hover .tooltip-hint {
    opacity: 1;
    visibility: visible;
  }

  /* Tooltip bei Touch auf Mobile - wird über JavaScript gesteuert */
  @media (max-width: 768px) {
    .tooltip-hint {
      top: calc(100% + 10px);
      font-size: 0.85em;
      padding: 8px 12px;
      min-width: 180px;
    }
  }