@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');


/******************
    User custom CSS
    ---------------

    Custom CSS for Inria_Aviz_extension theme

*/


.logo-container>img {
  max-height: 60px;
  height: 100%;
  padding: 15px;
  width: auto;
}

.outerframe {
    padding-right: var(--bs-gutter-x-doubled, calc(var(--bs-gutter-x, 1.5rem) * 2));
    padding-left: var(--bs-gutter-x-doubled, calc(var(--bs-gutter-x, 1.5rem) * 2));
}

.bg-primary, .outerframe {
  background-color: #FFFFFF !important;
  color: black !important;
}

body{
  background-color: var(--bs-gray-100);
}

/* Change Inria's default white-on-blue by black-on-white text for questions */
.consent {
    text-align: left;
    color: black;

}


.survey-description.text-info {
    text-align: left !important;
    color: black !important;
    font-size: 1.2em !important;
}

/* remove border on question containers */
.answer-container, .question-container {
    border-width: 0px;
    border-style: none;
}

/* Adjusting Inria choice of colors (flatly) */

:root {
    --bs-primary: rgb(84, 121, 156);
    --bs-primary-dark: rgb(44, 62, 80);
    --bs-secondary: rgb(149, 165, 166);
    --bs-secondary-light: rgb(208, 224, 229);

    --bs-blue: rgb(84, 121, 156);
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #e83e8c;
    --bs-red: #e74c3c;
    --bs-orange: #fd7e14;
    --bs-yellow: #f39c12;
    --bs-green: #18bc9c;
    --bs-teal: #20c997;
    --bs-cyan: #3498db;
    --bs-white: #fff;
    --bs-gray: #95a5a6;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #ecf0f1;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #b4bcc2;
    --bs-gray-600: #95a5a6;
    --bs-gray-700: #6d6d6d;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    /* --bs-primary: #2c3e50; */
    /* --bs-secondary: #95a5a6; */
    
    --bs-success: #18bc9c;
    --bs-info: #3498db;
    --bs-warning: #f39c12;
    --bs-danger: #e74c3c;
    --bs-light: #ecf0f1;
    --bs-dark: #7b8a8b;
    --bs-primary-rgb: 84, 121, 156;
    --bs-primary-dark-rgb: 44, 62, 80;
    --bs-secondary-rgb: 149, 165, 166;
    --bs-secondary-light-rgb: 208, 224, 229;
    --bs-success-rgb: 24, 188, 156;
    --bs-info-rgb: 52, 152, 219;
    --bs-warning-rgb: 243, 156, 18;
    --bs-danger-rgb: 231, 76, 60;
    --bs-light-rgb: 236, 240, 241;
    --bs-dark-rgb: 123, 138, 139;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif: "Roboto", Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --bs-secondary-light: rgb(208, 224, 229);
    
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-bg: #fff;
    /* derived doubled gutter for components that need extra horizontal padding */
    --bs-gutter-x-doubled: calc(var(--bs-gutter-x, 1.5rem) * 2);
    
}

.btn-primary {
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

a {
  color: var(--bs-primary);
}

a:hover {
  color: var(--bs-primary-dark);
}


.question-title-container.bg-primary {
    background-color:#FFFFFF !important;
}


@media (max-width: 576px) {
    .short-open-wrapper {
        gap: 0.5rem;
    }
    .short-open-input {
        width: 100% !important; /* on small screens, input should take full width */
    }
}

.short-open-tip {
    font-size: 0.85em;
    color: #666;
    margin-top: 0.25em;
    text-align: center;
}

/* Nudge the IDK checkbox+label left by 1em so the pair sits slightly left of center
   Keep a small transition and disable the nudge on narrow viewports for better layout */
.idk-wrapper > * {
    transform: translateX(-1em);
}

@media (max-width: 576px) {
    .idk-wrapper > * {
        transform: none;
    }
}


.likert-opt{
    cursor: pointer;
}


/*form french PREVis*/
form[action*="463811"] #ul-other {
    width: 50%;
    margin: 0 auto;
}

form[action*="463811"] #ul-other .text-item {
    width: 100%;
}

/* ------------ Eliane's VA UX Exploratory survey ------------ */

.group-container:has(.VA-exploratory-survey) .group-title {
    display:none;
}

.group-container:has(.VA-exploratory-survey) .group-description .well {
    background-color:unset;
    text-align:center;
    border:none;
    padding:0;
    margin:0;
    box-shadow:unset;
}

.VA-exploratory-survey .ls-label-question {
    font-size: 1.2em;
    text-align: center;
}

.VA-exploratory-survey .asterisk {
    display:none;
}

.VA-exploratory-survey ul {
    width:14.2%;
}

.VA-exploratory-survey ul:has(.othertext-label-checkox-container) {
    width:100%  ;
}

.VA-exploratory-survey .radio-item {
    margin-left:auto;
    margin-right:auto;
    padding:1em;
}

.VA-exploratory-survey .radio-item label{
    font-size:1.2em;
    display:block;
    padding-top:22px;
    padding-left:0;
    margin:auto;
    text-align:center;
}

.VA-exploratory-survey .radio-item label::before, .VA-exploratory-survey .radio-item label::after{            
    display: inline-block;
    margin-left: calc(50% - 8px);
  }

.VA-exploratory-survey .no-likert .radio-item label::after{            
    left: 3px;
}
      
/*.VA-exploratory-survey ul:has(.othertext-label-checkox-container) {*/
/*    width:70% !important;*/
/*    margin:auto;*/
/*}*/

.VA-exploratory-survey ul .othertext-label-checkox-container,
.VA-exploratory-survey ul .other-text-item{
    width:70% !important;
    margin:auto;
}

.VA-exploratory-survey ul:has(.othertext-label-checkox-container) li {
    flex-flow:column;
}


.VA-exploratory-survey .other-text-item input {
    margin-top: 10px;
}

.VA-exploratory-survey li.answer-item:has(label:hover) {
    background-color: #EEEEEE;
    border-radius:3px;
}



/* ------------ Eliane's Prolific survey ------------ */

.VA-exploratory-survey ul.answers-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
    list-style: none;
}

.VA-exploratory-survey ul.answers-list li.answer-item {
    width: 13%; 
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
}

.VA-exploratory-survey ul.answers-list li.answer-item:last-child {
    width: 100%;
    margin-top: 15px;
    padding-top: 15px;
}

.VA-exploratory-survey .answer-item label {
    margin-top: 5px;
    font-size:1.1em;
}



/* ---------- DESKTOP / DEFAULT RADIO LOOK ---------- */

/* Label for custom radios: bullet above centered text */
.VA-exploratory-survey .radio-item label {
    display: block;
    padding-top: 22px;   /* space for the circles above */
    padding-left: 0;
    margin: 0 auto auto auto;
    text-align: center;
    position: relative;  /* anchor ::before/::after */
}

/* Shared positioning for both circles */
.VA-exploratory-survey .radio-item label::before,
.VA-exploratory-survey .radio-item label::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 0;
    border-radius: 50%;
}

/* Outer circle: always visible */
.VA-exploratory-survey .radio-item label::before {
    content: "";
    width: 17px;
    height: 17px;
    top: 0;
    border: 1px solid #555;   /* tweak to your theme */
    background-color: #fff;
}

/* Inner circle: base (hidden by default) */
.VA-exploratory-survey .radio-item label::after {
    content: "";
    width: 11px;
    height: 11px;
    top: 3px;                  /* perfect centering in 17px */
    background-color: #555;    /* filled color when active */
    opacity: 0;
    transform: translateX(-50%) scale(0.5);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

/* Show inner dot ONLY when radio is checked */
.VA-exploratory-survey .radio-item input[type="radio"]:checked + label::after {
    opacity: 1;
    transform: translateX(-50%) scale(1);
}

/* --- Mobile version --- */
@media (max-width: 992px) {

  /* Each UL takes full width */
  .VA-exploratory-survey ul {
      width: 100% !important;
      margin: 0 auto 0.75rem auto;
      display: block;
  }

  /* Each answer becomes a row */
  .VA-exploratory-survey .radio-item {
      padding: 0.5em 0.5em;
  }

  /* Label: bullet on the left, text on the right */
  .VA-exploratory-survey .radio-item label {
      display: inline-block;
      padding-top: 0;          /* no extra space above */
      padding-left: 25px;      /* room for the 17px circle + gap */
      margin: 0;
      text-align: left;
      position: relative;
  }

  /* Reposition bullets from centered-above to left-of-text */
  .VA-exploratory-survey .radio-item label::before,
  .VA-exploratory-survey .radio-item label::after {
      left: 0;
      transform: none;         /* cancel translateX(-50%) */
      margin-left: 0;
  }
  
  /* Inner circle: base (hidden by default) */
.VA-exploratory-survey .radio-item label::after {
    transform: translateX(25%) scale(0.5);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

/* Show inner dot ONLY when radio is checked */
.VA-exploratory-survey .radio-item input[type="radio"]:checked + label::after {
    opacity: 1;
    transform: translateX(25%) scale(1);
}


  /* “Other” line: keep layout readable on small screens */
  .VA-exploratory-survey ul:has(.othertext-label-checkox-container) {
      width: 100% !important;
      margin: 0 auto;
  }

  .VA-exploratory-survey .radio-text-item {
      flex-wrap: wrap;
  }

  .VA-exploratory-survey .radio-text-item .othertext-label-checkox-container {
      margin-bottom: 0.5rem;
  }
}

/* ------------ Eliane's expert survey to rate items relevance) ------------ */

/* ARRAY QUESTIONS */

/* Identify unanswered lines */

tr.ls-error-mandatory th.answertext span.fa {
    /* placeholder styles for injected icon; keep minimal to avoid linter empty-rule */
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    vertical-align: middle;
}

tr.ls-error-mandatory th.answertext {
    color: white;
    background-color:rgba(231,76,60,1) !important;
}





/* Scrollable table */

.scrolling-table .ls-table-wrapper {
    display: inline-block;
    height: 30em;
    overflow-y: scroll;
}

.scrolling-table .table-array-radio thead th {
    background-color: white;
    position: sticky;
    top: 0;
    z-index: 10000;
    hyphens: none;
}

.scrolling-table .table-array-radio thead th::after, .scrolling-table .table-array-radio thead th::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px; /* Thickness of the border */
    background-color: black; /* Color of the border */
}

.scrolling-table .table-array-radio thead th::before{top: 0;}
.scrolling-table .table-array-radio thead th::after{bottom: 0;}

.scrolling-table .table-array-radio thead th.empty-header {
    width: auto; /* Adjust width for the empty header cell */
}
