@import 'WhiteLabel/wl-colors.css';
@import 'WhiteLabel/wl-fonts.css';
@import 'WhiteLabel/wl-spacing.css';
@import 'WhiteLabel/wl-borders.css';

/*----------Detailformulier woning styling desktop----------*/

.section-header {
   background-color: var(--color-primary);
   color: var(--color-white);
   padding: var(--spacing-sm);
   font-weight: var(--font-weight-normal);
   transition: background-color 0.2s ease;
}

.card {
   border-radius: 0 !important;
   border-top: none !important;
}

.data-row {
   background-color: var(--color-white);
   display: flex;
   border: 1px solid var(--color-lightgrey);
}

.data-row-no-top-border {
   border-top: none;
}

.data-label {
   width: var(--perc-25);
   padding: var(--spacing-sm);
   background-color: var(--color-lightgrey);
}

.data-input {
   width: var(--perc-75);
   border: none;
   color: var(--color-grey) !important;
   padding: 8px 12px;
}

   .data-input::placeholder {
      color: var(--color-grey) !important;
   }

.is-invalid-wrapper input.form-control {
   border-color: #dc3545;
}

.date-input {
   width: var(--perc-20);
}

.data-row .flex-wrapper {
   flex: 1;
   width: 100%;
   min-width: 0;
}

.data-row .data-input {
   width: 100%;
}

.valid.modified:not([type="checkbox"]) {
   outline: none !important;
}

.validation-message {
   color: var(--color-validation-error);
   font-size: 0.875rem;
   margin-top: var(--spacing-xs);
}

.input-validation-error {
   border-color: var(--color-validation-error);
}

   .input-validation-error:focus {
      border-color: var(--color-validation-error);
      box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
   }

.tabs-navigation {
   margin-bottom: 0 !important;
   border: none !important;
}

.tab {
   color: var(--color-black) !important;
   border: none !important;
}

   .tab:hover {
      border: none !important;
      color: var(--color-primary) !important;
      cursor: pointer;
   }

.tab-active {
   color: var(--color-primary) !important;
}

.button {
   background-color: var(--color-primary);
   font-weight: var(--font-weight-normal);
   color: var(--color-white);
}


   .button:hover {
      background-color: var(--color-primary);
      color: var(--color-secondary);
      outline: none;
      border-color: var(--color-primary);
   }

   .button:focus, .button:active {
      outline: none !important;
      box-shadow: none !important;
   }

input:focus {
   outline: none !important;
   border-color: var(--color-primary) !important;
}

input:focus {
   outline: none !important;
   border-color: var(--color-primary) !important;
   box-shadow: 0 0 6px var(--color-primary) !important;
}

textarea {
   resize: none;
}

   textarea:focus {
      outline: none !important;
      border-color: var(--color-primary) !important;
      box-shadow: 0 0 6px var(--color-primary) !important;
   }

.data-row .data-input[type="checkbox"],
.data-row .data-input[type="radio"] {
   appearance: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   width: 1em;
   height: 1.75em;
   border: 2px solid var(--color-grey);
   border-radius: var(--border-radius-sm);
   cursor: pointer;
   position: relative;
   transition: all 0.2s ease-in-out;
}

   .data-row .data-input[type="checkbox"]:checked,
   .data-row .data-input[type="radio"]:checked {
      background-color: var(--color-primary);
      border-color: var(--color-primary);
   }

      .data-row .data-input[type="checkbox"]:checked::after,
      .data-row .data-input[type="radio"]:checked::after {
         content: 'X';
         font-size: var(--font-size-base-lg);
         color: var(--color-secondary);
         position: absolute;
         top: var(--perc-50);
         left: var(--perc-50);
         transform: translate(-50%, -50%);
      }



/*----------Opnameformulier woning styling desktop----------*/

.section-chevron {
   transition: transform 0.2s ease;
   display: inline-block;
}

   .section-chevron.collapsed {
      transform: rotate(-90deg);
   }

.suggestions {
   z-index: 1000;
   max-height: 200px;
   overflow: auto;
   border: 2px solid var(--color-primary);
}

.dropdown {
   position: relative;
}

.discipline-dropdown-menu {
   max-height: calc(6 * 2.5rem);
   overflow-y: auto;
   position: absolute;
   z-index: 1000;
   background-color: var(--color-white);
   border: 1px solid var(--color-lightgrey);
   border-radius: var(--border-radius-md);
   min-width: 150px;
   margin-top: 0.25rem;
   left: var(--perc-50);
   transform: translateX(-90%);
}

.dropdown-item {
   padding: 0.5rem 1rem;
   cursor: pointer;
}

.dropdown-item:hover {
   background-color: var(--color-table-hover);
}

.dropdown-menu::-webkit-scrollbar {
   width: var(--spacing-xs);
}

.dropdown-menu::-webkit-scrollbar-track {
   background: var(--color-lightgrey);
}

.dropdown-menu::-webkit-scrollbar-thumb {
   border-radius: var(--border-radius-sm);
   background-color: var(--color-primary);
}

.dropdown-overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   z-index: 900;
   background-color: rgba(0, 0, 0, 0.2);
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
   -webkit-appearance: none;
   margin: 0;
}
/*----------Werklijst woning styling desktop----------*/

.disciplines-header {
   display: flex;
   flex-wrap: wrap;
   gap: var(--spacing-sm);
   padding: var(--spacing-md);
   background-color: var(--color-primary);
}

.discipline-button {
   padding: 6px 10px;
   border-radius: var(--border-radius-lg);
   font-size: var(--font-size-base-sm);
   font-weight: var(--font-weight-md);
   cursor: pointer;
   transition: all 0.3s ease-in-out;
   user-select: none;
   background-color: var(--color-lightgrey);
   color: var(--color-grey);
   border: 1px solid var(--color-grey);
   opacity: 0.7;
}

   .discipline-button:hover {
      opacity: 1;
      background-color: var(--color-white) !important;
   }

   .discipline-button.active {
      background-color: var(--color-background);
      color: var(--color-black);
      border: 1px solid var(--color-grey);
      opacity: 1;
   }

.discipline-section {
   margin-bottom: var(--spacing-xl);
   border: 1px solid var(--color-lightgrey);
   border-top: none;
   border-left: 5px solid var(--color-primary);
   overflow: hidden;
   transition: all 0.3s ease;
}

.task-cards {
   padding: var(--spacing-md);
   background-color: var(--color-white);
}

.task-card {
   border-bottom: 1px solid var(--color-lightgrey);
   padding: var(--spacing-md);
   background-color: var(--color-white);
}

   .task-card:last-child {
      border-bottom: none;
   }

.task-header {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   margin-bottom: var(--spacing-md);
}

   .task-header h4 {
      margin: 0;
      color: var(--color-black);
      font-size: var(--font-size-base);
   }

.task-content {
   color: var(--color-grey);
   font-size: var(--font-size-base-sm);
}

   .task-content p {
      margin: 5px 0;
   }

   .task-content strong {
      color: var(--color-black)
   }

.task-details-grid {
   display: flex;
   flex-wrap: wrap;
   gap: 10px 20px;
   margin-top: var(--spacing-sm);
   padding-top: var(--spacing-sm);
   border-top: 1px dashed var(--color-lightgrey);
}

   .task-details-grid p {
      margin: 0;
   }

.task-notes {
   border-top: 1px solid var(--color-lightgrey);
   padding-top: var(--spacing-sm);
   margin-top: var(--spacing-sm) !important;
}

.arrow-icon {
   color: var(--color-primary);
   font-size: 1rem;
}

   .arrow-icon:hover {
      color: var(--color-black);
   }

   .arrow-btn:focus,
   .arrow-btn:focus-visible,
   .arrow-icon:focus,
   .arrow-icon:focus-visible {
      outline: none;
      border-radius: 4px;
   }



/*----------Media queries----------*/

@media (max-width: 1280px) {
   .tabs-navigation {
      margin-bottom: 0 !important;
   }

   .data-row {
      flex-direction: column;
      align-items: flex-start;
   }

   .data-label {
      flex: none;
      width: var(--perc-100);
      padding-right: 0;
   }

   .data-input,
   select.data-input,
   textarea.data-input,
   .date-input {
      flex: none;
      width: var(--perc-100);
      max-width: var(--perc-100);
   }

   .row .col-12 .data-row {
      flex-direction: column;
      align-items: flex-start;
      border-bottom: 1px solid var(--color-lightgrey);
   }

   .row .col-12 .data-row > .col.data-label,
   .row .col-12 .data-row > select.data-input {
      flex: none;
      width: var(--perc-100);
      max-width: var(--perc-100);
      margin-bottom: 0;
   }
}
