/* Styling for specific parts of the App*/
.content-container {
  max-width: 1440px;
  align-items: flex-start;
  margin: 0 auto; /* Centers the content */
  background-color: none; /* Optional: background color for the content */
  padding: 0 0 ; /* Padding inside the content area */
  margin-bottom: 100px; /* Space for the footer */

}

.impressum-container {
  padding: 0;
  background-color: var(--secondary-bg) !important;
  padding-bottom: 100px; /* Space for the footer */
  display: flex; /* Use flexbox for layout */
  border-radius: 10px;
  justify-content: space-between; /* Space between columns */
}

/* styling of the relation between the container for commen and method input (ui-components.) */
.input-container {
    display: flex; 
    padding: 0;
    width: 100%;
    font-family: var(--base-font);
    height: auto; /* Changed from fixed height */
    min-height: var(--size-input);
    overflow: visible; /* Allow content to be visible */
}

/* styling of the method intput field in the order ui */
.method_input {
  flex: 0 0 50%;
  padding: var(--input-padding);

}

.title_method_input {
  height: 35px; /* Fixed height */
  margin: 0; /* Remove margins */
  padding: 0; /* Remove padding */
  display: flex; /* Flexbox for alignment */
  align-items: flex-start; /* Align items to the top */
  justify-content: flex-start; /* Align items to the left */
  font-family: var(--heading-font);
}




/* Add this new style for input wrappers */
.input-wrapper {
  flex:1;
  width: 100%;
  margin: 0;
  padding: var(--small-padding), var(--small-padding);
  display: flex;
  align-items: flex-start; /* Center items vertically */
  justify-content: flex-start; /* Align items to the left horizontally */
  gap: 15px;
}
.accent-input,
.accent-input label {
  color: var(--accent) !important;
}

.button-group {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  width: 100%;
}


.footer-container {
  margin: 0 0;
  width: 100%;
  background-color: var(--secondary-bg) !important;
  height: 100px;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index:1000;
  display: flex; /* Use flexbox for layout */
  align-items: center;
  justify-content: center; /* Space between text and button */
  padding: 0 0px; /* Add padding */
}
.footer-text {
  display: flex;                /* Use flexbox layout */
  align-items: center;          /* Vertically align items */
  gap: 5px;                     /* Space between items */
  color: var(--text-primary);   /* Text color */
  font-size: 14px;              /* Adjust font size as needed */
}

.footer-text p {
  margin: 0;
  padding: 0;
  color: var(--text-primary);
  font-size: 14px;
}

.footer-version {
  margin: 0 !important;
  padding: 5px !important;
  color: var(--text-primary);
  font-size: 8px;
  position: fixed;
  bottom: 0;
  right: 0;
  text-align: right;
}

.impressum-button {
  background: none !important; /* No background */
  border: none !important; /* No border */
  color: var(--text-primary) !important; /* Color for the text */
  text-decoration: underline !important; /* Underlined text */
  cursor: pointer !important; /* Pointer cursor on hover */
  font-size: 14px !important; /* Adjust font size as needed */
  padding: 0 !important;
  margin: 0 !important;
}

.footer-content {
  padding: var(--input-padding);
  max-width: 1440px;
  width: 100%; /* Ensure it takes full width of the footer */
  z-index:1000;
  display: flex; /* Use flexbox for inner content */
  justify-content: space-between; /* Align inner content to the right */
  align-items: flex-start; /* Align inner content to the top */
 
}

.container-fluid {
  margin: 0 0 !important;
  padding: 0 0 !important;
}

.shiny-input-container {
  width: 100%;
}

/* styling of the navbar */

  .navbar {
    background-color: #FFFFFF00 !important;
    border: none !important;
    padding: 0 var(--input-padding);
    margin: 20 5px !important;
    z-index: 1000;
    height: 80px;

  }

  .navbar-nav > li > a {
    color: var(--text-primary) !important;
    transition: all 0.3s ease;
  }
  .navbar-nav > li.active > a {
    color: var(--accent) !important;
    background-color: transparent !important;
    border-bottom: 2px solid var(--accent) !important;
  }

  .navbar-brand {
    color: var(--text-primary) !important;
    pointer-events: none;  /* Prevents hover effects */
    cursor: default;      /* Changes cursor to default instead of pointer */
  }
  
.navbar-brand:hover,
.navbar-brand:focus {
  color: var(--text-primary) !important;
  background-color: transparent !important;
  }

  .navbar-nav > li > a:hover {
    color: var(--accent) !important;
    background-color: transparent !important;
  }


/* Style the header container */
.header-container {
  justify-content: space-between;
  background-color: none;
  position: relative;
  display: flex;
  width: 100%;
  padding: 10px var(--input-padding);
  margin: 0 0;
  align-items: center;
}


.header-logo {
  height: 70px;
  object-fit: contain; /* relation between sides fix */
  padding: 10px 10px;
  text-align: center;
}



/* User navigation button styling */
.seethrough-button {
  background-color:transparent!important;
  align-items: center;
  transition: all 0.5s ease !important; /* Smooth transition for hover effects */
  color: var(--text-primary) !important;
  display: flex !important;
  justify-content: flex-end; /* Align content to the right */
  padding: 0 0 !important; /* Remove padding */
  border: none !important; /* Remove border if necessary */
  width: 50px;
}


.irs-bar {
  background-color: var(--text-primary) !important;
  height: 8px !important; /* Adjust the height to match the actual bar */
  border-radius: 3px; /* Optional: for rounded edges */
  border-color: var(--secondary-bg) !important;
}

.irs-single {
  color: var(--accent) !important;
  background-color: var(--primary-bg) !important;
}
/* Hover effects */
.seethrough-button:hover i,
.seethrough-button:hover span,
.seethrough-button:hover .btn-label,
.seethrough-button:hover {
  color: color-mix(in srgb, var(--text-primary) 70%, white) !important;  /* Lighter on hover */
  }

  /* Browser button styling */
  .btn-default.btn-file { background-color: var(--primary-bg) !important;
    border-color: var(--text-primary) !important;
    color: var(--text-primary) !important;
    border-radius: 40px !important;
    height: var(--input-height) !important;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    line-height: normal;
    }


/* User profile styling */
.user-profile {
  align-items: flex-start;
  margin: 0 auto; /* Centers the content */
  background-color: none; /* Optional: background color for the content */
  padding: 0 0 ; /* Padding inside the content area */
  display: flex;
  flex-direction: row;
}
.user-column-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* Align inputs at the top */
  flex-grow: 1; /* Makes the content area fill the available space */
  margin: auto;
  position: relative;
  min-height: 300px;
  max-height: 636px !important;
}



.user-column {
  flex: 1;
  max-width: 25%;
  padding: var(--input-padding);
  margin: 0;
  height: 636px;

}
.user-column-orders {
  flex: 1;
  max-width: 50%;
  padding: var(--input-padding);
  margin: 0;
}

.user-column-header {
  padding: var(--input-padding) 0;
  margin: 0;
  display: flex;
}
.spacer{
  flex-grow: 1;
}
.user-button-group {
  display: flex;
  justify-content: flex-end; /* Align buttons to the right */
  gap: 10px;
  margin-top: auto;
  width: 100%;
}

.user-extra-information {
  height: 45px !important;
  gap: 10px;
  min-height: 80px; /* Ensures height remains even if empty */
  align-items: center; /* Aligns items properly if they appear */
}



/* Apply text color */
table.dataTable {
  color: var(--text-primary) !important;
}

.dataTables_filter input {
  border-radius: 25px !important;
  padding: 5px 10px !important;
  border: 1px solid var(--text-primary) !important;
  box-shadow: 3px 3px 7px 1px #565656 inset !important;
  background-color: var(--tertiary-bg) !important;
}

/* Target ONLY the Previous and Next buttons */
.dataTables_wrapper .dataTables_paginate .paginate_button.previous,
.dataTables_wrapper .dataTables_paginate .paginate_button.next {
  background-color: var(--primary-bg) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
  border-radius: 40px !important; /* Rounded corners */

  width: 120px;
  height: 35px;
}

/* Target ONLY the Previous and Next buttons */
.dataTables_wrapper .dataTables_paginate .paginate_button.previous.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.next.disabled {
  background-color: var(--primary-bg) !important;
  color: color-mix(in srgb, var(--text-primary) 80%, black) !important;
  border-color: color-mix(in srgb, var(--text-primary) 80%, black) !important;
}

/* Target ONLY the Previous and Next buttons */
.dataTables_wrapper .dataTables_paginate .paginate_button.previous.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.next.disabled:hover {
  background-color: var(--primary-bg) !important;
  color: color-mix(in srgb, var(--text-primary) 80%, black) !important;
  border-color: color-mix(in srgb, var(--text-primary) 80%, black) !important;
}

/* Hover effect ONLY for Previous and Next buttons */
.dataTables_wrapper .dataTables_paginate .paginate_button.previous:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.next:hover {
  background-color: color-mix(in srgb, var(--primary-bg) 50%, black) !important;
  border-color: color-mix(in srgb, var(--accent) 50%, black) !important;
}



.dataTables_wrapper .dataTable_info {
  color: var(--text-primary) !important;
  font-size: 8px !important;
}

/* Target the pagination number buttons */
.dataTables_wrapper .dataTables_paginate .paginate_button {
  background-color: transparent !important; /* No background */
  color: var(--text-primary) !important; /* Text color */
  border: none !important; /* Remove border */
  padding: 5px 10px !important;
}

/* Active (selected) pagination number */
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  font-weight: bold !important;
  text-decoration: underline !important;
  color: var(--accent) !important;
}

/* Hover effect for pagination number buttons */
.dataTables_wrapper .dataTables_paginate .paginate_button:not(.previous):not(.next):hover {
  background-color: transparent !important; /* Keep it transparent */
  color: var(--accent) !important; /* Highlight on hover */
}

/* Custom scrollbar for DT table */
.dataTables_wrapper .dataTables_scrollBody {
  scrollbar-width: thin; /* For Firefox */
  scrollbar-color: var(--text-primary) var(--tertiary-bg); /* Handle and track color */
  max-height: 500px !important; /* Ensure height restriction */
}

/* Webkit (Chrome, Edge, Safari) */
.dataTables_wrapper .dataTables_scrollBody::-webkit-scrollbar {
  width: 8px !important; /* Scrollbar width */
}

.dataTables_wrapper .dataTables_scrollBody::-webkit-scrollbar-track {
  background: var(--text-primary) !important; /* Track background */
  border-radius: 10px !important;
}

.dataTables_wrapper .dataTables_scrollBody::-webkit-scrollbar-thumb {
  background: var(--text-primary) !important; /* Scrollbar handle */
  border-radius: 10px !important;
}

.dataTables_wrapper .dataTables_scrollBody::-webkit-scrollbar-thumb:hover {
  background: var(--text-primary) !important; /* Darker handle on hover */
}



.circle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-block;
  margin: auto;
}

.flex{
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}


.welcome-section {
  text-align: center;
  margin-bottom: 30px;
}

.welcome-icon {
  color: var(--accent);
  margin-bottom: 15px;
}

.welcome-text {
  color: var(--accent);
  font-family: var(--heading-font);
  font-size: 1.8em;
  margin: 0;
}

.account-section {
  background-color: var(--primary-bg);
  padding: 25px;
  align-items: center;
  text-align: center;

}

.account-section h3 {
  color: var(--text-primary);
  margin-bottom: 25px;
  font-family: var(--heading-font);
}

.profile-field {
  margin: 0 auto;
  max-width: 500px;
  margin-bottom: 20px;
}

.profile-field label {
  display: block;
  text-align: center;
  margin-bottom: 5px;
}

.profile-field .form-control,
.profile-field .selectize-control {
  margin: 0 auto;
}




 .save-section {
  margin-top: 30px;
  text-align: center;
} 

/* Default State - Persist alignment and height */
.selectize-input {
  display: flex;
  align-items: center;
  height: var(--input-height) !important;
  box-sizing: border-box; /* Consistent box sizing */
  line-height: normal; /* Avoid inherited line-height issues */
}

/* Focus State */
.selectize-input.focus,
.selectize-input.active {
  display: flex;
  align-items: center;
  height: var(--input-height) !important;
  box-sizing: border-box;
}

/* Selected Items (tags) */
.selectize-input .item {
  display: flex;
  align-items: center;
  padding: 5px 10px;
  margin: 2px;
  border-radius: 5px;
  background-color: var(--item-bg, #e5e5e5);
  color: var(--item-text-color, #333);
}

/* Dropdown Open State */
.selectize-input.dropdown-active {
  display: flex;
  align-items: center;
  height: var(--input-height) !important;
  box-sizing: border-box;
}
/* Ensure alignment in open state */
.selectize-input.dropdown-active .item {
  display: flex;
  align-items: center;
  max-width: fit-content; /* Ensure items remain content-sized */
  box-sizing: border-box;
  display: inline-flex; /* Inline alignment */
  padding: 0 10px; 
}

/* Disabled State */
.selectize-input.disabled {
  background-color: var(--disabled-bg, #f5f5f5);
  color: var(--disabled-text, #999);
  cursor: not-allowed;
}

/* Ensure placeholder text aligns properly */
.selectize-input::after {
  line-height: var(--input-height) !important;
  align-items: center;
  display: flex;
}

/* Consistent style for container after losing focus */
.selectize-input.focus.dropdown-active,
.selectize-input:not(.focus):not(.active) {
  display: flex;
  align-items: center;
  height: var(--input-height) !important;
  padding: 0 10px;
  box-sizing: border-box;
}

/* Reset and style the custom checkbox */
input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid var(--text-primary);
  border-radius: 2px;
  background-color: var(--tertiary-bg);
  cursor: pointer;
  position: relative;
  display: inline-block;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  outline: none;
  box-shadow: 3px 3px 7px 1px #565656 inset !important;
}

/* Remove focus outline and inner shadow */
input[type="checkbox"]:focus {
  outline: none;
  box-shadow: none;
}


/* Adding the checkmark correctly without additional border effects */
input[type="checkbox"]:checked::after {
  content: '✔';
  font-size: 12px;
  color: var(--primary-bg);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


/* Input field styling - including dropdowns and date selectors */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
select,
.selectize-input
 {
  background-color: var(--tertiary-bg) !important;
  color: var(--primary-bg) !important;
  border: 1px solid var(--text-primary) !important;
  border-radius: 40px !important;
  box-shadow: 3px 3px 7px 1px #565656 inset !important;
  resize: vertical;
  height: var(--input-height) !important;
  box-sizing: border-box;
}

textarea{
  background-color: var(--tertiary-bg) !important;
  color: var(--primary-bg) !important;
  border: 1px solid var(--text-primary) !important;
  border-radius: 15px !important;
  box-shadow: 3px 3px 7px 1px #565656 inset !important;
  resize: vertical;
  box-sizing: border-box;
  min-height: 50px !important;
}

#support_message {
  border-radius: 0px !important;
}

/* changes color of placeholder text */
login-input-wrapper input::placeholder,
.input-wrapper input::placeholder {
  color: var(--primary-bg) !important; 
  opacity: 0.75 !important; 
}

/* Style select dropdowns */
select option {
  background-color: var(--tertiary-bg) !important;
  color: var(--primary-bg) !important;
  border-radius: 40px !important;
  box-shadow: 3px 3px 7px 1px #565656 inset !important;

}


/* Change color of "to" */
.input-group-addon,
.input-group-prepend,
.input-group-append span{
  color: var(--primary-bg) !important;
}




/* Style date inputs (the visible input field) */
/* adds the margin to the date-inputs, but not to the "to" */
.input-group .form-control {
  background-color: var(--tertiary-bg) !important;
  color: var(--primary-bg) !important;
  border-radius: 40px !important;
  box-shadow: 3px 3px 7px 1px #565656 inset !important;
  height: var(--input-height) !important;
 
}


.order-history-container {
  padding: 10px;
  border-bottom: 1px solid var(--text-primary) !important; /* Adds a dividing line */
}

.order-history-container:last-child {
  border-bottom: none !important; /* Remove border for the last section */
}





/* Style input labels */
label {
  color: var(--text-primary) ;
}

/* Style focused inputs */
input:focus,
select:focus,
textarea:focus,
.form-control:focus {
  background-color: var(--tertiary-bg) !important;
  color: var(--primary-bg) !important;
}

/* Style the date range separator */
.daterangepicker td.in-range,
.input-daterange .input-group-addon {
  background-color: var(--tertiary-bg) !important;
  color: var(--primary-bg) !important;
  border: 1px solid var(--text-primary) !important;
  border-radius: 40px !important;

}

/* Additional specificity for the "to" text */
.date-range-container .input-group-addon,
.daterangepicker .range-separator,
.input-daterange .input-group-addon {

  box-shadow: 3px 3px 7px 1px #565656 inset !important;

}



/* the field which is shown in the datepicker */
.datepicker {
  z-index: 9999 !important;  /* Higher than navbar */
  border-radius: 10px !important; /* Add rounded corners */
  box-shadow: none !important; /* Remove shadow */

}

/* Active and highlighted date styling */
.datepicker table tr td.active,
.datepicker table tr td.active.highlighted {
  background-color: var(--primary-bg) !important;
  color: var(--text-primary) !important;
}

/* Hover state for dates */
.datepicker table tr td:hover,
.datepicker table tr td.day:hover,
.datepicker table tr td.focused {
  background-color: var(--primary-bg) !important;
  color: var(--accent) !important;
}

/* Styling for today */
.datepicker table tr td.today {
  background-color: var(--text-primary) !important;
  color: var(--secondary-bg) !important;
}
/* styling of the numbers text in the datepicker */
.datepicker table tr td,         /* Normal day numbers */
.datepicker table tr th,         /* Column headers (Su, Mo, etc.) */
.datepicker .datepicker-months span, /* Month names */
.datepicker .datepicker-years span,  /* Year selection */
.datepicker .datepicker-decades span, /* Decade selection */
.datepicker .datepicker-centuries span{
  color: var(--primary-bg);
}


/* Ensure only the hovered month is affected */
/* styling of the numbers text in the datepicker */
.datepicker table tr td,         /* Normal day numbers */
.datepicker table tr th,         /* Column headers (Su, Mo, etc.) */
.datepicker .datepicker-months span, /* Month names */
.datepicker .datepicker-years span,  /* Year selection */
.datepicker .datepicker-decades span, /* Decade selection */
.datepicker .datepicker-centuries span{
  color: var(--primary-bg);
}


/* Ensure only the hovered month is affected */
.datepicker .datepicker-months span.month:hover,
.datepicker .datepicker-years span.year:hover,
.datepicker .datepicker-decades span.decade:hover,
.datepicker .datepicker-centuries span.century:hover {
  background-color: var(--primary-bg) !important;
  color: var(--accent) !important;
  display: inline-block; /* Ensures correct hover behavior */
}

.datepicker {
  background-color: var(--tertiary-bg) !important;
}
/* Ensure only hovered elements change color, not the entire tbody */
.datepicker table tr:hover {
  background-color: transparent !important;
}
/* Also ensure individual date cells change correctly */

.datepicker table tr td.day:hover {
  background-color: var(--primary-bg) !important;
  color: var(--accent) !important;
}



/* Fix the issue by preventing hover effect from applying to all elements */
.datepicker table tr td:hover,
.datepicker .datepicker-months span.month:not(:hover),
.datepicker .datepicker-years span.year:not(:hover),
.datepicker .datepicker-decades span.decade:not(:hover),
.datepicker .datepicker-centuries span.century:not(:hover) {
  background-color: var(--tertiary-bg) !important; /* Keeps other elements unchanged */
  color: var(--primary-bg) !important;
}

/* Ensure tbody does not change color on hover */
.datepicker table tbody:hover {
  background-color: var(--tertiary-bg) !important;
}



.datepicker {
  background-color: var(--tertiary-bg) !important;
}
/* Ensure only hovered elements change color, not the entire tbody */
.datepicker table tr:hover {
  background-color: transparent !important;
}
/* Also ensure individual date cells change correctly */

.datepicker table tr td.day:hover {
  background-color: var(--primary-bg) !important;
  color: var(--accent) !important;
}



/* Fix the issue by preventing hover effect from applying to all elements */
.datepicker table tr td:hover,
.datepicker .datepicker-months span.month:not(:hover),
.datepicker .datepicker-years span.year:not(:hover),
.datepicker .datepicker-decades span.decade:not(:hover),
.datepicker .datepicker-centuries span.century:not(:hover) {
  background-color: var(--tertiary-bg) !important; /* Keeps other elements unchanged */
  color: var(--primary-bg) !important;
}

/* Ensure tbody does not change color on hover */
.datepicker table tbody:hover {
  background-color: var(--tertiary-bg) !important;
}


/* Styling for active month/year selection */
.datepicker .datepicker-months span.month.active,
.datepicker .datepicker-years span.year.active,
.datepicker .datepicker-decades span.decade.active,
.datepicker .datepicker-centuries span.century.active {
  background-color: var(--primary-bg) !important;
  color: var(--text-primary) !important;
}

/* styling of the date input field: resize it to the width of the container */
.input-field,
.input-field .selectize-control  {
  width: 100%;

}



.form-control {
  background-color: var(--tertiary-bg) !important;
  color: var(--primary-bg) !important;
  border: 1px solid var(--text-primary) !important;
}

/* Dropdown styling */
select,
.selectize-input,
.selectize-dropdown{
  background-color: var(--tertiary-bg) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--text-primary) !important;
}

/* Selected items in multiselect */
.selectize-input .item {
  background-color: var(--primary-bg) !important;
  color: var(--text-primary) !important;
  border: none !important;
  border-radius: 3px !important;
  padding: 2px 8px !important;
  border-radius: 40px !important;
}

/* Remove item button (x) in selected items */
.selectize-input .item .remove {
  color: var(--text-primary) !important;
  border-left: 1px solid rgba(var(--text-primary-rgb), 0.2) !important;
  padding-left: 5px !important;
  margin-left: 5px !important;
  
  border-radius: 40px !important;
}

/* Dropdown options */
.selectize-dropdown-content .option {
  background-color: var(--tertiary-bg) !important;
  color: var(--primary-bg) !important;
  
  border-radius: 40px !important;
}

/* Hover state for options */
.selectize-dropdown-content .option:hover,
.selectize-dropdown-content .active {
  background-color: var(--primary-bg) !important;
  color: var(--text-primary) !important;
}

/* Selected option in the field */
select:focus,
.selectize-input.focus {
  background-color: var(--tertiary-bg) !important;
  color: var(--text-secondary) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--accent-rgb), 0.25) !important;
}


.selectize-input.focus > input {
  color: var(--primary-bg) !important;
  background: transparent !important;
  border: none !important;
}
.selectize-input > input {
  color: var(--primary-bg) !important;
  background: transparent !important;
  border: none !important;
}

/* Dropdown arrow */
select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 2l4 4 4-4z' fill='%23888888'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 8px 8px !important;
  padding-right: 1.5rem !important;
}

/* Style readonly inputs */
input[readonly],
.readonly-input,
input[disabled],
select[disabled] {
  background-color: color-mix(in srgb, var(--tertiary-bg) 70%, black) !important;
  color: var(--primary-bg) !important;
  border: 1px solid var(--text-primary) !important;
  opacity: 0.8;
  border-radius: 40px;
  box-shadow: 3px 3px 7px 1px #565656 inset ;
}

/* Remove focus effects for readonly/disabled inputs */
input[readonly]:focus,
.readonly-input:focus,
input[disabled]:focus,
select[disabled]:focus {
  border-color: var(--text-primary) !important;
  box-shadow: none !important;
}

.btn-default.btn-file { background-color: var(--primary-bg) !important;
border-color: var(--text-primary) !important;
color: var(--text-primary) !important;
border-radius: 40px !important;
height: var(--input-height) !important;
box-sizing: border-box;
display: flex;
align-items: center;
line-height: normal;
}
/* Modal styling */
.modal-content {
  background-color: var(--primary-bg) !important;
  color: var(--text-primary) !important;
  border-radius: 40px !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.8) !important; /* Enhanced shadow */
  position: relative;
  z-index: 1051;
  border: 1px solid var(--text-primary) !important;
}

.modal-header {
  border-bottom: 1px solid var(--text-primary) !important;
}

.modal-footer {
  border-top: 1px solid var(--text-primary) !important;
}

.modal-title {
  color: var(--text-primary) !important;
}

/* Modal styles */
.modal-success {
  border: 2px solid var(--success);
}

.modal-failure {
  border: 2px solid var(--danger);
}

/* Modal backdrop styling */
.modal-backdrop.in {
  opacity: 0.9 !important; /* Much darker background */
  background-color: rgba(0, 0, 0, 0.1) !important;
  backdrop-filter: blur(8px) !important; /* Increased blur */
  -webkit-backdrop-filter: blur(8px) !important;
}

/* Ensure backdrop is behind modal but above other content */
.modal {
  z-index: 1050;
}

.modal.in {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* creates sace between the label. The checkboxes move with them */
.psych-wrapper .shiny-form-group,
.psych-wrapper .shiny-options-group {
  display: flex;
  gap: 25px; 
  align-items: flex-end;
  margin: 0px 0px ;
  width: 100% !important;
  padding-right: 100px !important;
}

#method_input_1-psychographics_ERH-label,
#method_input_1-psychographics_ERH .shiny-options-group,
#method_input_1-psychographics_ERH {
  width: 100%;

}



/*padding ändert nur das aussehen der Checkboxen selbst */
 .psych-wrapper .shiny-input-container input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none; 
  border: 2px solid var(--text-primary);
  background-color: var(--secondary-bg) !important;
  outline: none;
  margin:0px 0px !important; 
  gap: 20px !important;
   
}




.psych-wrapper .shiny-input-container .checkbox label {
  margin: 0px 0px	 ; /*changing this moves the label and boxes as ones */
  padding: 0px 0px ; 
  line-height: 20px ;
  align-items: space-between !important;
  /*gap: 10px !important; bringt michts */
}

.psych-wrapper .shiny-input-container .checkbox span,
.psych-wrapper .shiny-options-group .checkbox span {
  margin: 0px 0px	 ; /*changing this moves the label and boxes as ones */
  padding: 0px 0px ; 
  padding-left: 26px !important;
  line-height: 20px ;
  /*gap: 10px !important; bringt michts */
}


/* When the checkbox is focused but not checked (way from checked to unchecked) */
.psych-wrapper .shiny-input-container input[type="checkbox"]:hover {
  background-color: none !important; 
  border-color: var(--accent) !important;
}
/* When the checkbox is focused but not checked (way from checked to unchecked) */
.psych-wrapper .shiny-input-container input[type="checkbox"]:not(:checked):hover:focus {
  background-color: none !important; 
  border-color: var(--accent) !important;
}


/* When the checkbox is focused but not checked (way from checked to unchecked) */
.psych-wrapper .shiny-input-container input[type="checkbox"]:focus:not(:checked) {
  background-color: var(--secondary-bg) !important; 
  border-color: var(--text-primary) !important;
}
/* When the checkbox is active (clicked down) and checked */
.psych-wrapper .shiny-input-container input[type="checkbox"]:active:checked {
  background-color: none !important; 
  border-color: var(--text-primary) !important;
}

 .psych-wrapper .shiny-input-container input[type="checkbox"]:checked {
  background-color: var(--accent) !important; 
  border-color: var(--primary-bg) !important;
} 
/* When the checkbox is focused and checked */
.psych-wrapper .shiny-input-container input[type="checkbox"]:focus:checked {
  background-color: var(--accent) !important; 
  border-color: var(--primary-bg) !important;
}
/* When the checkbox is active (clicked down) but not checked */
.psych-wrapper .shiny-input-container input[type="checkbox"]:active:not(:checked) {
background-color: var(--accent) !important; 
  border-color: var(--accent) !important;
}
#common_input_1-second_view,
#common_input_1-first_view {
  width: 100%;
  padding: var(--input-padding);
  margin: 0;
  max-height: calc(100vh - 100px); /* Adjust for header/footer space */
  overflow-y: auto; /* Enable vertical scrolling */
  overflow-x: hidden; /* Prevent horizontal scrolling */
}


/* Reset and style the custom checkbox */
input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid var(--text-primary);
  border-radius: 2px;
  background-color: var(--tertiary-bg);
  cursor: pointer;
  position: relative;
  display: inline-block;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  outline: none;
  box-shadow: 3px 3px 7px 1px #565656 inset !important;
}

/* Remove focus outline and inner shadow */
input[type="checkbox"]:focus {
  outline: none;
  box-shadow: none;
}


/* Adding the checkmark correctly without additional border effects */
input[type="checkbox"]:checked::after {
  content: '✔';
  font-size: 12px;
  color: var(--primary-bg);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}




.login-container {
  width:480px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between !important; /* Aligns content horizontally */
  padding: var(--input-padding) var(--input-padding);
  margin-left: 0;
  align-items: center;
}

.login-logo {
height: 70px;
object-fit: contain; /* relation between sides fix */
padding: 10px 10px;
text-align: center;
}



.login-footer {
  margin-top: auto; /* Push the footer to the bottom if space allows */
  display: flex; /* Use flexbox to align items in a row */
  justify-content: center; /* Center the content */
  align-items: center; /* Align items vertically */
}

.login-footer .login-footer-button {
  margin: 0; /* Remove margin */
  padding: 0; /* Remove padding */
  background: transparent; /* Make the button transparent */
  color: var(--accent); /* Set the text color to var(--accent) */
  text-decoration: underline; /* Underline the text */
  border: none; /* Remove border */
  cursor: pointer; /* Change cursor to pointer */
  font-size: 12px !important;
  font-family: var(--base-font);
}
.login-footer .login-footer-button:hover {
  color: var(--accent) !important; 
  text-decoration: underline; 
  background-color: transparent !important;
}

.login-footer .login-footer-text {
  margin-right: 5px !important; /* Optional: add some space between the text and button */
  margin-bottom: 0px !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-family: var(--base-font);
}

.login-wrapper {
  display: flex;
  flex-direction: row;
}

.login-body {
  margin-top:auto;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.login-body > label {
  text-align: center !important;
}


 .progress-bar {
  background-color: var(--primary-bg  ) !important;
  color: var(--text-primary) !important;
  border-color: var(--accent) !important;
  }


.column-left, .column-right {
    width: 48%; /* Set width for each column */
    padding: 10px; /* Add padding inside each column */
    box-sizing: border-box; /* Include padding in width calculation */
}

/* Optional: Add some styling for headings and paragraphs */
.column-left h2, .column-right h2 {
    margin-top: 0; /* Remove top margin for headings */
}

.column-left p, .column-right p {
    margin: 5px 0; /* Add margin for paragraphs */
}

.fa-info-circle {
  color: var(--accent) !important;
}

.input-error-message {
  color: var(--danger) !important;
  font-size: 12px !important;
}

.input-error-message:empty {
  display: none; /* Hide the element entirely when it has no content */
}

.define-key-motivation {
  color: var(--accent);
}

/* Table alignment in modals */
.borderless-table {
  border-collapse: collapse;
  width: 100%;
}

.borderless-table td, 
.borderless-table th {
  border: none;
  padding: 8px;
  text-align: left;
  vertical-align: top;  /* Align content to top */
}

.borderless-table td:first-child {
  width: 30%;  /* Fixed width for first column */
  white-space: nowrap;  /* Prevent label wrapping */
}

.borderless-table td:last-child {
  width: 70%;  /* Remaining space for content */
}

/* Ensure HTML content in cells aligns properly */
.borderless-table td span,
.borderless-table td p {
  margin: 0;
  padding: 0;
  text-align: left;
}

/* Media query for screens smaller than 940px */
@media screen and (max-width: 940px) {
  
  .login-picture {
    display: none; /* Hide the login picture */
  }
  
  .login-container {
    width: 100%; /* Ensure the login container takes full width */
    padding: 20px; /* Add some padding for better appearance */
  }
  
  .input-container {
    flex-direction: column; /* Stack children vertically */
  }

  .method_input,
  .common_input {
    flex: 1 1 100%; /* Take full width */
    width: 100%;
    max-width: 100%;
  }

  .input-wrapper {
    flex-direction: column; /* Stack inputs vertically */
    gap: 10px;
  }

  .input-wrapper > * {
    width: 100% !important; /* Force all children to full width */
  }

  /* Adjust sentiment input group */
  .input-wrapper .selectize-control,
  .input-wrapper input[type="number"] {
    width: 100% !important;
  }

  /* Ensure buttons stack properly */
  .button-group {
    flex-direction: column;
    gap: 10px;
  }

  .button-group button {
    width: 100%;
  }

  /* Adjust header height for mobile */
  .header-container {
    min-height: 120px; /* Increased height for mobile */
    flex-direction: column;
    gap: 10px;
    padding: 15px var(--input-padding);
  }

  .navbar {
    height: auto; /* Allow navbar to expand */
    min-height: 80px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .navbar-nav {
    flex-direction: column;
    width: 100%;
    text-align: center;
  }

  /* Footer adjustments */
  .footer-container {
    position: relative; /* Change from fixed */
    margin-top: 20px;
    height: auto;
    min-height: 100px;
  }

  /* Content container adjustments */
  .content-container {
    margin-bottom: 0; /* Remove margin since footer isn't fixed */
    min-height: calc(100vh - 220px); /* Account for header and footer */
  }

  /* Input container adjustments */
  .input-container {
    flex-direction: column;
    gap: 20px;
  }

  /* Ensure proper spacing between sections */
  #common_input_1-second_view,
  #common_input_1-first_view {
    max-height: none; /* Remove max height restriction */
    overflow: visible; /* Allow content to flow naturally */
  }
  body{
    background-position: center calc(100%);
  }
  
  .user-profile {
  
    margin: 0 auto; /* Centers the content */
    background-color: none; /* Optional: background color for the content */
    padding: 0 0 ; /* Padding inside the content area */
    display: block !important;
    flex-direction: none;
  }
  
  .user-column {
    flex: 0;
    max-width: 100%;
    padding: var(--input-padding);
    margin: 0;
  
  }
  .user-column-orders {
    flex: 0;
    max-width: 100%;
    padding: var(--input-padding);
    margin: 0;
  }
  
  
}
