@charset "UTF-8";
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Layout CSS - v2.0                                       - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@use "sass:math";
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Variables                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Layout Variables                                        - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - SCSS Variables                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media (max-width: 574px) {
  :root {
    --layout-spacing: 10px; } }

@media (min-width: 575px) and (max-width: 766px) {
  :root {
    --layout-spacing: 12px; } }

@media (min-width: 767px) and (max-width: 990px) {
  :root {
    --layout-spacing: 14px; } }

@media (min-width: 991px) and (max-width: 1198px) {
  :root {
    --layout-spacing: 16px; } }

@media (min-width: 1199px) {
  :root {
    --layout-spacing: 18px; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Layout Partials                                         - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Layout Container                                        - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Base Elements                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
html {
  margin: 0;
  padding: 0; }

body {
  margin: 0 auto;
  padding: 0;
  min-height: 100vh; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Layout Elements                                         - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
layout-header#layout-header {
  margin-top: var(--layout-spacing);
  margin-left: var(--layout-spacing);
  margin-right: var(--layout-spacing); }

layout-before#layout-before {
  margin-top: var(--layout-spacing);
  margin-left: var(--layout-spacing);
  margin-right: var(--layout-spacing); }

layout-left#layout-left {
  margin-top: var(--layout-spacing);
  margin-bottom: var(--layout-spacing);
  margin-left: var(--layout-spacing); }
  layout-left#layout-left:has(#theme-left:empty) {
    display: none; }
  @media only screen and (min-width: 991px) and (max-width: 1198px) {
    layout-left#layout-left {
      width: 256px; } }
  @media only screen and (min-width: 1199px) {
    layout-left#layout-left {
      width: 320px; } }
  @media only screen and (min-width: 767px) and (max-width: 990px) {
    layout-left#layout-left {
      margin-right: var(--layout-spacing);
      margin-bottom: 0; } }
  @media only screen and (max-width: 766px) {
    layout-left#layout-left {
      margin-right: var(--layout-spacing);
      margin-bottom: 0; } }
layout-right#layout-right {
  margin-top: var(--layout-spacing);
  margin-right: var(--layout-spacing);
  margin-bottom: var(--layout-spacing); }
  layout-right#layout-right:has(#theme-right:empty) {
    display: none; }
  @media only screen and (min-width: 991px) and (max-width: 1198px) {
    layout-right#layout-right {
      width: 256px; } }
  @media only screen and (min-width: 1199px) {
    layout-right#layout-right {
      width: 320px; } }
  @media only screen and (min-width: 767px) and (max-width: 990px) {
    layout-right#layout-right {
      margin-left: var(--layout-spacing);
      margin-bottom: 0; }
      layout-left:has(#theme-left:not(:empty)) ~ layout-right#layout-right {
        margin-left: 0; } }
  @media only screen and (max-width: 766px) {
    layout-right#layout-right {
      margin-left: var(--layout-spacing);
      margin-bottom: 0; } }
layout-main#layout-main {
  margin: var(--layout-spacing) var(--layout-spacing) var(--layout-spacing) var(--layout-spacing); }

layout-after#layout-after {
  margin-left: var(--layout-spacing);
  margin-bottom: var(--layout-spacing);
  margin-right: var(--layout-spacing); }
  layout-after#layout-after:empty {
    display: none; }

layout-footer#layout-footer {
  margin-left: var(--layout-spacing);
  margin-bottom: var(--layout-spacing);
  margin-right: var(--layout-spacing); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Layout Modal                                            - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
layout-modal {
  display: none;
  position: fixed;
  inset: 0; }
  layout-modal:target {
    display: block; }
  layout-modal.show {
    display: block; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Layout Grid System                                      - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Grid Container                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
body {
  display: grid;
  place-content: stretch stretch; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Grid Areas                                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
layout-header#layout-header {
  grid-area: h;
  place-self: stretch stretch; }

layout-before#layout-before {
  grid-area: b;
  place-self: stretch stretch; }

layout-left#layout-left {
  grid-area: l;
  place-self: stretch stretch; }

layout-main#layout-main {
  grid-area: m;
  place-self: stretch stretch;
  min-width: 0; }

layout-right#layout-right {
  grid-area: r;
  place-self: stretch stretch; }

layout-after#layout-after {
  grid-area: a;
  place-self: stretch stretch; }

layout-footer#layout-footer {
  grid-area: f;
  place-self: stretch stretch; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Responsive Grid Layouts                                 - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media only screen and (max-width: 766px) {
  body {
    grid-template: "h" auto "b" auto "l" auto "r" auto "m" 1fr "a" auto "f" auto / 100%; } }

@media only screen and (min-width: 767px) and (max-width: 990px) {
  body {
    grid-template: "h h" auto "b b" auto "l r" auto "m m" 1fr "a a" auto "f f" auto / 50% 50%; }
  body:not(:has(layout-left)), body:has(#theme-left:empty) {
    grid-template: "h" auto "b" auto "r" auto "m" 1fr "a" auto "f" auto / 100%; }
  body:not(:has(layout-right)), body:has(#theme-right:empty) {
    grid-template: "h" auto "b" auto "l" auto "m" 1fr "a" auto "f" auto / 100%; } }

@media only screen and (min-width: 991px) {
  body {
    grid-template: "h h h" auto "b b b" auto "l m r" 1fr "a a a" auto "f f f" auto / auto 1fr auto; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Theme Detection                                         - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Theme Detection                                         - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Theme Mode Detection                                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
:root[data-theme-mode='forced'] .theme-is-auto {
  display: none; }

:root[data-theme-mode='auto'] .theme-is-forced {
  display: none; }

:root:not([data-theme-mode]) .theme-is-forced {
  display: none; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Theme Detection - Dark                                  - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
:root[data-theme='dark'] .theme-is-light {
  display: none; }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .theme-is-light {
    display: none; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Theme Detection - Light                                 - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
:root[data-theme='light'] .theme-is-dark {
  display: none; }

@media (prefers-color-scheme: light), (false: dark) {
  :root:not([data-theme]) .theme-is-dark {
    display: none; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Screen Size Detection                                   - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Screen Size Detection - Tiny                            - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Media Query - Tiny screens                              - */
/* - Breakpoint: [ -∞ : 575px ]                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media only screen and (max-width: 574px) {
  :root {
    --screen-size: 5; }
  .screen-is-not-t {
    display: none !important; }
  .screen-is-s {
    display: none !important; }
  .screen-is-m {
    display: none !important; }
  .screen-is-l {
    display: none !important; }
  .screen-is-w {
    display: none !important; }
  .screen-is-s-or-more {
    display: none !important; }
  .screen-is-m-or-more {
    display: none !important; }
  .screen-is-l-or-more {
    display: none !important; }
  .screen-is-w-or-more {
    display: none !important; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Screen Size Detection - Small                           - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Media Query - Small screens                             - */
/* - Breakpoint: ] 575px : 767px ]                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media only screen and (min-width: 575px) and (max-width: 766px) {
  :root {
    --screen-size: 4; }
  .screen-is-t {
    display: none !important; }
  .screen-is-not-s {
    display: none !important; }
  .screen-is-m {
    display: none !important; }
  .screen-is-l {
    display: none !important; }
  .screen-is-w {
    display: none !important; }
  .screen-is-t-or-less {
    display: none !important; }
  .screen-is-m-or-more {
    display: none !important; }
  .screen-is-l-or-more {
    display: none !important; }
  .screen-is-w-or-more {
    display: none !important; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Screen Size Detection - Medium                          - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Media Query - Medium screens                            - */
/* - Breakpoint: ] 767px : 991px ]                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media only screen and (min-width: 767px) and (max-width: 990px) {
  :root {
    --screen-size: 3; }
  .screen-is-t {
    display: none !important; }
  .screen-is-s {
    display: none !important; }
  .screen-is-not-m {
    display: none !important; }
  .screen-is-l {
    display: none !important; }
  .screen-is-w {
    display: none !important; }
  .screen-is-t-or-less {
    display: none !important; }
  .screen-is-s-or-less {
    display: none !important; }
  .screen-is-l-or-more {
    display: none !important; }
  .screen-is-w-or-more {
    display: none !important; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Screen Size Detection - Large                           - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Media Query - Large screens                             - */
/* - Breakpoint: ] 991px : 1199px ]                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media only screen and (min-width: 991px) and (max-width: 1198px) {
  :root {
    --screen-size: 2; }
  .screen-is-t {
    display: none !important; }
  .screen-is-s {
    display: none !important; }
  .screen-is-m {
    display: none !important; }
  .screen-is-not-l {
    display: none !important; }
  .screen-is-w {
    display: none !important; }
  .screen-is-t-or-less {
    display: none !important; }
  .screen-is-s-or-less {
    display: none !important; }
  .screen-is-m-or-less {
    display: none !important; }
  .screen-is-w-or-more {
    display: none !important; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Screen Size Detection - Wide                            - */
/* -                                                         - */
/* - ✓ VALIDATED: 2025-12-07                                - */
/* - Author: Cylian                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Media Query - Wide screens                              - */
/* - Breakpoint: ] 1199px : +∞ ]                             - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media only screen and (min-width: 1199px) {
  :root {
    --screen-size: 1; }
  .screen-is-t {
    display: none !important; }
  .screen-is-s {
    display: none !important; }
  .screen-is-m {
    display: none !important; }
  .screen-is-l {
    display: none !important; }
  .screen-is-not-w {
    display: none !important; }
  .screen-is-t-or-less {
    display: none !important; }
  .screen-is-s-or-less {
    display: none !important; }
  .screen-is-m-or-less {
    display: none !important; }
  .screen-is-l-or-less {
    display: none !important; } }

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