@charset "UTF-8";
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Theme Cylian CSS                                        - */
/* -                                                         - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Variables and Colors                                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/*	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/*	- Colors contrast                                         - */
/*	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
:root {
  --color-white: white;
  --color-grey-100: #f8f9fa;
  --color-grey-200: #e9ecef;
  --color-grey-300: #dee2e6;
  --color-grey-400: #ced4da;
  --color-grey-500: #adb5bd;
  --color-grey-600: #6c757d;
  --color-grey-700: #495057;
  --color-grey-800: #343a40;
  --color-grey-900: #212529;
  --color-black: #101010;
  --color-gray-light: var(--color-grey-300);
  --color-gray: var(--color-grey-500);
  --color-gray-dark: var(--color-grey-700);
  --color-navy: #001f3f;
  --color-blue: #0074d9;
  --color-aqua: #7fdbff;
  --color-teal: #39cccc;
  --color-olive: #3d9970;
  --color-green: #2ecc40;
  --color-lime: #01ff70;
  --color-yellow: #ffdc00;
  --color-orange: #ff851b;
  --color-red: #ff4136;
  --color-fuchsia: #f012be;
  --color-purple: #b10dc9;
  --color-maroon: #85144b;
  --color-silver: #dddddd;
  --color-black: #101010;
  --color-white: white;
  --color-danger: var(--color-red);
  --color-success: var(--color-green);
  --color-warning: var(--color-orange);
  --color-info: var(--color-aqua);
  --color-muted: var(--color-grey-500);
  --menu-header-text-color: var(--text-color-surface);
  --menu-header-draw-color: var(--draw-color-primary);
  --menu-header-text-hover-color: var(--text-color-primary);
  --menu-footer-text-color: var(--text-color-primary);
  --menu-footer-draw-color: var(--draw-color-surface);
  --menu-footer-text-hover-color: var(--text-color-secondary);
  --submenu-header-text-color: var(--text-color-surface);
  --submenu-header-text-hover-color: var(--text-color-primary);
  --submenu-header-background-color: var(--background-color-surface);
  --submenu-header-draw-color: var(--draw-color-surface);
  --submenu-header-draw-hover-color: var(--draw-color-primary);
  --slogan-draw-color: var(--draw-color-primary);
  --tag-text-color: var(--text-color-surface);
  --tag-draw-color: var(--draw-color-primary);
  --tag-background-color: var(--background-color-surface);
  --table-body-text-color: var(--text-color-surface);
  --table-body-background-color: var(--background-color-surface);
  --link-text-color: var(--text-color-primary);
  --link-text-hover-color: var(--text-color-secondary);
  --link-text-visited-color: var(--text-color-primary);
  --link-text-external-color: var(--text-color-primary);
  --draw-color-danger: var(--color-danger);
  --draw-color-success: var(--color-success);
  --text-color-danger: var(--color-danger);
  --text-color-success: var(--color-success); }
  :root, :root[data-theme=light] {
    --text-color-surface: #58595b;
    --text-color-primary: #317095;
    --text-color-secondary: #4178a0;
    --draw-color-primary: #5eaadd;
    --draw-color-secondary: #aad2eb;
    --draw-color-surface: #ebebeb;
    --background-color-ground: #fffefd;
    --background-color-surface: white;
    --submenu-header-background-hover-color: #ebf5fc;
    --submenu-header-draw-hover-color: #5eaadd;
    --table-body-draw-color: gainsboro;
    --table-header-background-color: whitesmoke;
    --table-body-stripe-color: #fafafa;
    --selection-color: #d2e6f5;
    --separator-color: linear-gradient(to right, #d2e6f5, #aad2eb, #d2e6f5); }
  :root[data-theme=dark] {
    --text-color-surface: #a0a1a2;
    --text-color-primary: #5eaadd;
    --text-color-secondary: #468cb4;
    --draw-color-primary: #317095;
    --draw-color-secondary: #23506e;
    --draw-color-surface: #282828;
    --background-color-ground: #141215;
    --background-color-surface: #141215;
    --submenu-header-background-hover-color: #1e2d3c;
    --submenu-header-draw-hover-color: #317095;
    --table-body-draw-color: #323232;
    --table-header-background-color: #1e1c1f;
    --table-body-stripe-color: #19171a;
    --selection-color: #325a82;
    --separator-color: linear-gradient(to right, #325a82, #317095, #325a82); }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    --text-color-surface: #a0a1a2;
    --text-color-primary: #5eaadd;
    --text-color-secondary: #468cb4;
    --draw-color-primary: #317095;
    --draw-color-secondary: #23506e;
    --draw-color-surface: #282828;
    --background-color-ground: #141215;
    --background-color-surface: #141215;
    --submenu-header-background-hover-color: #1e2d3c;
    --submenu-header-draw-hover-color: #317095;
    --table-body-draw-color: #323232;
    --table-header-background-color: #1e1c1f;
    --table-body-stripe-color: #19171a;
    --selection-color: #325a82;
    --separator-color: linear-gradient(to right, #325a82, #317095, #325a82); } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Layout Components (cylian-specific)                     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Header Theme                                            - */
/* -                                                          - */
/* - Note: Additional header styles are defined in:          - */
/* -   • logo/_logo.scss (logo, slogan, height)              - */
/* -   • menu/_header.scss (navigation menu)                 - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Scope: header#theme-header                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
header#theme-header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  margin: 0;
  color: var(--text-color-surface);
  user-select: none;
  /* Header Spacer (supports both legacy and core architecture) */ }
  header#theme-header > theme-header-spacer,
  header#theme-header > .spacer {
    flex: 1 1 auto; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Before Theme                                            - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Scope: layout-before                                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
header#theme-before {
  display: block;
  user-select: none; }
  header#theme-before h1:has(+ .slogan) {
    margin-bottom: 1rem; }
  header#theme-before .slogan {
    text-align: center;
    font-style: italic;
    color: var(--text-color-secondary);
    max-width: 800px;
    margin: 0 auto 4rem; }
    header#theme-before .slogan span {
      display: none; }
      header#theme-before .slogan span:first-child {
        display: block; }
      header#theme-before .slogan span::before, header#theme-before .slogan span::after {
        content: '—';
        opacity: 0.3;
        margin: 0 0.75rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Main Theme                                              - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Scope: main#theme-main                                  - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
main#theme-main {
  display: block;
  overflow: clip;
  margin: 0;
  padding: 0;
  color: var(--text-color-surface);
  font-size: 1.125rem;
  text-align: justify; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Menu Components                                         - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Menu Theme (Header)                                     - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Variables                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Scope: header#theme-header                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
header#theme-header > nav#menu-header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-items: center; }

header#theme-header > nav#menu-header > div.menu-container {
  display: inline-block;
  position: relative;
  color: var(--menu-header-text-color);
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Generic Elements                                         - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Top Level Menu Link                                      - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Top Level Menu Button                                   - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Dropdown Menu Container                                 - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Menu States                                             - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ }
  header#theme-header > nav#menu-header > div.menu-container a {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    box-sizing: content-box;
    min-height: 2.75rem;
    min-width: 2.75rem;
    margin: 0;
    padding: .125rem;
    color: inherit; }
  header#theme-header > nav#menu-header > div.menu-container > a.link {
    justify-content: center;
    align-items: center;
    padding: 1rem;
    font-weight: 300;
    text-transform: uppercase;
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
    background-color: transparent;
    cursor: pointer;
    transition: border-color 500ms, color 500ms;
    /* Link Text */ }
    header#theme-header > nav#menu-header > div.menu-container > a.link.focus {
      border-bottom-color: var(--menu-header-draw-color); }
    header#theme-header > nav#menu-header > div.menu-container > a.link > span {
      line-height: 0; }
  header#theme-header > nav#menu-header > div.menu-container > a.button {
    justify-content: center;
    align-items: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 2px solid transparent;
    border-radius: 50%;
    background-color: transparent;
    outline: none;
    cursor: pointer;
    transition: border-color 500ms; }
    header#theme-header > nav#menu-header > div.menu-container > a.button object.icon {
      width: 1.125rem;
      height: 1.125rem; }
  header#theme-header > nav#menu-header > div.menu-container > ul.menu-container {
    display: none;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: stretch;
    position: absolute;
    top: 100%;
    left: 0;
    box-sizing: border-box;
    width: 300px;
    margin: 0;
    padding: 0;
    z-index: 1024;
    background-color: var(--submenu-header-background-color);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--text-color-surface) 25%, transparent);
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    list-style: none;
    overflow: hidden;
    /* Menu Item */
    /* Spacer */
    /* Menu Item (Regular) */
    /* Menu Item (Group) */ }
    header#theme-header > nav#menu-header > div.menu-container > ul.menu-container li {
      padding: 1px 0;
      color: var(--submenu-header-text-color);
      /* Item Link */ }
      header#theme-header > nav#menu-header > div.menu-container > ul.menu-container li > a.link {
        min-height: 2rem;
        padding: .125rem .5rem;
        color: inherit;
        font-weight: 300;
        /* Link Text */ }
        header#theme-header > nav#menu-header > div.menu-container > ul.menu-container li > a.link > span {
          line-height: 0;
          padding-left: 0.1875rem;
          padding-right: 0.1875rem; }
    header#theme-header > nav#menu-header > div.menu-container > ul.menu-container .spacer {
      flex: 1;
      padding-top: .25rem;
      padding-bottom: .25rem; }
      header#theme-header > nav#menu-header > div.menu-container > ul.menu-container .spacer > hr {
        padding: 0;
        margin: 0 var(--layout-spacing); }
    header#theme-header > nav#menu-header > div.menu-container > ul.menu-container li.menu-item {
      border-left: 5px solid transparent;
      padding-left: 5px;
      transition: border-color 250ms, background-color 250ms, color 250ms; }
      header#theme-header > nav#menu-header > div.menu-container > ul.menu-container li.menu-item:hover, header#theme-header > nav#menu-header > div.menu-container > ul.menu-container li.menu-item.focus {
        color: var(--submenu-header-text-hover-color);
        background-color: var(--submenu-header-background-hover-color);
        border-left-color: var(--submenu-header-draw-hover-color); }
    header#theme-header > nav#menu-header > div.menu-container > ul.menu-container li.menu-group {
      padding-top: .5rem;
      background-clip: content-box;
      /* Group Link */ }
      header#theme-header > nav#menu-header > div.menu-container > ul.menu-container li.menu-group > a.link {
        font-size: 1.0625rem;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: .125rem; }
      header#theme-header > nav#menu-header > div.menu-container > ul.menu-container li.menu-group:hover, header#theme-header > nav#menu-header > div.menu-container > ul.menu-container li.menu-group.focus {
        color: var(--submenu-header-text-hover-color);
        background-color: var(--submenu-header-background-hover-color); }
  header#theme-header > nav#menu-header > div.menu-container.focus > a.link {
    border-bottom-color: var(--menu-header-draw-color); }
  header#theme-header > nav#menu-header > div.menu-container.focus > a.button {
    border-color: var(--menu-header-draw-color); }
  header#theme-header > nav#menu-header > div.menu-container:hover > a.link {
    color: var(--menu-header-text-hover-color);
    border-bottom-color: var(--menu-header-draw-color); }
  header#theme-header > nav#menu-header > div.menu-container:hover > a.link + ul.menu-container {
    display: flex; }
  header#theme-header > nav#menu-header > div.menu-container.open > a.button {
    border-color: var(--menu-header-draw-color); }
  header#theme-header > nav#menu-header > div.menu-container.open > ul.menu-container {
    display: flex; }
  header#theme-header > nav#menu-header > div.menu-container:last-child > ul.menu-container {
    left: auto;
    right: 0;
    min-width: 300px; }
    @media only screen and (max-width: 574px) {
      header#theme-header > nav#menu-header > div.menu-container:last-child > ul.menu-container {
        width: calc(100vw - 2 * var(--layout-spacing)); } }
    @media only screen and (min-width: 575px) and (max-width: 766px) {
      header#theme-header > nav#menu-header > div.menu-container:last-child > ul.menu-container {
        width: calc(50vw - var(--layout-spacing)); } }
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Menu Theme (Footer)                                     - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Scope: footer#theme-footer                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
footer#theme-footer {
  display: flex;
  flex: 1 1 auto;
  gap: var(--layout-spacing);
  margin: 0;
  padding: 0.5rem 0 0;
  border-top: 1px solid var(--menu-footer-draw-color);
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Generic Elements                                         - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Top Level Menu Link                                      - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* Spacer */ }
  footer#theme-footer label,
  footer#theme-footer a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap;
    box-sizing: content-box;
    margin: 0;
    padding: .125rem;
    color: inherit;
    font-weight: 300; }
  footer#theme-footer > nav {
    display: flex;
    flex-flow: row nowrap;
    gap: var(--layout-spacing); }
  footer#theme-footer > nav > a.link {
    color: var(--menu-footer-text-color); }
    footer#theme-footer > nav > a.link:hover {
      color: var(--menu-footer-text-hover-color); }
  footer#theme-footer .spacer {
    flex: 1; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Responsive: Vertical Footer (< S)                       - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media only screen and (max-width: 766px) {
  footer#theme-footer {
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: stretch; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Responsive: Horizontal Footer (≥ S)                     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media only screen and (min-width: 767px) {
  footer#theme-footer {
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Visual Components                                       - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Logo Theme                                              - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Variables                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Scope: header#theme-header                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
header#theme-header {
  padding-right: 0;
  padding-bottom: 0;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-origin: padding-box;
  background-clip: padding-box;
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Responsive Logo Sizes                                   - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Logo Slogan                                              - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ }
  @media only screen and (max-width: 574px) {
    header#theme-header {
      height: 30px;
      background-image: url("/_img/logo/cylian-t@light.png");
      background-size: 75px 30px;
      background-position: 0 center;
      padding-top: 0;
      padding-left: 75px; } }
  @media only screen and (max-width: 574px) {
    :root[data-theme='dark'] header#theme-header {
      background-image: url("/_img/logo/cylian-t@dark.png"); } }
  @media only screen and (min-width: 575px) and (max-width: 766px) {
    header#theme-header {
      height: 45px;
      background-image: url("/_img/logo/cylian-s@light.png");
      background-size: 112px 45px;
      background-position: 0 center;
      padding-top: 0;
      padding-left: 112px; } }
  @media only screen and (min-width: 575px) and (max-width: 766px) {
    :root[data-theme='dark'] header#theme-header {
      background-image: url("/_img/logo/cylian-s@dark.png"); } }
  @media only screen and (min-width: 767px) and (max-width: 990px) {
    header#theme-header {
      height: 52px;
      background-image: url("/_img/logo/cylian-m@light.png");
      background-size: 174px 70px;
      padding-top: 20px;
      padding-left: 174px; } }
  @media only screen and (min-width: 767px) and (max-width: 990px) {
    :root[data-theme='dark'] header#theme-header {
      background-image: url("/_img/logo/cylian-m@dark.png"); } }
  @media only screen and (min-width: 991px) {
    header#theme-header {
      height: 72px;
      background-image: url("/_img/logo/cylian-l@light.png");
      background-size: 224px 90px;
      padding-top: 24px;
      padding-left: 224px; } }
  @media only screen and (min-width: 991px) {
    :root[data-theme='dark'] header#theme-header {
      background-image: url("/_img/logo/cylian-l@dark.png"); } }
  header#theme-header > logo-slogan {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: stretch;
    margin: 0 0 0 9px;
    padding: 9px;
    color: var(--text-color-surface);
    border-left: 2px solid var(--slogan-draw-color);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    /* Slogan Line */ }
    header#theme-header > logo-slogan > logo-slogan-line {
      display: block; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Banner Theme                                            - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Variables                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Scope: header#theme-before                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
header#theme-before > section#theme-banner {
  display: flex;
  gap: 0.25rem;
  margin: 0;
  padding: 0.25rem;
  height: 480px;
  position: relative;
  overflow: hidden;
  color: var(--text-color-surface);
  background-color: var(--background-color-surface);
  border: 1px solid var(--draw-color-surface);
  border-radius: 6px;
  text-align: center; }
  header#theme-before > section#theme-banner:empty {
    background-repeat: no-repeat;
    background-position: center;
    background-size: 128px 112px; }
    [data-theme="light"] header#theme-before > section#theme-banner:empty {
      background-image: url("/_img/banner/placeholder@light.svg"); }
    [data-theme="dark"] header#theme-before > section#theme-banner:empty {
      background-image: url("/_img/banner/placeholder@dark.svg"); }
  header#theme-before > section#theme-banner > img.banner-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    z-index: 0;
    transition: opacity 300ms ease-in-out; }
    header#theme-before > section#theme-banner > img.banner-img.active {
      opacity: 1; }
    header#theme-before > section#theme-banner > img.banner-img:not(.active) {
      opacity: 0; }
  header#theme-before > section#theme-banner > .tag {
    z-index: 1;
    margin: .25rem; }
    header#theme-before > section#theme-banner > .tag:has(span:empty) {
      display: none; }
    header#theme-before > section#theme-banner > .tag.tag-action {
      cursor: pointer; }
  header#theme-before > section#theme-banner > hr {
    padding: 0;
    margin: 0;
    border: none;
    flex: 1 1 auto; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Responsive Breakpoints                                  - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media only screen and (max-width: 766px) {
  header#theme-before > section#theme-banner {
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: flex-start; } }

@media only screen and (min-width: 767px) {
  header#theme-before > section#theme-banner {
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: flex-end; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Breadcrumb Theme                                        - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Scope: header#theme-before                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
header#theme-before > nav#breadcrumb-container {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
  margin: 0.375rem 0;
  padding: 0;
  color: var(--text-color-surface);
  font-size: 0.625rem;
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Breadcrumb Link                                          - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Breadcrumb Link Hover                                    - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  /* - Breadcrumb Item                                          - */
  /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ }
  header#theme-before > nav#breadcrumb-container > a {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    box-sizing: content-box;
    min-height: 2.75rem;
    min-width: 2.75rem;
    margin: 0;
    padding: 0.125rem;
    color: inherit;
    font-weight: 300; }
  header#theme-before > nav#breadcrumb-container > a.link {
    transition: color 500ms; }
    header#theme-before > nav#breadcrumb-container > a.link:hover {
      color: var(--text-color-primary); }
  header#theme-before > nav#breadcrumb-container a, header#theme-before > nav#breadcrumb-container span.current {
    flex: 0 0 auto; }
    header#theme-before > nav#breadcrumb-container a.current, header#theme-before > nav#breadcrumb-container span.current.current {
      font-weight: 600; }
  header#theme-before > nav#breadcrumb-container a ~ a::before,
  header#theme-before > nav#breadcrumb-container a ~ span.current::before {
    content: '〉';
    padding-left: 0.1875rem;
    padding-right: 0.1875rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Page Styles                                             - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Error Pages Theme (404, 500)                            - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Screen Reader Only                                       - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Error Page Container                                     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.error-page {
  max-width: 50rem;
  margin: 2rem auto;
  padding: 2rem;
  text-align: center;
  /* Navigation alternative */ }
  .error-page header {
    margin-bottom: 2rem; }
    .error-page header h1 {
      color: var(--text-color-primary);
      font-size: 2.5rem;
      margin-bottom: 0.5rem; }
    .error-page header .error-code {
      font-size: 1.2rem;
      color: var(--text-color-surface);
      font-weight: 600; }
  .error-page section {
    margin: 2rem 0;
    text-align: left; }
    .error-page section h2 {
      color: var(--text-color-primary);
      font-size: 1.5rem;
      margin-bottom: 1rem; }
    .error-page section p {
      line-height: 1.6;
      margin-bottom: 1rem; }
    .error-page section ul {
      list-style-type: disc;
      margin-left: 2rem;
      line-height: 1.8; }
      .error-page section ul li {
        margin-bottom: 0.5rem; }
        .error-page section ul li a {
          color: var(--link-text-color);
          border-bottom: 1px solid transparent;
          transition: border-color 250ms; }
          .error-page section ul li a:hover, .error-page section ul li a:focus {
            border-bottom-color: var(--link-text-color);
            outline: 2px solid var(--link-text-color);
            outline-offset: 2px; }
        .error-page section ul li strong {
          color: var(--text-color-primary); }
  .error-page nav[aria-label="Navigation de secours"] ul {
    list-style-type: none;
    margin-left: 0;
    padding: 1rem;
    background-color: color-mix(in srgb, var(--background-color-surface) 50%, transparent);
    border-radius: 4px; }
    .error-page nav[aria-label="Navigation de secours"] ul li {
      margin-bottom: 0.75rem; }
      .error-page nav[aria-label="Navigation de secours"] ul li::before {
        content: "→ ";
        color: var(--link-text-color);
        font-weight: bold; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Error 404 Specific                                       - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.error-404 header h1 {
  color: var(--link-text-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Error 500 Specific                                       - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.error-500 header h1 {
  color: var(--color-danger); }

.error-500 .error-code {
  color: var(--color-danger); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Responsive                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media (width <= 767px) {
  .error-page {
    padding: 1rem; }
    .error-page header h1 {
      font-size: 2rem; }
    .error-page section h2 {
      font-size: 1.2rem; } }

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