/* ====== Css Vars ===== */
:root {
  --tblr-primary: var(--tblr-blue);
  --tblr-primary-rgb: var(--tblr-blue-rgb);
  --tblr-primary-fg: var(--tblr-light);
  --tblr-primary-darken: var(--tblr-blue-darken);
  --tblr-primary-lt: var(--tblr-blue-lt);
  --tblr-primary-lt-rgb: var(--tblr-blue-lt-rgb);
  /* --tblr-secondary: #6c7a91;
  --tblr-secondary-rgb: 108, 122, 145;
  --tblr-secondary-fg: var(--tblr-light);
  --tblr-secondary-darken: #616e83;
  --tblr-secondary-lt: #f0f2f4;
  --tblr-secondary-lt-rgb: 240, 242, 244; */
  /* --tblr-success: #2fb344;
  --tblr-success-rgb: 47, 179, 68;
  --tblr-success-fg: var(--tblr-light);
  --tblr-success-darken: #2aa13d;
  --tblr-success-lt: #eaf7ec;
  --tblr-success-lt-rgb: 234, 247, 236; */
  --tblr-info: var(--tblr-azure);
  --tblr-info-rgb: var(--tblr-azure-rgb);
  --tblr-info-fg: var(--tblr-light);
  --tblr-info-darken: var(--tblr-azure-darken);
  --tblr-info-lt: var(--tblr-azure-lt);
  --tblr-info-lt-rgb: var(--tblr-azure-lt-rgb);
  --tblr-warning: var(--tblr-orange);
  --tblr-warning-rgb: var(--tblr-orange-rgb);
  --tblr-warning-fg: var(--tblr-light);
  --tblr-warning-darken: var(--tblr-orange-darken);
  --tblr-warning-lt: var(--tblr-orange-lt);
  --tblr-warning-lt-rgb: var(--tblr-orange-lt-rgb);
  /* --tblr-danger: #d63939;
  --tblr-danger-rgb: 214, 57, 57;
  --tblr-danger-fg: var(--tblr-light);
  --tblr-danger-darken: #c13333;
  --tblr-danger-lt: #fbebeb;
  --tblr-danger-lt-rgb: 251, 235, 235;
  --tblr-light: #f6f8fb;
  --tblr-light-rgb: 246, 248, 251;
  --tblr-light-fg: var(--tblr-dark);
  --tblr-light-darken: #dddfe2;
  --tblr-light-lt: #fefeff;
  --tblr-light-lt-rgb: 254, 254, 255;
  --tblr-dark: #182433;
  --tblr-dark-rgb: 24, 36, 51;
  --tblr-dark-fg: var(--tblr-light);
  --tblr-dark-darken: #16202e;
  --tblr-dark-lt: #e8e9eb;
  --tblr-dark-lt-rgb: 232, 233, 235;
  --tblr-muted: #6c7a91;
  --tblr-muted-rgb: 108, 122, 145;
  --tblr-muted-fg: var(--tblr-light);
  --tblr-muted-darken: #616e83;
  --tblr-muted-lt: #f0f2f4;
  --tblr-muted-lt-rgb: 240, 242, 244; */
  --tblr-blue: #223461;
  --tblr-blue-rgb: 34, 52, 97;
  --tblr-blue-fg: var(--tblr-light);
  --tblr-blue-darken: #1b294b;
  --tblr-blue-lt: #dfebf8;
  --tblr-blue-lt-rgb: 223, 235, 248;
  --tblr-azure: #337dd4;
  --tblr-azure-rgb: 51, 125, 212;
  --tblr-azure-fg: var(--tblr-light);
  --tblr-azure-darken: #245790;
  --tblr-azure-lt: #d6e4f5;
  --tblr-azure-lt-rgb: 214, 228, 245;
  /* --tblr-indigo: #4263eb;
  --tblr-indigo-rgb: 66, 99, 235;
  --tblr-indigo-fg: var(--tblr-light);
  --tblr-indigo-darken: #3b59d4;
  --tblr-indigo-lt: #eceffd;
  --tblr-indigo-lt-rgb: 236, 239, 253; */
  /* --tblr-purple: #ae3ec9;
  --tblr-purple-rgb: 174, 62, 201;
  --tblr-purple-fg: var(--tblr-light);
  --tblr-purple-darken: #9d38b5;
  --tblr-purple-lt: #f7ecfa;
  --tblr-purple-lt-rgb: 247, 236, 250;
  --tblr-pink: #d6336c;
  --tblr-pink-rgb: 214, 51, 108;
  --tblr-pink-fg: var(--tblr-light);
  --tblr-pink-darken: #c12e61;
  --tblr-pink-lt: #fbebf0;
  --tblr-pink-lt-rgb: 251, 235, 240;
  --tblr-red: #d63939;
  --tblr-red-rgb: 214, 57, 57;
  --tblr-red-fg: var(--tblr-light);
  --tblr-red-darken: #c13333;
  --tblr-red-lt: #fbebeb;
  --tblr-red-lt-rgb: 251, 235, 235; */
  --tblr-orange: #ec9509;
  --tblr-orange-rgb: 236, 149, 9;
  --tblr-orange-fg: var(--tblr-light);
  --tblr-orange-darken: #9f6302;
  --tblr-orange-lt: #fcedd4;
  --tblr-orange-lt-rgb: 252, 237, 212;
  /* --tblr-yellow: #f59f00;
  --tblr-yellow-rgb: 245, 159, 0;
  --tblr-yellow-fg: var(--tblr-light);
  --tblr-yellow-darken: #dd8f00;
  --tblr-yellow-lt: #fef5e6;
  --tblr-yellow-lt-rgb: 254, 245, 230; */
  /* --tblr-lime: #74b816;
  --tblr-lime-rgb: 116, 184, 22;
  --tblr-lime-fg: var(--tblr-light);
  --tblr-lime-darken: #68a614;
  --tblr-lime-lt: #f1f8e8;
  --tblr-lime-lt-rgb: 241, 248, 232;
  --tblr-green: #2fb344;
  --tblr-green-rgb: 47, 179, 68;
  --tblr-green-fg: var(--tblr-light);
  --tblr-green-darken: #2aa13d;
  --tblr-green-lt: #eaf7ec;
  --tblr-green-lt-rgb: 234, 247, 236;
  --tblr-teal: #0ca678;
  --tblr-teal-rgb: 12, 166, 120;
  --tblr-teal-fg: var(--tblr-light);
  --tblr-teal-darken: #0b956c;
  --tblr-teal-lt: #e7f6f2;
  --tblr-teal-lt-rgb: 231, 246, 242; */
  --tblr-cyan: #77c9db;
  --tblr-cyan-rgb: 119, 201, 219;
  --tblr-cyan-fg: var(--tblr-light);
  --tblr-cyan-darken: rgb(11, 72, 81);
  --tblr-cyan-lt: #e0f5fa;
  --tblr-cyan-lt-rgb: 224, 245, 250;

  --tblr-font-sans-serif: "Inter", sans-serif;

  /* set bootstrap vars for plugins */
  --bs-body-bg: var(--tblr-body-bg);
  --bs-border-color-translucent: var(--tblr-border-color-translucent);
  --bs-border-radius: var(--tblr-border-radius);
  --bs-border-width: var(--tblr-border-width);

  /* Altcha variables */
  --altcha-border-width: var(--tblr-border-width);
  --altcha-border-radius: var(--tblr-border-radius);
  --altcha-color-base: #ffffff;
  --altcha-color-border: var(--tblr-border-color-translucent);
  --altcha-color-text: currentColor;
  --altcha-color-border-focus: currentColor;
  --altcha-color-error-text: var(--tblr-danger);
  --altcha-color-footer-bg: var(--tblr-light);
  --altcha-max-width: 260px;
}

body {
  font-optical-sizing: auto;
}

/* [data-bs-theme="dark"],
body[data-bs-theme="dark"] [data-bs-theme="light"] {
  --tblr-bg-surface: var(--tblr-primary);
} */

.navbar-horizontal-wrap .navbar-nav {
  flex-wrap: wrap;
}

.navbar-toggler {
  --tblr-navbar-color: var(--tblr-light);
}

/* ====== Global ===== */
.container-narrow {
  max-width: 60rem;
}

.header-dots svg {
  --tblr-icon-size: 45px;
}
.footer-dots svg {
  --tblr-icon-size: 20px;
}
.pdf-viewer {
  width: 100%;
  aspect-ratio: 3/4;
}

.first-char-underlined::first-letter {
    text-decoration: underline;
}

/* ====== statuses ===== */
.status {
  --tblr-status-height: auto;
}

.table .status {
  text-overflow: ellipsis;
  overflow: hidden;
  display: inline-block;
  max-width: 200px;
  white-space: nowrap;
}

/* ====== icons ===== */
.icon g,
.icon path {
  stroke-width: 1.5;
}

/* ====== buttons ===== */
.btn {
  --tblr-shadow-button: 0 1px 0 rgba(var(--tblr-body-color-rgb), 0.04);
  --tblr-shadow-button-inset: inset 0 -1px 0
    rgba(var(--tblr-body-color-rgb), 0.2);
  --tblr-btn-box-shadow:
    var(--tblr-shadow-button), var(--tblr-shadow-button-inset);
}
.btn:not(.btn-icon):not(.btn-action) > .icon:last-child {
  margin: 0 calc(var(--tblr-btn-padding-x) / -4) 0
    calc(var(--tblr-btn-padding-x) / 2);
}
.btn.btn-sidebar {
  text-transform: uppercase;
  justify-content: start;
  width: 100%;
}
.btn.btn-sidebar > .icon:last-child {
  margin-left: auto;
}

.btn-group-sm > .btn,
.btn-sm {
  --tblr-btn-font-size: 0.875rem;
  --tblr-btn-icon-size: 0.875rem;
  --tblr-btn-padding-y: 0.25rem;
  --tblr-btn-padding-x: 0.5rem;
  --tblr-btn-border-radius: var(--tblr-border-radius);
}

.btn-group-lg > .btn,
.btn-lg {
  --tblr-btn-font-size: 1.1rem;
  --tblr-btn-icon-size: 1.5rem;
}

.btn-parcoursup .icon-parcoursup {
  width: 7rem;
}

/* fix an issue where svg buttons would shrink too much in a table's TD */
.table .btn-list svg {
  max-width: max-content;
}
.card > .table-responsive {
  border-radius: var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0;
}

/* ====== forms ===== */
form.loading,
turbo-frame[busy] {
  pointer-events: none;
  transition: opacity 0.2s;
  opacity: 0.5;
}

.ts-control {
  padding-top: 0.5625rem !important;
  padding-bottom: 0.5625rem !important;
}

.ts-dropdown,
.ts-dropdown.form-control,
.ts-dropdown.form-select {
  z-index: 99999 !important;
}

.form-check-input[type="radio"] + .form-check-label.required::after,
.form-check-input[type="checkbox"] + .form-check-label.required::after {
  display: none;
}

.bg-checked-danger:checked {
  background-color: var(--tblr-danger);
}

/* ====== toast ===== */
.toast {
  --tblr-toast-bg: white;
}

/* ===== accordion ===== */
.accordion-button {
  --tblr-accordion-btn-padding-y: 0.5rem;
  --tblr-accordion-btn-padding-x: 0.75rem;
}
