/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Utils/CardFilter/CardFilter.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
.smcq-card-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  padding: 2em 0px;
  gap: var(--smcq-gap-12);
  /* Reset agressif : neutralise tout style de thème (bouton/input/select
     héritent souvent de règles globales très permissives comme
     `input, select { ... }` ou `a { color: ... !important }`). On
     redéclare chaque propriété visuelle explicitement avec !important
     pour garantir que nos styles dominent, peu importe la spécificité
     ou l'ordre de chargement du CSS du thème. */
}
.smcq-card-filter input,
.smcq-card-filter select {
  all: unset;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  background-color: var(--smcq-bg-card) !important;
  color: var(--smcq-text-secondary) !important;
  font-family: var(--smcq-font-body) !important;
  font-weight: var(--smcq-fw-regular) !important;
  line-height: var(--smcq-lh-normal) !important;
  border: var(--smcq-border-card) !important;
  border-radius: var(--smcq-radius-sm) !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  cursor: pointer;
  position: relative;
  z-index: 1;
}
.smcq-card-filter input:focus,
.smcq-card-filter select:focus {
  border-color: var(--smcq-color-cta) !important;
}
.smcq-card-filter__search-input {
  padding: var(--smcq-sp-8) var(--smcq-sp-12) !important;
  font-size: var(--smcq-fs-13) !important;
  min-width: 220px;
  cursor: text !important;
  flex: 1 !important;
  height: unset !important;
}
.smcq-card-filter__selects {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  flex: 1;
  gap: var(--smcq-gap-8);
}
.smcq-card-filter__select {
  padding: var(--smcq-sp-8) var(--smcq-sp-32) var(--smcq-sp-8) var(--smcq-sp-12) !important;
  font-size: var(--smcq-fs-12) !important;
  min-width: 160px;
  /* Flèche personnalisée (le rendu natif du navigateur est neutralisé
     par `appearance: none` ci-dessus) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2710%27 height=%276%27 viewBox=%270 0 10 6%27 fill=%27none%27%3E%3Cpath d=%27M1 1L5 5L9 1%27 stroke=%27%23475569%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right var(--smcq-sp-12) center !important;
}
/*!*********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Containers/Simple/Simple.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************/
.smcq-card--simple {
  display: flex;
}
.smcq-card--simple .smcq-card--simple__main-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.smcq-card--simple .smcq-card-body {
  width: 100%;
  align-items: flex-start;
}
.smcq-card--simple .smcq-card-spacer {
  width: 100%;
  height: 1em;
}
.smcq-card--simple .smcq-card-spacer-sm {
  width: 100%;
  height: 0.5em;
}
.smcq-card--simple .smcq-card-header {
  width: 3em;
  width: clamp(2.5em, 35%, 4.5em);
  position: relative;
  overflow: hidden;
}
.smcq-card--simple .smcq-card-header .smcq-type-icon {
  z-index: 1;
}
.smcq-card--simple .smcq-card-footer__separator {
  padding: 0 var(--smcq-sp-20);
  width: 100%;
}
.smcq-card--simple .smcq-card-footer__separator div {
  border-top: var(--smcq-border-card);
}
.smcq-card--simple .smcq-card--tag-list {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}
/*!**********************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Utils/Tag/Tag.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************/
.smcq-card--tag {
  font-size: var(--smcq-fs-11);
  /* background-color:   var(--smcq-bg-subtle); */
  color: #475569;
  margin: 0;
  letter-spacing: var(--smcq-ls-label);
  padding: 0 0.5em;
  border-radius: 0.5em;
  display: flex;
  gap: 0.5rem;
}
.smcq-card--tag .smcq-card--tag__icon {
  height: 100%;
  width: 1em;
  margin-top: 0.25em;
  stroke: #475569;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Containers/Full/Full.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ============================================================
   FULL CARD
   Richer grid card — all available info
   ============================================================ */
.smcq-card--full .smcq-card-title {
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-18);
  font-weight: var(--smcq-fw-bold);
  line-height: 1.2;
  color: var(--smcq-text-primary);
  margin: 0 0 0.75em 0;
}
.smcq-card--full .smcq-card--description-tag-container {
  display: flex;
  gap: 1em;
  gap: max(1em, 5%);
  justify-content: space-between;
  flex-wrap: wrap;
}
.smcq-card--full .smcq-card-description {
  font-size: var(--smcq-fs-13);
  /* line-height: var(--smcq-lh-relaxed); */
  color: var(--smcq-text-secondary);
  margin: 0;
  max-width: 80ch;
}
.smcq-card--full .smcq-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--smcq-gap-6);
  align-items: center;
}
.smcq-card--full .smcq-card-label {
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-11);
  font-weight: var(--smcq-fw-semibold);
  color: var(--smcq-text-tertiary);
  letter-spacing: var(--smcq-ls-label);
  text-transform: uppercase;
  margin: 0;
}
.smcq-card--full.smcq-card--span-2 {
  grid-column: span 2;
}
@media (max-width: 768px) {
  .smcq-card--full.smcq-card--span-2 {
    grid-column: span 1;
  }
}
.smcq-card--full.smcq-card--span-3 {
  grid-column: span 3;
}
@media (max-width: 1024px) {
  .smcq-card--full.smcq-card--span-3 {
    grid-column: span 2;
  }
}
@media (max-width: 768px) {
  .smcq-card--full.smcq-card--span-3 {
    grid-column: span 1;
  }
}
.smcq-card--full .smcq-type-icon {
  position: absolute;
  width: 2em; /* 36px */
  height: 2em; /* 36px */
  opacity: 0.65;
}
.smcq-card--full .smcq-btn-consult {
  align-items: center;
  border: none;
  border-radius: var(--smcq-radius-base);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-14);
  font-weight: var(--smcq-fw-semibold);
  gap: var(--smcq-gap-4);
  padding: var(--smcq-sp-8) var(--smcq-sp-20);
  text-decoration: none;
  transition: background 0.15s ease;
  white-space: nowrap;
}
.smcq-card--full h5 {
  margin: 0;
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-14, 1em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
  margin-bottom: 1em;
}
.smcq-card--full .smcq-card-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--smcq-sp-16) var(--smcq-sp-20);
}
.smcq-card--full .separater {
  padding: 0 var(--smcq-sp-20);
  width: 100%;
}
.smcq-card--full .separater::after {
  content: "";
  display: block;
  width: 100%;
  border-top: 0.1em solid #e4e4e4;
}
.smcq-card--full .smcq-card--full__cover-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  position: relative;
}
.smcq-card--full .smcq-card--full__cover-icon .smcq-type-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5em;
  height: 2.5em;
  opacity: 0.85;
}
.smcq-card--full .smcq-card--full__cover-icon .smcq-type-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.smcq-card--full .smcq-card--full__cover-icon .smcq-type-icon svg path {
  stroke: var(--smcq-type-active-badge-text);
}
.smcq-card--full .smcq-card--tag-list {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-6);
}
.smcq-card--full .smcq-card--tag-list .smcq-card--tag {
  flex: unset;
}
.smcq-card--full .smcq-card--full__entity-content {
  margin-top: var(--smcq-gap-8);
  font-size: 0.85em;
}
.smcq-card--full .smcq-card-meta {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-6);
  margin-top: var(--smcq-gap-8);
}
.smcq-card--full .smcq-card-label a {
  color: var(--smcq-color-cta);
  text-decoration: underline;
  margin-left: var(--smcq-gap-4);
}
.smcq-card--full .smcq-card-body-header {
  display: flex;
  gap: 1.5em;
  margin: 0.25em 0 0.75em 0;
  margin: max(0.25em, 2%) 0 0.75em 0;
}
.smcq-card--full .smcq-card-body-header__img-container {
  max-width: 13em;
  border-radius: var(--smcq-radius-lg);
  overflow: hidden;
  box-shadow: var(--smcq-shadow-md);
  position: relative;
}
/* ============================================================
   FULL VIEW
   Full-page presentation — no card shell
   ============================================================ */
.smcq-full {
  width: 100%;
  font-family: var(--smcq-font-body);
  color: var(--smcq-text-secondary);
  max-width: 66.25em; /* 1060px — laisse la place à la colonne de gauche */
  margin: 8em auto;
  margin-top: max(22vh, 12em);
}
.smcq-full__sub-entity-container {
  margin: 0;
}
.smcq-full h5 {
  margin: 0;
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-14, 1em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
  margin-bottom: 1em;
}
.smcq-full__main-section {
  display: grid;
  grid-template-columns: minmax(0, 18em) minmax(0, 1fr);
  gap: var(--smcq-gap-32);
  align-items: start;
}
.smcq-full__header {
  padding: 1.5em 0px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.smcq-full__ressources-link {
  font-weight: var(--smcq-fw-bold);
  font-size: var(--smcq-fs-14);
  color: var(--smcq-type-active-badge-text) !important;
  line-height: 1em;
}
.smcq-full__ressources-link .smcq-full__ressources-link--text {
  border-bottom: 0.15em solid color-mix(in srgb, var(--smcq-type-active-badge-text) 0%, transparent);
  line-height: 1em;
}
.smcq-full__ressources-link > .arrow {
  display: inline-block;
  transform: scaleX(-1);
  transform-origin: center center;
  transition: 0.3s ease-in-out !important;
  line-height: 1em;
}
.smcq-full__ressources-link:hover > .arrow {
  transform: scaleX(-1) translateX(0.5em);
}
.smcq-full__ressources-link:hover > .smcq-full__ressources-link--text {
  border-bottom: 0.15em solid var(--smcq-type-active-badge-text);
}
.smcq-full h1 {
  color: #292929 !important;
  font-weight: 800 !important;
}
@media (max-width: 999px) {
  .smcq-full .smcq-card-body-header__img-container {
    display: none;
  }
}
.links_box {
  border-radius: var(--smcq-radius-lg);
  padding: var(--smcq-sp-12);
  background-color: var(--smcq-type-active-grad-from);
  border: 1px solid var(--smcq-type-active-border);
}
.links_box__title {
  margin-top: 0px;
  margin-bottom: 1em;
  text-transform: uppercase;
  font-weight: var(--smcq-fw-bold);
  font-size: var(--smcq-fs-13);
  color: var(--smcq-type-active-badge-text);
  letter-spacing: var(--smcq-ls-label);
}
.links_box__description {
  font-size: var(--smcq-fs-13);
  color: var(--smcq-text-primary);
  line-height: 1.4em;
  margin: 1em 0;
}
.links_box__button_box {
  display: flex;
  gap: 0.5em;
  flex-wrap: wrap;
}
.links_box__button_box a {
  padding: var(--smcq-sp-8);
  flex: 1;
  min-width: 7em;
  text-align: center;
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-12);
  font-weight: var(--smcq-fw-semibold);
  border-radius: var(--smcq-radius-base);
}
@media (max-width: 40em) {
  .smcq-full {
    grid-template-columns: 1fr;
  }
}
.smcq-full__col-left {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-16);
}
.smcq-full__cover {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: var(--smcq-radius-lg);
  overflow: hidden;
  box-shadow: var(--smcq-shadow-md);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.smcq-full__cover img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.smcq-full__cover .smcq-type-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5em;
  height: 5em;
  opacity: 0.85;
}
.smcq-full__cover .smcq-type-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.smcq-full__cover .smcq-type-icon svg path {
  stroke: var(--smcq-type-active-badge-text);
  /* fill:   var(--smcq-type-active-badge-text); */
}
.smcq-full__cover .smcq-type-icon-fallback {
  width: 5em;
  height: 5em;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0.85;
}
.smcq-full__cover .smcq-type-icon + .smcq-type-icon-fallback {
  display: none;
}
.smcq-full__actions {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-8);
}
.smcq-full__col-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* gap:            var(--smcq-gap-12); */
  min-width: 0;
}
.smcq-full__title {
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-36);
  font-weight: var(--smcq-fw-bold);
  line-height: var(--smcq-lh-tight);
  color: var(--smcq-text-primary);
  margin: 0;
}
.smcq-full__description {
  font-size: var(--smcq-fs-15);
  /* line-height: var(--smcq-lh-relaxed); */
  color: var(--smcq-text-secondary);
  margin: 0;
}
.smcq-full__label {
  font-size: var(--smcq-fs-11);
  font-weight: var(--smcq-fw-semibold);
  color: var(--smcq-text-tertiary);
  letter-spacing: var(--smcq-ls-label);
  text-transform: uppercase;
}
.smcq-full__change-active-entity {
  display: flex;
  align-items: center;
  /* gap: var(--smcq-gap-8); */
  gap: 0.2em;
  margin-top: 1.5em;
}
.smcq-full__change-active-entity--arrow {
  display: grid;
  place-items: center;
  width: 1.75em;
  height: 1.75em;
  padding: 0;
  border-radius: 50%;
  background: #c9c9c9;
  color: var(--smcq-type-active-badge-text);
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}
.smcq-full__change-active-entity--arrow .arrow {
  display: inline-block;
  transform: scaleX(-1);
  line-height: 1em;
}
.smcq-full__change-active-entity--arrow-next .arrow {
  transform: scaleX(1);
}
.smcq-full__change-active-entity--arrow:hover {
  background: var(--smcq-type-active-grad-to);
}
.smcq-full__change-active-entity--counter {
  font-size: var(--smcq-fs-13);
  font-weight: var(--smcq-fw-bold);
  color: var(--smcq-text-tertiary);
  min-width: 3em;
  text-align: center;
}
.composer-kit--container {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  margin: 2em 0px;
}
.composer-kit--container > div {
  min-width: 200px;
}
.composer-kit--container .composer-kit--container__items {
  font-size: var(--smcq-fs-14);
}
.composer-kit--title {
  color: var(--smcq-text-secondary);
  text-transform: uppercase;
  font-weight: var(--smcq-fw-extrabold);
  font-size: var(--smcq-fs-13);
  letter-spacing: var(--smcq-ls-label);
}
.smcq-full__section {
  width: 100%;
  /* padding-top:   var(--smcq-sp-32); */
}
.smcq-full__section-title {
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-18);
  font-weight: var(--smcq-fw-extrabold);
  color: var(--smcq-text-primary);
  letter-spacing: var(--smcq-ls-label);
  text-transform: uppercase;
  text-align: start;
}
.smcq-full__btn-primary {
  display: inline-flex;
  align-items: center;
  gap: var(--smcq-gap-8);
  padding: var(--smcq-sp-10) var(--smcq-sp-20);
  background: var(--smcq-color-cta);
  color: #ffffff;
  border: none;
  border-radius: var(--smcq-radius-base);
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-14);
  font-weight: var(--smcq-fw-semibold);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease;
}
.smcq-full__btn-primary:hover {
  background: #2563EB;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Full/ComicBook_Full/ComicBook_Full.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-full__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Single/ComicBook_Single/ComicBook_Single.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-single__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Full/Karaoke_Full/Karaoke_Full.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-karaoke-full {
  width: 100%;
}
/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Utils/karaoke/KaraokeReader.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
.smcq-card--full .smcq-karaoke-reader__item-action h5 {
  margin: 0;
}
.smcq-karaoke-reader-wrapper {
  width: 100%;
}
.smcq-karaoke-reader__list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}
.smcq-karaoke-reader__list-item {
  margin: 0;
}
.smcq-karaoke-reader__item-action {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.smcq-karaoke-reader__item-action button {
  display: inline-flex;
  background-color: var(--smcq-type-active-badge-text);
  align-items: center;
  gap: 0.5rem;
  padding: 0.4em 0.85em;
  font-size: var(--smcq-fs-12, 0.85rem);
  border-radius: var(--smcq-radius-base, 6px);
  text-decoration: none;
  cursor: pointer;
  transition: 0.2s ease-in-out;
}
.smcq-karaoke-reader__item-action button.karaoke-play-btn-circle {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
}
.smcq-karaoke-reader__item-action button:hover {
  background-color: var(--smcq-type-active-grad-from);
  color: var(--smcq-type-active-badge-text) !important;
}
.smcq-karaoke-reader__track-list-title {
  font-size: var(--smcq-fs-11, 0.85rem);
  font-weight: var(--smcq-fw-bold, 700);
  color: var(--smcq-text-tertiary);
  margin: 0.25em 0 0;
  text-transform: uppercase;
}
.smcq-karaoke-reader__track-list {
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  font-size: var(--smcq-fs-12, 0.85rem);
  color: var(--smcq-text-secondary);
}
.smcq-karaoke-reader__track-list li {
  margin: 0.25em 0.25em 0 0;
}
.smcq-karaoke-reader__track-list {
  /*     li:first-of-type:before {
          content: '♪ ';
      } */
}
/* Modal Overlay pour l'application Karaoké */
.smcq-karaoke-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.smcq-karaoke-modal-backdrop #main.smcq-karaoke-modal {
  position: relative;
  top: auto;
  left: auto;
  width: 95vw;
  max-width: 1300px;
  height: 90vh;
  margin: 0;
  display: block !important;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.smcq-karaoke-modal__close-btn {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 130;
  background: var(--smcq-type-active-badge-text, #9D174D);
  color: #ffffff;
  border: 0;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, transform 0.15s ease;
}
.smcq-karaoke-modal__close-btn:hover {
  transform: scale(1.08);
  background: #000;
}
/* Styles pour la barre de progression et le conteneur du lecteur karaoké */
#barContener {
  margin: auto;
  overflow: hidden;
  cursor: pointer;
  position: relative;
}
.progress {
  height: 30px;
  margin-bottom: 20px;
  overflow: hidden;
  background-color: #f5f5f5;
  border-radius: 4px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 30px;
  color: #fff;
  text-align: center;
  background-color: #FF8F8F;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  transition: width 0.6s ease;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Single/Karaoke_Single/Karaoke_Single.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-karaoke-single {
  width: 100%;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Full/MusicSheet_Full/MusicSheet_Full.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-full__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Single/MusicSheet_Single/MusicSheet_Single.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-single__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Full/Playlist_Full/Playlist_Full.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-playlist-full {
  width: 100%;
}
/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Single/Playlist_Single/Playlist_Single.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-playlist-single {
  width: 100%;
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Full/Poster_Full/Poster_Full.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
.smcq-full__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Single/Poster_Single/Poster_Single.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-single__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Full/TeachingGuide_Full/TeachingGuide_Full.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-full__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
.smcq-full__section__teaching-activity__sub_activities_container {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
}
.smcq-full__section__teaching-activity__sub_activities_container > * {
  min-width: 200px;
}
.smcq-full__section__teaching-activity__sub_activities_container > :nth-child(1) {
  flex: 1;
}
.smcq-full__section__teaching-activity__sub_activities_container > :nth-child(2) {
  flex: auto;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Utils/VideosReader/VideosReader.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
.smcq-videos-reader {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  margin-top: 1em;
}

.smcq-videos-reader__featured-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  max-width: 42em;
}

.smcq-videos-reader__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.smcq-videos-reader__grid-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

.smcq-videos-reader__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: var(--smcq-radius-lg, 10px);
  overflow: hidden;
  background: #000;
}

.smcq-videos-reader__player {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  border: 0;
  background: #000;
  -o-object-fit: contain;
     object-fit: contain;
}

.smcq-videos-reader__title {
  margin: 0.25rem 0 0;
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-16, 1em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
}

.smcq-videos-reader__featured-item .smcq-videos-reader__title {
  font-size: var(--smcq-fs-18, 1.15rem);
}

.smcq-videos-reader__description {
  margin: 0;
  color: var(--smcq-text-secondary);
  font-size: var(--smcq-fs-13, 0.9rem);
  line-height: 1.4;
}

/* Mode C: Liste */

.smcq-videos-reader__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.smcq-videos-reader__list-item {
  cursor: pointer;
  border-radius: var(--smcq-radius-lg);
  outline: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.smcq-videos-reader__list-item .smcq-inner-section__title {
  font-size: var(--smcq-fs-13, 1em);
}

.smcq-videos-reader__list-item .smcq-inner-section {
  border: 1px solid transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.smcq-videos-reader__list-item:hover .smcq-inner-section, .smcq-videos-reader__list-item:focus-visible .smcq-inner-section {
  border-color: var(--smcq-type-active-border);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.smcq-videos-reader__list-item--active .smcq-inner-section {
  background-color: var(--smcq-type-active-grad-from);
  border: 1px solid var(--smcq-type-active-border);
}

.smcq-videos-reader__list-action {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

.smcq-videos-reader__list-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--smcq-fs-12, 0.85rem);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-type-active-badge-text);
}

.smcq-videos-reader__list-btn svg {
  width: 0.85rem;
  height: 0.85rem;
  fill: currentColor;
}

/* Adaptations mobiles */

@media (max-width: 767px) {
  .smcq-videos-reader__grid {
    grid-template-columns: 1fr;
  }
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Utils/OnlineDigitalActivity/OnlineDigitalActivity.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-online-digital-activity {
  display: flex;
  flex-direction: column;
}
.smcq-online-digital-activity__title {
  margin: 0;
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-14, 1em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
  margin-bottom: 0.5em;
}
.smcq-online-digital-activity__container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75em;
  align-items: center;
}
.smcq-online-digital-activity__item {
  display: inline-flex;
  align-items: center;
  gap: 0.75em;
  padding: 0.5em 0.85em;
  background-color: var(--smcq-type-active-grad-from);
  border: 1px solid var(--smcq-type-active-border);
  border-radius: var(--smcq-radius-sm, 12px);
  text-decoration: none !important;
  color: var(--smcq-text-primary);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.smcq-online-digital-activity__item:hover, .smcq-online-digital-activity__item:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.smcq-online-digital-activity__item:hover .smcq-online-digital-activity__redirect-btn, .smcq-online-digital-activity__item:focus-visible .smcq-online-digital-activity__redirect-btn {
  background-color: var(--smcq-type-active-grad-to);
}
.smcq-online-digital-activity__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--smcq-type-active-badge-text);
}
.smcq-online-digital-activity__icon svg {
  width: 1.25em;
  height: 1.25em;
}
.smcq-online-digital-activity__name {
  font-size: var(--smcq-fs-13, 0.9em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
  line-height: 1.2;
}
.smcq-online-digital-activity__redirect-btn {
  display: grid;
  place-items: center;
  flex: 0 0 2em;
  width: 2em;
  height: 2em;
  padding: 0;
  color: #ffffff;
  background-color: var(--smcq-type-active-badge-text);
  border-radius: 50%;
  transition: background-color 0.15s ease;
}
.smcq-online-digital-activity__redirect-btn svg {
  width: 0.75em;
  height: 0.75em;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Single/TeachingGuide_Single/TeachingGuide_Single.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-single__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
.smcq-single__section__teaching-activity__sub_activities_container {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
}
.smcq-single__section__teaching-activity__sub_activities_container > * {
  min-width: 200px;
}
.smcq-single__section__teaching-activity__sub_activities_container > :nth-child(1) {
  flex: 1;
}
.smcq-single__section__teaching-activity__sub_activities_container > :nth-child(2) {
  flex: auto;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Full/VideoClips_Full/VideoClips_Full.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/

/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Single/VideoClips_Single/VideoClips_Single.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/

/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Full/WebApp_Full/WebApp_Full.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
.smcq-web-app-full {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.smcq-web-app-full__iframe {
  width: 100%;
  min-height: min(80vh, 30em);
  border: 0;
  border-radius: 8px;
}

.smcq-web-app-full__videos {
  width: 100%;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Entities/Single/WebApp_Single/WebApp_Single.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.smcq-web-app-single {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.smcq-web-app-single__iframe {
  width: 100%;
  min-height: min(80vh, 30em);
  border: 0;
  border-radius: 8px;
}

.smcq-web-app-single__videos {
  width: 100%;
}
/*!******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Utils/Spinner/Spinner.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
.smcq-spinner {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  max-width: 200px;
  margin: 0 auto;
}
.smcq-spinner__loading-text {
  text-align: center;
}
.smcq-spinner__icon-wrapper {
  position: absolute;
  width: 45%;
  height: 45%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0.8) translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  color: inherit;
}
.smcq-spinner__icon-wrapper--active {
  opacity: 1;
  transform: scale(1) translateY(0);
}
.smcq-spinner__icon {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.smcq-spinner__icon svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}
/* Ombre sous l'icône (pseudo-élément ::after du wrapper) */
.smcq-spinner__icon-wrapper::after {
  content: "";
  position: absolute;
  bottom: -2em;
  left: 50%;
  transform: translateX(-50%);
  width: 250%;
  height: 3em;
  background: radial-gradient(ellipse at center, currentColor 0, transparent 60%);
  opacity: 0;
  border-radius: 50%;
  transition: opacity 0.4s ease;
  filter: opacity(0.2);
}
.smcq-spinner__icon-wrapper--active::after {
  opacity: 1;
}
/* Fallback : if color not available, use a neutral color */
.smcq-spinner__icon-wrapper {
  color: #666;
}
/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/components/Containers/ResourceGrid/ResourceGrid.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ResourceGrid - Composant moderne et unifié pour affichage en grille */
.smcq-resource-grid {
  display: flex;
  flex-direction: column;
  min-height: 50vh;
  margin-bottom: 2em;
  gap: var(--smcq-gap-24);
  /* En-tête personnalisé optionnel */
}
.smcq-resource-grid__header {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-12);
}
.smcq-resource-grid {
  /* Barre d'outils (filtres + toggle vue) */
}
.smcq-resource-grid__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--smcq-gap-16);
  position: relative;
}
.smcq-resource-grid__toolbar * {
  z-index: 1;
  position: relative;
}
.smcq-resource-grid__toolbar .grey_gb {
  position: absolute;
  left: 50%;
  background-color: #F8FAFC;
  width: 100vw;
  height: 100%;
  padding: 1em;
  transform: translateX(-50%);
  z-index: 0;
}
.smcq-resource-grid {
  /* Toggle entre vue simple et vue détaillée */
}
.smcq-resource-grid__view-toggle {
  display: flex;
  gap: var(--smcq-gap-8);
  flex-shrink: 0;
}
.smcq-resource-grid__view-btn {
  padding: var(--smcq-sp-6) var(--smcq-sp-12);
  border: var(--smcq-border-card);
  border-radius: var(--smcq-radius-base);
  background: var(--smcq-bg-card);
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-13);
  font-weight: var(--smcq-fw-semibold);
  color: var(--smcq-text-secondary);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.smcq-resource-grid__view-btn.is-active {
  background: var(--smcq-color-cta);
  color: #ffffff;
  border-color: var(--smcq-color-cta);
}
.smcq-resource-grid__view-btn:hover:not(.is-active) {
  border-color: var(--smcq-text-tertiary);
}
.smcq-resource-grid {
  /* Messages d'état */
}
.smcq-resource-grid__empty, .smcq-resource-grid__error {
  text-align: center;
  padding: var(--smcq-sp-32) 0;
}
.smcq-resource-grid__error {
  background: rgba(255, 0, 0, 0.05);
  padding: var(--smcq-sp-24);
  border-radius: var(--smcq-radius-base);
  border: 1px solid rgba(255, 0, 0, 0.2);
}
.smcq-resource-grid--loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.smcq-resource-grid--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 150px;
}
.smcq-resource-grid--error {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.smcq-resource-grid--loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
}
.smcq-resource-grid {
  /* Conteneur du spinner de chargement */
}
.smcq-resource-grid__spinner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--smcq-gap-16);
  max-width: 200px;
}
.smcq-resource-grid {
  /* Info de débogage en bas */
}
.smcq-resource-grid__info {
  text-align: right;
  padding-top: var(--smcq-gap-16);
  border-top: 1px solid var(--smcq-border-color);
}
/* Réutiliser les grilles existantes */
.smcq-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--smcq-gap-24);
  align-items: start;
}
@media (max-width: 1024px) {
  .smcq-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--smcq-gap-20);
  }
}
@media (max-width: 768px) {
  .smcq-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--smcq-gap-16);
  }
}
@media (max-width: 480px) {
  .smcq-grid {
    grid-template-columns: 1fr;
    gap: var(--smcq-gap-12);
  }
}
.smcq-grid {
  /* Vue détaillée (full) */
}
.smcq-grid--full {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
@media (max-width: 1024px) {
  .smcq-grid--full {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }
}
@media (max-width: 768px) {
  .smcq-grid--full {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
}
@media (max-width: 480px) {
  .smcq-grid--full {
    grid-template-columns: 1fr;
  }
}
.smcq-grid {
  /* Nombre de colonnes fixe (ex: pages compositeur/trousse) ;
     les cartes Full se réduisent automatiquement sur petits écrans */
}
.smcq-grid--cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 768px) {
  .smcq-grid--cols-2 {
    grid-template-columns: 1fr;
  }
}
.smcq-grid--cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1024px) {
  .smcq-grid--cols-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .smcq-grid--cols-3 {
    grid-template-columns: 1fr;
  }
}
.smcq-grid--cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1200px) {
  .smcq-grid--cols-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1024px) {
  .smcq-grid--cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .smcq-grid--cols-4 {
    grid-template-columns: 1fr;
  }
}
/*!*********************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/commons/scss/components.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * Components Styles Bundle
 * Centralizes all component-specific SCSS imports
 * 
 * This file is imported once in each block entry point,
 * ensuring component styles are included in the final CSS bundle.
 * 
 * Add new component styles here as they are created.
 */
/* Container Components */
/** --------  GENERAL BLOCK STYLES --------- **/
* {
  box-sizing: border-box;
}
#main {
    width: 94%;
    margin-left: 3%;
    margin-right: 3%;
    position: fixed;
    z-index: 120;
    overflow: hidden;
    background-color: white;
    top: 0px;
    left: 0px;
    display: none;
}
.conteneur {
    height: auto;
}
.resp {
    float: left;
    position: relative;
}
.notMobile {
    color: white;
}
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
/** -------- HEADER SECTION  --------- **/
#header h1, h3 {
    text-align: center;
}
#header h1 {
    margin-top: 1em;
    font-size: 1.3em;
}
#header {
    float: left;
    height: auto;
    overflow-y: visible;
}
.composer{
    height: 50px;
}
.headerBar {
    margin: 10px 0px 0px 0px;
    padding: 3px;
}
#barContener{
    margin: auto; 
    overflow:hidden;
    cursor: pointer;
}
#progressBar {
    width: 55%;
    margin: auto;
    height: 100px;
    border: grey solid 1px;
}
#work_composer_name{
    font-size: 20px;
    margin-top:0px;
}
.progress {
    height: 30px;
}
#bar{
    background-color: #FF8F8F;
}
.time{
    padding: 0px 20px;
    font-size: 18px;
    margin: 0px;
    overflow: visible;
}
.time:first-of-type{
    text-align: right;
}
.time:last-of-type{
    text-align: left;
}
.hide{
    display:none;
}
#markersOptionsBox{
    display:flex; 
    flex-direction: row-reverse; 
    float:right; 
}
.measureIndicator{
    width:1px; 
    height: 100%; 
    cursor: pointer;
    position: inherit; 
    float: left;
    border-left-style: solid; 
    border-left-color: rgba(105, 105, 105, 0.3);
    border-left-width: 3px;
    display:none;
}
.measureInterval{
    height: 100%; 
    position: inherit; 
    float: left;
    display:none;
}
.measureInterval:nth-of-type(1) {
    margin-left: 0%;
    width: 0%;
    background-color:#8D8787; 
    border-radius: 5px 0px 0px 5px;
}
.measureInterval:nth-of-type(2) {
    margin-left: 100%;
    width: 0%;
    background-color:#8D8787; 
    border-radius: 0px 5px 5px 0px;

}
.blocksInterval{
    position: relative;
    display: none;
}
.blocksInterval:nth-of-type(1){
    float:left; 
}
.blocksInterval:nth-of-type(2){
    float:right; 
}
#measureMarkerContainer{
    position: absolute; 
    left: 0px; 
    right: 0px; 
    top: 0px; 
    bottom: 0px;
}
.measureIndicator:hover{
    border-left-width: 6px;
    border-left-color: rgba(165, 81, 81, 0.671);
}
.measureIndicator .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -60px;
    opacity: 0;
    transition: opacity 0.3s;
  }
.measureIndicator .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
  }
.measureIndicator:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
  }
.measureNumber{
    background-color: rgba(165, 81, 81, 0.671);
    transition: 0.25s;
    color: white;     
    cursor: pointer;
    border-radius: 5px;
    font-size: 14px;
    padding: 1px 4px;
}
/** -------- slider style -----------------**/
.slidecontainer {
  width: 86%;
  margin: 8%;
  position: relative;
  float: left;
  padding: 5px 0px;
}
.slider {
  -webkit-appearance: none;
  width: 100%;
  height: 4px;
  border-radius: 5px;
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  transition: opacity .2s;
}
.slider:hover {
  opacity: 1;
}
.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
 /** background: #4CAF50;**/
  cursor: pointer;
  border: 4px solid white;
}
.slider::-moz-range-thumb {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  /**background: #4CAF50;**/
  cursor: pointer;
  border: 4px solid white;
}
/** -------- SCORE SECTION STYLING --------- **/
#score {
    overflow-x: hidden;
    overflow-y: hidden;
    margin: 1%;
    display: block;
    width: 81.33%;
    box-shadow: 0 4px 8px 0 rgba(255, 124, 124, 0.2), 0 6px 20px 0 rgba(255, 124, 124, 0.19);
}
/**      Interactive score bar styling        **/
#draggingBar{ cursor: grabbing;
    display:none;
}
#mainBAR{ cursor: grab;
}
.rotated { /* IE 9 */ /* Safari 3-8 */
    transform: rotate(90deg);
  }
#range1{
    position: absolute;
    width: 100%;
    height: auto;
    top: 15px;
    right: 15px;
    z-index: 300;
}
/** -------- RIGHT SECTION STYLING --------- **/
#audio {
    /** relative to the complete right bar **/
    position: relative;
    float: right;
    background-image: linear-gradient(#ff4d4d, #FF8F8F);
    padding-top: 15px;
    z-index: 5;
}
#tabPistes {
    /** ul contener **/
    float:left;
    position: relative;
    list-style-type:none;
    padding: 0px;
    margin: 0;
}
#quitterConteneur{
    /** leaving button container **/
    bottom: 0px;
    height: auto;
    width: 100%;
    position: absolute;
    right: 0px;
    padding-bottom: 15px;
}
/** Buttons **/
.button {
    cursor: pointer;
    text-align: center;
    border-radius: 5px;
    border: white solid 2px;
    background-color: white;
}
.buttonMesure{
    cursor: pointer;
    text-align: center;
    border-radius: 5px;
    background-color: rgba(165, 81, 81, 0.671);
    color: white;
    padding: 1px 4px;
    font-size: 13px;
    position: relative; 
 /*   float: right;    */
    height: auto;
 /*   width: auto;   */
    transition: 0.5s;
    border-width: 1px;
    border-style: solid;
    border-color: white;
}
#buttonMesure { 
    margin-right:16.66%;
    float: right;
}
.buttonMesure:hover {
    color: rgb(165, 81, 81);
    background-color: white;
    border-color: rgba(165, 81, 81, 0.671);
}
.selectionMesure{
    display:none;
    position:relative;
    float:right;

    cursor: pointer;
    text-align: center;
    border-radius: 5px;
    background-color: white;
    color: rgba(165, 81, 81, 0.904);
    padding: 1px 4px;
    font-size: 13px;
    height: auto;
    width: auto;
    transition: 0.5s;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(165, 81, 81, 0.671);
}
.infoMesure{
    text-align: center;
    border-radius: 5px 0px 0px 5px;
    border-width: 1px 0px 1px 1px;
    border-color: rgba(165, 81, 81, 0.671);
    border-style: solid;
}
.imgMenuCont:hover {
    color: #ff4d4d;
    background-color: rgb(255, 218, 219);
    transition: 0.3s;
}
#jouer {
    width: 86%;
    margin: auto;
    padding: 10px;
    min-width: 60px;
    font-weight: 700;
    font-size: 15px;
    background-color: white;
}
#quitter {
    width: 86%;
    margin: auto;
    padding: 10px;
    min-width: 60px;
    font-weight: 700;
    font-size: 15px;
    background-color: white;
}
.threeButtons {
    /** Fastforward, restard, etc **/
    width: 100%;
    padding: 2% 7% 2% 7%;
}
/** Tracks buttons section **/
#tabPistes{
    overflow-y: auto;
    overflow-x: hidden;
}
.piste {
    width: 45%;
    margin: 1% 0% 1% 2.5%;
    font-size: 18px;
    height: 30px;
    overflow: hidden;
    transition: 0.4s;
}
.piste:hover{
    background-color: rgb(255, 223, 223);
}
.piste:last-of-type{
    margin: 1% 2.5% 1% 2.5%;
}
.piste > img{
    height: auto;
    max-width: 100%;
    width: auto;
    max-height: 100%;
    margin: auto;
    position: relative;
    padding: 2px;
}
#pistesConteneur{
    height: auto;
}
.pisteConteneur{
    width: 86%;
    margin: 1% 7% 0% 7%;
    padding: 10px;
    min-width: 60px;
    height: auto;
    border-radius: 5px;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
    transition: 0.4s;
}
.pisteConteneur:hover{
    background-color: rgba(160, 83, 83, 0.486);
}
.pisteConteneur > div:first-of-type{
  /*  border-bottom: solid white 1.5px;
    border-top: solid white 1.5px;   */
    
    margin-bottom: 2px;
    color: white;
    font-size: 15px;
    text-align: center;
}
/** --------------------  scroling bar style ----------------------  **/
/** Scroll bar audio options **/
#tabPistes::-webkit-scrollbar-track
{
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    background-color: #F5F5F5;
    border-radius: 13px;
    width: 7px;
}
#tabPistes::-webkit-scrollbar
{
    width: 6px;
    border-radius: 13px;
    background-color: #F5F5F5;
    width: 7px;

}
#tabPistes::-webkit-scrollbar-thumb
{
    background-color: #b89795;
    border-radius: 13px;
    width: 7px;
}
/** Scroll bar score **/
#score::-webkit-scrollbar-track
{
    background-color: #F5F5F5;

    width: 7px;
}
#score::-webkit-scrollbar
{
    width: 6px;
    background-color: #F5F5F5;
    width: 7px;

}
#score::-webkit-scrollbar-thumb
{
    background-color: #b89795;
    width: 7px;
}
/** -------- IMAGES STYLE --------- **/
#main img{
  -webkit-user-select: none; /* Safari 3.1+ */
  -moz-user-select: none; /* Firefox 2+ */ /* IE 10+ */
  user-select: none; /* Standard syntax */
}
.scoreButtons {
    cursor: pointer;
    height: 45px; 
    width: auto; 
    position: relative;
    border-radius: 13px;
    padding: 8px;
}
.scoreButtons:hover{
    background-color: #FFEFEF;
}
.IMGbuttonConteneur {
    text-align: center;
    opacity: 0.7;
}
.imgMenu {
    height: auto;
    width: 40%;
    position: relative;
}
.imgMenuCont{
    width:31.5%;
}
.imgMenuCont:nth-of-type(2) {
    margin: 0px 2% 0px 2%;
}
.smcq-card--simple {
  display: flex;
}
.smcq-card--simple .smcq-card--simple__main-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.smcq-card--simple .smcq-card-body {
  width: 100%;
  align-items: flex-start;
}
.smcq-card--simple .smcq-card-spacer {
  width: 100%;
  height: 1em;
}
.smcq-card--simple .smcq-card-spacer-sm {
  width: 100%;
  height: 0.5em;
}
.smcq-card--simple .smcq-card-header {
  width: 3em;
  width: clamp(2.5em, 35%, 4.5em);
  position: relative;
  overflow: hidden;
}
.smcq-card--simple .smcq-card-header .smcq-type-icon {
  z-index: 1;
}
.smcq-card--simple .smcq-card-footer__separator {
  padding: 0 var(--smcq-sp-20);
  width: 100%;
}
.smcq-card--simple .smcq-card-footer__separator div {
  border-top: var(--smcq-border-card);
}
.smcq-card--simple .smcq-card--tag-list {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}
/* ============================================================
   SINGLE VIEW
   Full-page presentation — no card shell
   ============================================================ */
.smcq-single {
  width: 100%;
  font-family: var(--smcq-font-body);
  color: var(--smcq-text-secondary);
  max-width: 66.25em; /* 1060px — laisse la place à la colonne de gauche */
  margin: 8em auto;
  margin-top: max(22vh, 12em);
}
.smcq-single__sub-entity-container {
  margin: 1em 0;
}
.smcq-single h5 {
  margin: 0;
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-14, 1em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
  margin-bottom: 1em;
}
.smcq-single__main-section {
  display: grid;
  grid-template-columns: minmax(0, 18em) minmax(0, 1fr);
  gap: var(--smcq-gap-32);
  align-items: start;
}
.smcq-single__header {
  padding: 1.5em 0px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.smcq-single__ressources-link {
  font-weight: var(--smcq-fw-bold);
  font-size: var(--smcq-fs-14);
  color: var(--smcq-type-active-badge-text) !important;
  line-height: 1em;
}
.smcq-single__ressources-link .smcq-single__ressources-link--text {
  border-bottom: 0.15em solid color-mix(in srgb, var(--smcq-type-active-badge-text) 0%, transparent);
  line-height: 1em;
}
.smcq-single__ressources-link > .arrow {
  display: inline-block;
  transform: scaleX(-1);
  transform-origin: center center;
  transition: 0.3s ease-in-out !important;
  line-height: 1em;
}
.smcq-single__ressources-link:hover > .arrow {
  transform: scaleX(-1) translateX(0.5em);
}
.smcq-single__ressources-link:hover > .smcq-single__ressources-link--text {
  border-bottom: 0.15em solid var(--smcq-type-active-badge-text);
}
.smcq-single h1 {
  color: #292929 !important;
  font-weight: 800 !important;
}
.links_box {
  border-radius: var(--smcq-radius-lg);
  padding: var(--smcq-sp-12);
  background-color: var(--smcq-type-active-grad-from);
  border: 1px solid var(--smcq-type-active-border);
}
.links_box__title {
  margin-top: 0px;
  margin-bottom: 1em;
  text-transform: uppercase;
  font-weight: var(--smcq-fw-bold);
  font-size: var(--smcq-fs-13);
  color: var(--smcq-type-active-badge-text);
  letter-spacing: var(--smcq-ls-label);
}
.links_box__description {
  font-size: var(--smcq-fs-13);
  color: var(--smcq-text-primary);
  line-height: 1.4em;
  margin: 1em 0;
}
.links_box__button_box {
  display: flex;
  gap: 0.5em;
  flex-wrap: wrap;
}
.links_box__button_box a {
  padding: var(--smcq-sp-8);
  flex: 1;
  min-width: 7em;
  text-align: center;
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-12);
  font-weight: var(--smcq-fw-semibold);
  border-radius: var(--smcq-radius-base);
}
@media (max-width: 40em) {
  .smcq-single {
    grid-template-columns: 1fr;
  }
}
.smcq-single__col-left {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-16);
}
.smcq-single__cover {
  width: 100%;
  border-radius: var(--smcq-radius-lg);
  overflow: hidden;
  box-shadow: var(--smcq-shadow-md);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.smcq-single__cover.has-no-picture {
  aspect-ratio: 1/1;
}
.smcq-single__cover img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.smcq-single__cover .smcq-type-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5em;
  height: 5em;
  opacity: 0.85;
}
.smcq-single__cover .smcq-type-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.smcq-single__cover .smcq-type-icon svg path {
  stroke: var(--smcq-type-active-badge-text);
  /* fill:   var(--smcq-type-active-badge-text); */
}
.smcq-single__cover .smcq-type-icon-fallback {
  width: 5em;
  height: 5em;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0.85;
}
.smcq-single__cover .smcq-type-icon + .smcq-type-icon-fallback {
  display: none;
}
.smcq-single__actions {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-8);
}
.smcq-single__col-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* gap:            var(--smcq-gap-12); */
  min-width: 0;
}
.smcq-single__title {
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-36);
  font-weight: var(--smcq-fw-bold);
  line-height: var(--smcq-lh-tight);
  color: var(--smcq-text-primary);
  margin: 0;
}
.smcq-single__description {
  font-size: var(--smcq-fs-15);
  /* line-height: var(--smcq-lh-relaxed); */
  color: var(--smcq-text-secondary);
  margin: 0;
}
.smcq-single__label {
  font-size: var(--smcq-fs-11);
  font-weight: var(--smcq-fw-semibold);
  color: var(--smcq-text-tertiary);
  letter-spacing: var(--smcq-ls-label);
  text-transform: uppercase;
}
.smcq-single__change-active-entity {
  display: flex;
  align-items: center;
  /* gap: var(--smcq-gap-8); */
  gap: 0.2em;
  margin-top: 1.5em;
}
.smcq-single__change-active-entity--arrow {
  display: grid;
  place-items: center;
  width: 1.75em;
  height: 1.75em;
  padding: 0;
  border-radius: 50%;
  background: #c9c9c9;
  color: var(--smcq-type-active-badge-text);
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}
.smcq-single__change-active-entity--arrow .arrow {
  display: inline-block;
  transform: scaleX(-1);
  line-height: 1em;
}
.smcq-single__change-active-entity--arrow-next .arrow {
  transform: scaleX(1);
}
.smcq-single__change-active-entity--arrow:hover {
  background: var(--smcq-type-active-grad-to);
}
.smcq-single__change-active-entity--counter {
  font-size: var(--smcq-fs-13);
  font-weight: var(--smcq-fw-bold);
  color: var(--smcq-text-tertiary);
  min-width: 3em;
  text-align: center;
}
.composer-kit--container {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  margin: 2em 0px;
}
.composer-kit--container > div {
  min-width: 200px;
}
.composer-kit--container .composer-kit--container__items {
  font-size: var(--smcq-fs-14);
}
.composer-kit--title {
  color: var(--smcq-text-secondary);
  text-transform: uppercase;
  font-weight: var(--smcq-fw-extrabold);
  font-size: var(--smcq-fs-13);
  letter-spacing: var(--smcq-ls-label);
}
.smcq-single__section {
  width: 100%;
  padding-top: var(--smcq-sp-32);
}
.smcq-single__section-title {
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-18);
  font-weight: var(--smcq-fw-extrabold);
  color: var(--smcq-text-primary);
  letter-spacing: var(--smcq-ls-label);
  text-transform: uppercase;
}
.smcq-single__btn-primary {
  display: inline-flex;
  align-items: center;
  gap: var(--smcq-gap-8);
  padding: var(--smcq-sp-10) var(--smcq-sp-20);
  background: var(--smcq-color-cta);
  color: #ffffff;
  border: none;
  border-radius: var(--smcq-radius-base);
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-14);
  font-weight: var(--smcq-fw-semibold);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease;
}
.smcq-single__btn-primary:hover {
  background: #2563EB;
}
/* ResourceGrid - Composant moderne et unifié pour affichage en grille */
.smcq-resource-grid {
  display: flex;
  flex-direction: column;
  min-height: 50vh;
  margin-bottom: 2em;
  gap: var(--smcq-gap-24);
  /* En-tête personnalisé optionnel */
}
.smcq-resource-grid__header {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-12);
}
.smcq-resource-grid {
  /* Barre d'outils (filtres + toggle vue) */
}
.smcq-resource-grid__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--smcq-gap-16);
  position: relative;
}
.smcq-resource-grid__toolbar * {
  z-index: 1;
  position: relative;
}
.smcq-resource-grid__toolbar .grey_gb {
  position: absolute;
  left: 50%;
  background-color: #F8FAFC;
  width: 100vw;
  height: 100%;
  padding: 1em;
  transform: translateX(-50%);
  z-index: 0;
}
.smcq-resource-grid {
  /* Toggle entre vue simple et vue détaillée */
}
.smcq-resource-grid__view-toggle {
  display: flex;
  gap: var(--smcq-gap-8);
  flex-shrink: 0;
}
.smcq-resource-grid__view-btn {
  padding: var(--smcq-sp-6) var(--smcq-sp-12);
  border: var(--smcq-border-card);
  border-radius: var(--smcq-radius-base);
  background: var(--smcq-bg-card);
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-13);
  font-weight: var(--smcq-fw-semibold);
  color: var(--smcq-text-secondary);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.smcq-resource-grid__view-btn.is-active {
  background: var(--smcq-color-cta);
  color: #ffffff;
  border-color: var(--smcq-color-cta);
}
.smcq-resource-grid__view-btn:hover:not(.is-active) {
  border-color: var(--smcq-text-tertiary);
}
.smcq-resource-grid {
  /* Messages d'état */
}
.smcq-resource-grid__empty, .smcq-resource-grid__error {
  text-align: center;
  padding: var(--smcq-sp-32) 0;
}
.smcq-resource-grid__error {
  background: rgba(255, 0, 0, 0.05);
  padding: var(--smcq-sp-24);
  border-radius: var(--smcq-radius-base);
  border: 1px solid rgba(255, 0, 0, 0.2);
}
.smcq-resource-grid--loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.smcq-resource-grid--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 150px;
}
.smcq-resource-grid--error {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.smcq-resource-grid--loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
}
.smcq-resource-grid {
  /* Conteneur du spinner de chargement */
}
.smcq-resource-grid__spinner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--smcq-gap-16);
  max-width: 200px;
}
.smcq-resource-grid {
  /* Info de débogage en bas */
}
.smcq-resource-grid__info {
  text-align: right;
  padding-top: var(--smcq-gap-16);
  border-top: 1px solid var(--smcq-border-color);
}
/* Réutiliser les grilles existantes */
.smcq-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--smcq-gap-24);
  align-items: start;
}
@media (max-width: 1024px) {
  .smcq-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--smcq-gap-20);
  }
}
@media (max-width: 768px) {
  .smcq-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--smcq-gap-16);
  }
}
@media (max-width: 480px) {
  .smcq-grid {
    grid-template-columns: 1fr;
    gap: var(--smcq-gap-12);
  }
}
.smcq-grid {
  /* Vue détaillée (full) */
}
.smcq-grid--full {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
@media (max-width: 1024px) {
  .smcq-grid--full {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }
}
@media (max-width: 768px) {
  .smcq-grid--full {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
}
@media (max-width: 480px) {
  .smcq-grid--full {
    grid-template-columns: 1fr;
  }
}
.smcq-grid {
  /* Nombre de colonnes fixe (ex: pages compositeur/trousse) ;
     les cartes Full se réduisent automatiquement sur petits écrans */
}
.smcq-grid--cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 768px) {
  .smcq-grid--cols-2 {
    grid-template-columns: 1fr;
  }
}
.smcq-grid--cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1024px) {
  .smcq-grid--cols-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .smcq-grid--cols-3 {
    grid-template-columns: 1fr;
  }
}
.smcq-grid--cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1200px) {
  .smcq-grid--cols-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1024px) {
  .smcq-grid--cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .smcq-grid--cols-4 {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   FULL CARD
   Richer grid card — all available info
   ============================================================ */
.smcq-card--full .smcq-card-title {
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-18);
  font-weight: var(--smcq-fw-bold);
  line-height: 1.2;
  color: var(--smcq-text-primary);
  margin: 0 0 0.75em 0;
}
.smcq-card--full .smcq-card--description-tag-container {
  display: flex;
  gap: 1em;
  gap: max(1em, 5%);
  justify-content: space-between;
  flex-wrap: wrap;
}
.smcq-card--full .smcq-card-description {
  font-size: var(--smcq-fs-13);
  /* line-height: var(--smcq-lh-relaxed); */
  color: var(--smcq-text-secondary);
  margin: 0;
  max-width: 80ch;
}
.smcq-card--full .smcq-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--smcq-gap-6);
  align-items: center;
}
.smcq-card--full .smcq-card-label {
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-11);
  font-weight: var(--smcq-fw-semibold);
  color: var(--smcq-text-tertiary);
  letter-spacing: var(--smcq-ls-label);
  text-transform: uppercase;
  margin: 0;
}
.smcq-card--full.smcq-card--span-2 {
  grid-column: span 2;
}
@media (max-width: 768px) {
  .smcq-card--full.smcq-card--span-2 {
    grid-column: span 1;
  }
}
.smcq-card--full.smcq-card--span-3 {
  grid-column: span 3;
}
@media (max-width: 1024px) {
  .smcq-card--full.smcq-card--span-3 {
    grid-column: span 2;
  }
}
@media (max-width: 768px) {
  .smcq-card--full.smcq-card--span-3 {
    grid-column: span 1;
  }
}
.smcq-card--full .smcq-type-icon {
  position: absolute;
  width: 2em; /* 36px */
  height: 2em; /* 36px */
  opacity: 0.65;
}
.smcq-card--full .smcq-btn-consult {
  align-items: center;
  border: none;
  border-radius: var(--smcq-radius-base);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-14);
  font-weight: var(--smcq-fw-semibold);
  gap: var(--smcq-gap-4);
  padding: var(--smcq-sp-8) var(--smcq-sp-20);
  text-decoration: none;
  transition: background 0.15s ease;
  white-space: nowrap;
}
.smcq-card--full h5 {
  margin: 0;
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-14, 1em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
  margin-bottom: 1em;
}
.smcq-card--full .smcq-card-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--smcq-sp-16) var(--smcq-sp-20);
}
.smcq-card--full .separater {
  padding: 0 var(--smcq-sp-20);
  width: 100%;
}
.smcq-card--full .separater::after {
  content: "";
  display: block;
  width: 100%;
  border-top: 0.1em solid #e4e4e4;
}
.smcq-card--full .smcq-card--full__cover-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  position: relative;
}
.smcq-card--full .smcq-card--full__cover-icon .smcq-type-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5em;
  height: 2.5em;
  opacity: 0.85;
}
.smcq-card--full .smcq-card--full__cover-icon .smcq-type-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.smcq-card--full .smcq-card--full__cover-icon .smcq-type-icon svg path {
  stroke: var(--smcq-type-active-badge-text);
}
.smcq-card--full .smcq-card--tag-list {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-6);
}
.smcq-card--full .smcq-card--tag-list .smcq-card--tag {
  flex: unset;
}
.smcq-card--full .smcq-card--full__entity-content {
  margin-top: var(--smcq-gap-8);
  font-size: 0.85em;
}
.smcq-card--full .smcq-card-meta {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-6);
  margin-top: var(--smcq-gap-8);
}
.smcq-card--full .smcq-card-label a {
  color: var(--smcq-color-cta);
  text-decoration: underline;
  margin-left: var(--smcq-gap-4);
}
.smcq-card--full .smcq-card-body-header {
  display: flex;
  gap: 1.5em;
  margin: 0.25em 0 0.75em 0;
  margin: max(0.25em, 2%) 0 0.75em 0;
}
.smcq-card--full .smcq-card-body-header__img-container {
  max-width: 13em;
  border-radius: var(--smcq-radius-lg);
  overflow: hidden;
  box-shadow: var(--smcq-shadow-md);
  position: relative;
}
/* ============================================================
   FULL VIEW
   Full-page presentation — no card shell
   ============================================================ */
.smcq-full {
  width: 100%;
  font-family: var(--smcq-font-body);
  color: var(--smcq-text-secondary);
  max-width: 66.25em; /* 1060px — laisse la place à la colonne de gauche */
  margin: 8em auto;
  margin-top: max(22vh, 12em);
}
.smcq-full__sub-entity-container {
  margin: 0;
}
.smcq-full h5 {
  margin: 0;
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-14, 1em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
  margin-bottom: 1em;
}
.smcq-full__main-section {
  display: grid;
  grid-template-columns: minmax(0, 18em) minmax(0, 1fr);
  gap: var(--smcq-gap-32);
  align-items: start;
}
.smcq-full__header {
  padding: 1.5em 0px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.smcq-full__ressources-link {
  font-weight: var(--smcq-fw-bold);
  font-size: var(--smcq-fs-14);
  color: var(--smcq-type-active-badge-text) !important;
  line-height: 1em;
}
.smcq-full__ressources-link .smcq-full__ressources-link--text {
  border-bottom: 0.15em solid color-mix(in srgb, var(--smcq-type-active-badge-text) 0%, transparent);
  line-height: 1em;
}
.smcq-full__ressources-link > .arrow {
  display: inline-block;
  transform: scaleX(-1);
  transform-origin: center center;
  transition: 0.3s ease-in-out !important;
  line-height: 1em;
}
.smcq-full__ressources-link:hover > .arrow {
  transform: scaleX(-1) translateX(0.5em);
}
.smcq-full__ressources-link:hover > .smcq-full__ressources-link--text {
  border-bottom: 0.15em solid var(--smcq-type-active-badge-text);
}
.smcq-full h1 {
  color: #292929 !important;
  font-weight: 800 !important;
}
@media (max-width: 999px) {
  .smcq-full .smcq-card-body-header__img-container {
    display: none;
  }
}
.links_box {
  border-radius: var(--smcq-radius-lg);
  padding: var(--smcq-sp-12);
  background-color: var(--smcq-type-active-grad-from);
  border: 1px solid var(--smcq-type-active-border);
}
.links_box__title {
  margin-top: 0px;
  margin-bottom: 1em;
  text-transform: uppercase;
  font-weight: var(--smcq-fw-bold);
  font-size: var(--smcq-fs-13);
  color: var(--smcq-type-active-badge-text);
  letter-spacing: var(--smcq-ls-label);
}
.links_box__description {
  font-size: var(--smcq-fs-13);
  color: var(--smcq-text-primary);
  line-height: 1.4em;
  margin: 1em 0;
}
.links_box__button_box {
  display: flex;
  gap: 0.5em;
  flex-wrap: wrap;
}
.links_box__button_box a {
  padding: var(--smcq-sp-8);
  flex: 1;
  min-width: 7em;
  text-align: center;
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-12);
  font-weight: var(--smcq-fw-semibold);
  border-radius: var(--smcq-radius-base);
}
@media (max-width: 40em) {
  .smcq-full {
    grid-template-columns: 1fr;
  }
}
.smcq-full__col-left {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-16);
}
.smcq-full__cover {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: var(--smcq-radius-lg);
  overflow: hidden;
  box-shadow: var(--smcq-shadow-md);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.smcq-full__cover img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.smcq-full__cover .smcq-type-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5em;
  height: 5em;
  opacity: 0.85;
}
.smcq-full__cover .smcq-type-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.smcq-full__cover .smcq-type-icon svg path {
  stroke: var(--smcq-type-active-badge-text);
  /* fill:   var(--smcq-type-active-badge-text); */
}
.smcq-full__cover .smcq-type-icon-fallback {
  width: 5em;
  height: 5em;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0.85;
}
.smcq-full__cover .smcq-type-icon + .smcq-type-icon-fallback {
  display: none;
}
.smcq-full__actions {
  display: flex;
  flex-direction: column;
  gap: var(--smcq-gap-8);
}
.smcq-full__col-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* gap:            var(--smcq-gap-12); */
  min-width: 0;
}
.smcq-full__title {
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-36);
  font-weight: var(--smcq-fw-bold);
  line-height: var(--smcq-lh-tight);
  color: var(--smcq-text-primary);
  margin: 0;
}
.smcq-full__description {
  font-size: var(--smcq-fs-15);
  /* line-height: var(--smcq-lh-relaxed); */
  color: var(--smcq-text-secondary);
  margin: 0;
}
.smcq-full__label {
  font-size: var(--smcq-fs-11);
  font-weight: var(--smcq-fw-semibold);
  color: var(--smcq-text-tertiary);
  letter-spacing: var(--smcq-ls-label);
  text-transform: uppercase;
}
.smcq-full__change-active-entity {
  display: flex;
  align-items: center;
  /* gap: var(--smcq-gap-8); */
  gap: 0.2em;
  margin-top: 1.5em;
}
.smcq-full__change-active-entity--arrow {
  display: grid;
  place-items: center;
  width: 1.75em;
  height: 1.75em;
  padding: 0;
  border-radius: 50%;
  background: #c9c9c9;
  color: var(--smcq-type-active-badge-text);
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}
.smcq-full__change-active-entity--arrow .arrow {
  display: inline-block;
  transform: scaleX(-1);
  line-height: 1em;
}
.smcq-full__change-active-entity--arrow-next .arrow {
  transform: scaleX(1);
}
.smcq-full__change-active-entity--arrow:hover {
  background: var(--smcq-type-active-grad-to);
}
.smcq-full__change-active-entity--counter {
  font-size: var(--smcq-fs-13);
  font-weight: var(--smcq-fw-bold);
  color: var(--smcq-text-tertiary);
  min-width: 3em;
  text-align: center;
}
.composer-kit--container {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  margin: 2em 0px;
}
.composer-kit--container > div {
  min-width: 200px;
}
.composer-kit--container .composer-kit--container__items {
  font-size: var(--smcq-fs-14);
}
.composer-kit--title {
  color: var(--smcq-text-secondary);
  text-transform: uppercase;
  font-weight: var(--smcq-fw-extrabold);
  font-size: var(--smcq-fs-13);
  letter-spacing: var(--smcq-ls-label);
}
.smcq-full__section {
  width: 100%;
  /* padding-top:   var(--smcq-sp-32); */
}
.smcq-full__section-title {
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-18);
  font-weight: var(--smcq-fw-extrabold);
  color: var(--smcq-text-primary);
  letter-spacing: var(--smcq-ls-label);
  text-transform: uppercase;
  text-align: start;
}
.smcq-full__btn-primary {
  display: inline-flex;
  align-items: center;
  gap: var(--smcq-gap-8);
  padding: var(--smcq-sp-10) var(--smcq-sp-20);
  background: var(--smcq-color-cta);
  color: #ffffff;
  border: none;
  border-radius: var(--smcq-radius-base);
  font-family: var(--smcq-font-body);
  font-size: var(--smcq-fs-14);
  font-weight: var(--smcq-fw-semibold);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease;
}
.smcq-full__btn-primary:hover {
  background: #2563EB;
}
.smcq-card--tag {
  font-size: var(--smcq-fs-11);
  /* background-color:   var(--smcq-bg-subtle); */
  color: #475569;
  margin: 0;
  letter-spacing: var(--smcq-ls-label);
  padding: 0 0.5em;
  border-radius: 0.5em;
  display: flex;
  gap: 0.5rem;
}
.smcq-card--tag .smcq-card--tag__icon {
  height: 100%;
  width: 1em;
  margin-top: 0.25em;
  stroke: #475569;
}
.smcq-card-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  padding: 2em 0px;
  gap: var(--smcq-gap-12);
  /* Reset agressif : neutralise tout style de thème (bouton/input/select
     héritent souvent de règles globales très permissives comme
     `input, select { ... }` ou `a { color: ... !important }`). On
     redéclare chaque propriété visuelle explicitement avec !important
     pour garantir que nos styles dominent, peu importe la spécificité
     ou l'ordre de chargement du CSS du thème. */
}
.smcq-card-filter input,
.smcq-card-filter select {
  all: unset;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  background-color: var(--smcq-bg-card) !important;
  color: var(--smcq-text-secondary) !important;
  font-family: var(--smcq-font-body) !important;
  font-weight: var(--smcq-fw-regular) !important;
  line-height: var(--smcq-lh-normal) !important;
  border: var(--smcq-border-card) !important;
  border-radius: var(--smcq-radius-sm) !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  cursor: pointer;
  position: relative;
  z-index: 1;
}
.smcq-card-filter input:focus,
.smcq-card-filter select:focus {
  border-color: var(--smcq-color-cta) !important;
}
.smcq-card-filter__search-input {
  padding: var(--smcq-sp-8) var(--smcq-sp-12) !important;
  font-size: var(--smcq-fs-13) !important;
  min-width: 220px;
  cursor: text !important;
  flex: 1 !important;
  height: unset !important;
}
.smcq-card-filter__selects {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  flex: 1;
  gap: var(--smcq-gap-8);
}
.smcq-card-filter__select {
  padding: var(--smcq-sp-8) var(--smcq-sp-32) var(--smcq-sp-8) var(--smcq-sp-12) !important;
  font-size: var(--smcq-fs-12) !important;
  min-width: 160px;
  /* Flèche personnalisée (le rendu natif du navigateur est neutralisé
     par `appearance: none` ci-dessus) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2710%27 height=%276%27 viewBox=%270 0 10 6%27 fill=%27none%27%3E%3Cpath d=%27M1 1L5 5L9 1%27 stroke=%27%23475569%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right var(--smcq-sp-12) center !important;
}
.smcq-spinner {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  max-width: 200px;
  margin: 0 auto;
}
.smcq-spinner__loading-text {
  text-align: center;
}
.smcq-spinner__icon-wrapper {
  position: absolute;
  width: 45%;
  height: 45%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0.8) translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  color: inherit;
}
.smcq-spinner__icon-wrapper--active {
  opacity: 1;
  transform: scale(1) translateY(0);
}
.smcq-spinner__icon {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.smcq-spinner__icon svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}
/* Ombre sous l'icône (pseudo-élément ::after du wrapper) */
.smcq-spinner__icon-wrapper::after {
  content: "";
  position: absolute;
  bottom: -2em;
  left: 50%;
  transform: translateX(-50%);
  width: 250%;
  height: 3em;
  background: radial-gradient(ellipse at center, currentColor 0, transparent 60%);
  opacity: 0;
  border-radius: 50%;
  transition: opacity 0.4s ease;
  filter: opacity(0.2);
}
.smcq-spinner__icon-wrapper--active::after {
  opacity: 1;
}
/* Fallback : if color not available, use a neutral color */
.smcq-spinner__icon-wrapper {
  color: #666;
}
.single-breadcrumbs {
  color: var(--smcq-text-tertiary);
  font-size: var(--smcq-fs-13);
}
.single-breadcrumbs__entity-name {
  color: var(--smcq-text-primary);
  font-weight: 600;
}
/* ============================================================
   Inner section container
   ============================================================ */
.smcq-card--full .smcq-inner-section {
  padding: var(--smcq-sp-6) var(--smcq-sp-10);
  box-shadow: 1px 1px 3px #ebebeb;
}
.smcq-card--full .smcq-inner-section__header {
  flex-direction: column-reverse;
  gap: 0em;
  align-items: flex-start;
}
.smcq-card--full .smcq-inner-section__header.hasnt-picture {
  flex-direction: row;
  gap: 1em;
  align-items: flex-start !important;
}
.smcq-card--full .smcq-inner-section__header.hasnt-picture .smcq-inner-section__action-btn--container {
  align-self: flex-start;
}
.smcq-card--full .smcq-inner-section__title {
  margin: 0.5em 0;
}
.smcq-card--full .smcq-inner-section__action-btn--container {
  align-self: flex-end;
}
.smcq-inner-section {
  display: flex;
  align-items: flex-start;
  gap: 1.15em;
  background-color: var(--smcq-bg-page);
  border-radius: var(--smcq-radius-lg);
  padding: var(--smcq-sp-10) var(--smcq-sp-12);
}
.smcq-inner-section .smcq-inner-section {
  background-color: var(--smcq-bg-subtle);
  border-radius: var(--smcq-radius-sm);
}
.smcq-inner-section .smcq-inner-section .smcq-inner-section {
  background-color: var(--smcq-bg-page);
}
.smcq-inner-section__action-btn {
  width: 2em;
  display: flex;
  padding: 0.35em;
  transition: 0.3s ease-in-out;
  border-radius: var(--smcq-radius-sm);
}
.smcq-inner-section__action-btn:hover {
  background-color: var(--smcq-type-active-badge-bg);
}
.smcq-inner-section__action-btn__SVG {
  max-width: 100%;
  max-height: 100%;
}
.smcq-inner-section__action-btn__visual path {
  stroke: var(--smcq-type-active-badge-text);
  fill: var(--smcq-type-active-badge-text);
}
.smcq-inner-section__action-btn__download path {
  stroke: var(--smcq-type-active-badge-text);
}
.smcq-inner-section__action-btn--container {
  display: flex;
  align-items: flex-start;
  gap: 0.35em;
}
.smcq-inner-section__img {
  border-radius: var(--smcq-radius-md);
  overflow: hidden;
  width: max(12em, 25%);
}
.smcq-inner-section__img img {
  width: 100%;
  display: flex;
}
.smcq-inner-section__header {
  display: flex;
  align-items: center;
  gap: 1em;
}
.smcq-inner-section__title {
  color: var(--smcq-text-primary);
  font-weight: 500;
  font-size: 1.15em;
  font-family: var(--smcq-font-title);
  flex: 1;
  letter-spacing: var(--smcq-ls-label);
}
.smcq-inner-section__description {
  width: 100%;
  font-size: var(--smcq-fs-14);
  line-height: 1.4;
  margin: 0.5em 0;
}
.smcq-inner-section__number {
  height: 2em;
  width: 2em;
  font-size: 1.5em;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--smcq-type-active-grad-from);
  color: var(--smcq-type-active-badge-text);
  font-weight: 700;
  font-size: 1.15em;
}
.smcq-inner-section__picture {
  border-radius: var(--smcq-radius-base);
  background-color: gray;
  overflow: hidden;
  max-width: 8em;
}
.smcq-inner-section .smcq-playlist-reader .smcq-inner-section .smcq-playlist-reader__external-link-badge {
  font-size: var(--smcq-fs-09);
  color: var(--smcq-text-tertiary);
  background-color: var(--smcq-bg-page);
}
.smcq-playlist-reader .smcq-inner-section .smcq-playlist-reader__external-link-badge {
  background-color: var(--smcq-bg-subtle);
  font-size: var(--smcq-fs-09);
  color: var(--smcq-text-tertiary);
}
.smcq-grid--full .smcq-playlist-reader__control {
  flex: 0 0 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
}
.smcq-grid--full .smcq-playlist-reader {
  margin: 0;
}
.smcq-playlist-reader {
  display: flex;
  flex-direction: column;
  gap: 0.65em;
  margin: 1em 0;
}
.smcq-playlist-reader .smcq-inner-section[aria-current=true] {
  background-color: var(--smcq-type-active-grad-from);
  border: 1px solid var(--smcq-type-active-border);
  position: relative;
}
.smcq-playlist-reader .smcq-inner-section {
  display: flex;
  align-items: center;
  gap: 0.75em;
  position: relative;
  overflow: hidden;
}
.smcq-playlist-reader .smcq-inner-section > :not(.smcq-playlist-reader__progress) {
  position: relative;
  z-index: 1;
}
.smcq-playlist-reader {
  /*     &__external-link-badge {
          font-size: var(--smcq-fs-09);
          color: var(--smcq-text-tertiary);
          background-color: var(--smcq-bg-page);
      } */
}
.smcq-playlist-reader__control {
  display: grid;
  flex: 0 0 2.25rem;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  color: #fff;
  background: var(--smcq-type-active-badge-text);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  text-decoration: none;
}
.smcq-playlist-reader__control svg {
  width: 0.85rem;
  height: 0.85rem;
  fill: currentColor;
}
.smcq-playlist-reader__control:hover, .smcq-playlist-reader__control:focus-visible {
  background: var(--smcq-type-active-grad-to);
}
.smcq-playlist-reader__title {
  min-width: 0;
  flex: 1;
  font-size: var(--smcq-fs-13);
  font-weight: var(--smcq-fw-semibold);
}
.smcq-playlist-reader__duration {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  font-size: var(--smcq-fs-14);
  color: var(--smcq-text-secondary);
}
.smcq-playlist-reader__progress {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 0;
  background-color: var(--smcq-type-active-badge-bg);
  opacity: 0.7;
  transition: width 0.1s linear;
}
.smcq-videos-reader {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  margin-top: 1em;
}
.smcq-videos-reader__featured-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  max-width: 42em;
}
.smcq-videos-reader__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.smcq-videos-reader__grid-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}
.smcq-videos-reader__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: var(--smcq-radius-lg, 10px);
  overflow: hidden;
  background: #000;
}
.smcq-videos-reader__player {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  border: 0;
  background: #000;
  -o-object-fit: contain;
     object-fit: contain;
}
.smcq-videos-reader__title {
  margin: 0.25rem 0 0;
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-16, 1em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
}
.smcq-videos-reader__featured-item .smcq-videos-reader__title {
  font-size: var(--smcq-fs-18, 1.15rem);
}
.smcq-videos-reader__description {
  margin: 0;
  color: var(--smcq-text-secondary);
  font-size: var(--smcq-fs-13, 0.9rem);
  line-height: 1.4;
}
/* Mode C: Liste */
.smcq-videos-reader__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.smcq-videos-reader__list-item {
  cursor: pointer;
  border-radius: var(--smcq-radius-lg);
  outline: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.smcq-videos-reader__list-item .smcq-inner-section__title {
  font-size: var(--smcq-fs-13, 1em);
}
.smcq-videos-reader__list-item .smcq-inner-section {
  border: 1px solid transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.smcq-videos-reader__list-item:hover .smcq-inner-section, .smcq-videos-reader__list-item:focus-visible .smcq-inner-section {
  border-color: var(--smcq-type-active-border);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.smcq-videos-reader__list-item--active .smcq-inner-section {
  background-color: var(--smcq-type-active-grad-from);
  border: 1px solid var(--smcq-type-active-border);
}
.smcq-videos-reader__list-action {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.smcq-videos-reader__list-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--smcq-fs-12, 0.85rem);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-type-active-badge-text);
}
.smcq-videos-reader__list-btn svg {
  width: 0.85rem;
  height: 0.85rem;
  fill: currentColor;
}
/* Adaptations mobiles */
@media (max-width: 767px) {
  .smcq-videos-reader__grid {
    grid-template-columns: 1fr;
  }
}
.smcq-online-digital-activity {
  display: flex;
  flex-direction: column;
}
.smcq-online-digital-activity__title {
  margin: 0;
  font-family: var(--smcq-font-title);
  font-size: var(--smcq-fs-14, 1em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
  margin-bottom: 0.5em;
}
.smcq-online-digital-activity__container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75em;
  align-items: center;
}
.smcq-online-digital-activity__item {
  display: inline-flex;
  align-items: center;
  gap: 0.75em;
  padding: 0.5em 0.85em;
  background-color: var(--smcq-type-active-grad-from);
  border: 1px solid var(--smcq-type-active-border);
  border-radius: var(--smcq-radius-sm, 12px);
  text-decoration: none !important;
  color: var(--smcq-text-primary);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.smcq-online-digital-activity__item:hover, .smcq-online-digital-activity__item:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.smcq-online-digital-activity__item:hover .smcq-online-digital-activity__redirect-btn, .smcq-online-digital-activity__item:focus-visible .smcq-online-digital-activity__redirect-btn {
  background-color: var(--smcq-type-active-grad-to);
}
.smcq-online-digital-activity__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--smcq-type-active-badge-text);
}
.smcq-online-digital-activity__icon svg {
  width: 1.25em;
  height: 1.25em;
}
.smcq-online-digital-activity__name {
  font-size: var(--smcq-fs-13, 0.9em);
  font-weight: var(--smcq-fw-semibold, 600);
  color: var(--smcq-text-primary);
  line-height: 1.2;
}
.smcq-online-digital-activity__redirect-btn {
  display: grid;
  place-items: center;
  flex: 0 0 2em;
  width: 2em;
  height: 2em;
  padding: 0;
  color: #ffffff;
  background-color: var(--smcq-type-active-badge-text);
  border-radius: 50%;
  transition: background-color 0.15s ease;
}
.smcq-online-digital-activity__redirect-btn svg {
  width: 0.75em;
  height: 0.75em;
}
.smcq-card--full .smcq-karaoke-reader__item-action h5 {
  margin: 0;
}
.smcq-karaoke-reader-wrapper {
  width: 100%;
}
.smcq-karaoke-reader__list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}
.smcq-karaoke-reader__list-item {
  margin: 0;
}
.smcq-karaoke-reader__item-action {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.smcq-karaoke-reader__item-action button {
  display: inline-flex;
  background-color: var(--smcq-type-active-badge-text);
  align-items: center;
  gap: 0.5rem;
  padding: 0.4em 0.85em;
  font-size: var(--smcq-fs-12, 0.85rem);
  border-radius: var(--smcq-radius-base, 6px);
  text-decoration: none;
  cursor: pointer;
  transition: 0.2s ease-in-out;
}
.smcq-karaoke-reader__item-action button.karaoke-play-btn-circle {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
}
.smcq-karaoke-reader__item-action button:hover {
  background-color: var(--smcq-type-active-grad-from);
  color: var(--smcq-type-active-badge-text) !important;
}
.smcq-karaoke-reader__track-list-title {
  font-size: var(--smcq-fs-11, 0.85rem);
  font-weight: var(--smcq-fw-bold, 700);
  color: var(--smcq-text-tertiary);
  margin: 0.25em 0 0;
  text-transform: uppercase;
}
.smcq-karaoke-reader__track-list {
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  font-size: var(--smcq-fs-12, 0.85rem);
  color: var(--smcq-text-secondary);
}
.smcq-karaoke-reader__track-list li {
  margin: 0.25em 0.25em 0 0;
}
.smcq-karaoke-reader__track-list {
  /*     li:first-of-type:before {
          content: '♪ ';
      } */
}
/* Modal Overlay pour l'application Karaoké */
.smcq-karaoke-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.smcq-karaoke-modal-backdrop #main.smcq-karaoke-modal {
  position: relative;
  top: auto;
  left: auto;
  width: 95vw;
  max-width: 1300px;
  height: 90vh;
  margin: 0;
  display: block !important;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.smcq-karaoke-modal__close-btn {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 130;
  background: var(--smcq-type-active-badge-text, #9D174D);
  color: #ffffff;
  border: 0;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, transform 0.15s ease;
}
.smcq-karaoke-modal__close-btn:hover {
  transform: scale(1.08);
  background: #000;
}
/* Styles pour la barre de progression et le conteneur du lecteur karaoké */
#barContener {
  margin: auto;
  overflow: hidden;
  cursor: pointer;
  position: relative;
}
.progress {
  height: 30px;
  margin-bottom: 20px;
  overflow: hidden;
  background-color: #f5f5f5;
  border-radius: 4px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 30px;
  color: #fff;
  text-align: center;
  background-color: #FF8F8F;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  transition: width 0.6s ease;
}
/* Entities */
/* Single Components */
.smcq-single__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
.smcq-single__section__teaching-activity__sub_activities_container {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
}
.smcq-single__section__teaching-activity__sub_activities_container > * {
  min-width: 200px;
}
.smcq-single__section__teaching-activity__sub_activities_container > :nth-child(1) {
  flex: 1;
}
.smcq-single__section__teaching-activity__sub_activities_container > :nth-child(2) {
  flex: auto;
}
.smcq-playlist-single {
  width: 100%;
}
.smcq-single__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
.smcq-web-app-single {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.smcq-web-app-single__iframe {
  width: 100%;
  min-height: min(80vh, 30em);
  border: 0;
  border-radius: 8px;
}
.smcq-web-app-single__videos {
  width: 100%;
}
.smcq-karaoke-single {
  width: 100%;
}
.smcq-single__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
.smcq-single__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
/* Full Components */
.smcq-full__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
.smcq-full__section__teaching-activity__sub_activities_container {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
}
.smcq-full__section__teaching-activity__sub_activities_container > * {
  min-width: 200px;
}
.smcq-full__section__teaching-activity__sub_activities_container > :nth-child(1) {
  flex: 1;
}
.smcq-full__section__teaching-activity__sub_activities_container > :nth-child(2) {
  flex: auto;
}
.smcq-playlist-full {
  width: 100%;
}
.smcq-full__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
.smcq-web-app-full {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.smcq-web-app-full__iframe {
  width: 100%;
  min-height: min(80vh, 30em);
  border: 0;
  border-radius: 8px;
}
.smcq-web-app-full__videos {
  width: 100%;
}
.smcq-karaoke-full {
  width: 100%;
}
.smcq-full__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}
.smcq-full__section {
  gap: 1em;
  display: flex;
  flex-direction: column;
}

/*# sourceMappingURL=view.css.map*/