@charset "UTF-8";
/*
 * Genocost
 * By Holsonmp
 */
/* Source : assets/vendor/bootstrap/css/bootstrap.min.css */
/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,
[data-bs-theme=light] {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #0d6efd;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 13, 110, 253;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-primary-text-emphasis: #052c65;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-success-text-emphasis: #0a3622;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger-text-emphasis: #58151c;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
    --bs-primary-bg-subtle: #cfe2ff;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-success-bg-subtle: #d1e7dd;
    --bs-info-bg-subtle: #cff4fc;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-danger-bg-subtle: #f8d7da;
    --bs-light-bg-subtle: #fcfcfd;
    --bs-dark-bg-subtle: #ced4da;
    --bs-primary-border-subtle: #9ec5fe;
    --bs-secondary-border-subtle: #c4c8cb;
    --bs-success-border-subtle: #a3cfbb;
    --bs-info-border-subtle: #9eeaf9;
    --bs-warning-border-subtle: #ffe69c;
    --bs-danger-border-subtle: #f1aeb5;
    --bs-light-border-subtle: #e9ecef;
    --bs-dark-border-subtle: #adb5bd;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-secondary-color: rgba(33, 37, 41, 0.75);
    --bs-secondary-color-rgb: 33, 37, 41;
    --bs-secondary-bg: #e9ecef;
    --bs-secondary-bg-rgb: 233, 236, 239;
    --bs-tertiary-color: rgba(33, 37, 41, 0.5);
    --bs-tertiary-color-rgb: 33, 37, 41;
    --bs-tertiary-bg: #f8f9fa;
    --bs-tertiary-bg-rgb: 248, 249, 250;
    --bs-heading-color: inherit;
    --bs-link-color: #0d6efd;
    --bs-link-color-rgb: 13, 110, 253;
    --bs-link-decoration: underline;
    --bs-link-hover-color: #0a58ca;
    --bs-link-hover-color-rgb: 10, 88, 202;
    --bs-code-color: #d63384;
    --bs-highlight-color: #212529;
    --bs-highlight-bg: #fff3cd;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-focus-ring-width: 0.25rem;
    --bs-focus-ring-opacity: 0.25;
    --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
    --bs-form-valid-color: #198754;
    --bs-form-valid-border-color: #198754;
    --bs-form-invalid-color: #dc3545;
    --bs-form-invalid-border-color: #dc3545
}

[data-bs-theme=dark] {
    color-scheme: dark;
    --bs-body-color: #dee2e6;
    --bs-body-color-rgb: 222, 226, 230;
    --bs-body-bg: #212529;
    --bs-body-bg-rgb: 33, 37, 41;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: rgba(222, 226, 230, 0.75);
    --bs-secondary-color-rgb: 222, 226, 230;
    --bs-secondary-bg: #343a40;
    --bs-secondary-bg-rgb: 52, 58, 64;
    --bs-tertiary-color: rgba(222, 226, 230, 0.5);
    --bs-tertiary-color-rgb: 222, 226, 230;
    --bs-tertiary-bg: #2b3035;
    --bs-tertiary-bg-rgb: 43, 48, 53;
    --bs-primary-text-emphasis: #6ea8fe;
    --bs-secondary-text-emphasis: #a7acb1;
    --bs-success-text-emphasis: #75b798;
    --bs-info-text-emphasis: #6edff6;
    --bs-warning-text-emphasis: #ffda6a;
    --bs-danger-text-emphasis: #ea868f;
    --bs-light-text-emphasis: #f8f9fa;
    --bs-dark-text-emphasis: #dee2e6;
    --bs-primary-bg-subtle: #031633;
    --bs-secondary-bg-subtle: #161719;
    --bs-success-bg-subtle: #051b11;
    --bs-info-bg-subtle: #032830;
    --bs-warning-bg-subtle: #332701;
    --bs-danger-bg-subtle: #2c0b0e;
    --bs-light-bg-subtle: #343a40;
    --bs-dark-bg-subtle: #1a1d20;
    --bs-primary-border-subtle: #084298;
    --bs-secondary-border-subtle: #41464b;
    --bs-success-border-subtle: #0f5132;
    --bs-info-border-subtle: #087990;
    --bs-warning-border-subtle: #997404;
    --bs-danger-border-subtle: #842029;
    --bs-light-border-subtle: #495057;
    --bs-dark-border-subtle: #343a40;
    --bs-heading-color: inherit;
    --bs-link-color: #6ea8fe;
    --bs-link-hover-color: #8bb9fe;
    --bs-link-color-rgb: 110, 168, 254;
    --bs-link-hover-color-rgb: 139, 185, 254;
    --bs-code-color: #e685b5;
    --bs-highlight-color: #dee2e6;
    --bs-highlight-bg: #664d03;
    --bs-border-color: #495057;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
    --bs-form-valid-color: #75b798;
    --bs-form-valid-border-color: #75b798;
    --bs-form-invalid-color: #ea868f;
    --bs-form-invalid-border-color: #ea868f
}

*,
::after,
::before {
    box-sizing: border-box
}

@media (prefers-reduced-motion:no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

hr {
    margin: 1rem 0;
    color: inherit;
    border: 0;
    border-top: var(--bs-border-width) solid;
    opacity: .25
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--bs-heading-color)
}

.h1,
h1 {
    font-size: calc(1.375rem + 1.5vw)
}

@media (min-width:1200px) {

    .h1,
    h1 {
        font-size: 2.5rem
    }
}

.h2,
h2 {
    font-size: calc(1.325rem + .9vw)
}

@media (min-width:1200px) {

    .h2,
    h2 {
        font-size: 2rem
    }
}

.h3,
h3 {
    font-size: calc(1.3rem + .6vw)
}

@media (min-width:1200px) {

    .h3,
    h3 {
        font-size: 1.75rem
    }
}

.h4,
h4 {
    font-size: calc(1.275rem + .3vw)
}

@media (min-width:1200px) {

    .h4,
    h4 {
        font-size: 1.5rem
    }
}

.h5,
h5 {
    font-size: 1.25rem
}

.h6,
h6 {
    font-size: 1rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit
}

ol,
ul {
    padding-left: 2rem
}

dl,
ol,
ul {
    margin-top: 0;
    margin-bottom: 1rem
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin-bottom: 0
}

dt {
    font-weight: 700
}

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

blockquote {
    margin: 0 0 1rem
}

b,
strong {
    font-weight: bolder
}

.small,
small {
    font-size: .875em
}

.mark,
mark {
    padding: .1875em;
    color: var(--bs-highlight-color);
    background-color: var(--bs-highlight-bg)
}

sub,
sup {
    position: relative;
    font-size: .75em;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

a {
    color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
    text-decoration: underline
}

a:hover {
    --bs-link-color-rgb: var(--bs-link-hover-color-rgb)
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}

code,
kbd,
pre,
samp {
    font-family: var(--bs-font-monospace);
    font-size: 1em
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: .875em
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal
}

code {
    font-size: .875em;
    color: var(--bs-code-color);
    word-wrap: break-word
}

a>code {
    color: inherit
}

kbd {
    padding: .1875rem .375rem;
    font-size: .875em;
    color: var(--bs-body-bg);
    background-color: var(--bs-body-color);
    border-radius: .25rem
}

kbd kbd {
    padding: 0;
    font-size: 1em
}

figure {
    margin: 0 0 1rem
}

img,
svg {
    vertical-align: middle
}

table {
    caption-side: bottom;
    border-collapse: collapse
}

caption {
    padding-top: .5rem;
    padding-bottom: .5rem;
    color: var(--bs-secondary-color);
    text-align: left
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent
}

tbody,
td,
tfoot,
th,
thead,
tr {
    border-color: inherit;
    border-style: solid;
    border-width: 0
}

label {
    display: inline-block
}

button {
    border-radius: 0
}

button:focus:not(:focus-visible) {
    outline: 0
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button,
select {
    text-transform: none
}

[role=button] {
    cursor: pointer
}

select {
    word-wrap: normal
}

select:disabled {
    opacity: 1
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
    display: none !important
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
    cursor: pointer
}

::-moz-focus-inner {
    padding: 0;
    border-style: none
}

textarea {
    resize: vertical
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

legend {
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: .5rem;
    line-height: inherit;
    font-size: calc(1.275rem + .3vw)
}

@media (min-width:1200px) {
    legend {
        font-size: 1.5rem
    }
}

legend+* {
    clear: left
}

::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-year-field {
    padding: 0
}

::-webkit-inner-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-cancel-button {
    cursor: pointer;
    filter: grayscale(1)
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-color-swatch-wrapper {
    padding: 0
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

::file-selector-button {
    font: inherit;
    -webkit-appearance: button
}

output {
    display: inline-block
}

iframe {
    border: 0
}

summary {
    display: list-item;
    cursor: pointer
}

progress {
    vertical-align: baseline
}

[hidden] {
    display: none !important
}

.lead {
    font-size: 1.25rem;
    font-weight: 300
}

.display-1 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.625rem + 4.5vw)
}

@media (min-width:1200px) {
    .display-1 {
        font-size: 5rem
    }
}

.display-2 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.575rem + 3.9vw)
}

@media (min-width:1200px) {
    .display-2 {
        font-size: 4.5rem
    }
}

.display-3 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.525rem + 3.3vw)
}

@media (min-width:1200px) {
    .display-3 {
        font-size: 4rem
    }
}

.display-4 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.475rem + 2.7vw)
}

@media (min-width:1200px) {
    .display-4 {
        font-size: 3.5rem
    }
}

.display-5 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.425rem + 2.1vw)
}

@media (min-width:1200px) {
    .display-5 {
        font-size: 3rem
    }
}

.display-6 {
    font-weight: 300;
    line-height: 1.2;
    font-size: calc(1.375rem + 1.5vw)
}

@media (min-width:1200px) {
    .display-6 {
        font-size: 2.5rem
    }
}

.list-unstyled {
    padding-left: 0;
    list-style: none
}

.list-inline {
    padding-left: 0;
    list-style: none
}

.list-inline-item {
    display: inline-block
}

.list-inline-item:not(:last-child) {
    margin-right: .5rem
}

.initialism {
    font-size: .875em;
    text-transform: uppercase
}

.blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem
}

.blockquote>:last-child {
    margin-bottom: 0
}

.blockquote-footer {
    margin-top: -1rem;
    margin-bottom: 1rem;
    font-size: .875em;
    color: #6c757d
}

.blockquote-footer::before {
    content: "— "
}

.img-fluid {
    max-width: 100%;
    height: auto
}

.img-thumbnail {
    padding: .25rem;
    background-color: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    max-width: 100%;
    height: auto
}

.figure {
    display: inline-block
}

.figure-img {
    margin-bottom: .5rem;
    line-height: 1
}

.figure-caption {
    font-size: .875em;
    color: var(--bs-secondary-color)
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-right: auto;
    margin-left: auto
}

@media (min-width:576px) {

    .container,
    .container-sm {
        max-width: 640px
    }
}

@media (min-width:768px) {

    .container,
    .container-md,
    .container-sm {
        max-width: 720px
    }
}

@media (min-width:992px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm {
        max-width: 960px
    }
}

@media (min-width:1200px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 1140px
    }
}

@media (min-width:1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1320px
    }
}

:root {
    --bs-breakpoint-xs: 0;
    --bs-breakpoint-sm: 576px;
    --bs-breakpoint-md: 768px;
    --bs-breakpoint-lg: 992px;
    --bs-breakpoint-xl: 1200px;
    --bs-breakpoint-xxl: 1400px
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x))
}

.row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y)
}

.col {
    flex: 1 0 0
}

.row-cols-auto>* {
    flex: 0 0 auto;
    width: auto
}

.row-cols-1>* {
    flex: 0 0 auto;
    width: 100%
}

.row-cols-2>* {
    flex: 0 0 auto;
    width: 50%
}

.row-cols-3>* {
    flex: 0 0 auto;
    width: 33.33333333%
}

.row-cols-4>* {
    flex: 0 0 auto;
    width: 25%
}

.row-cols-5>* {
    flex: 0 0 auto;
    width: 20%
}

.row-cols-6>* {
    flex: 0 0 auto;
    width: 16.66666667%
}

.col-auto {
    flex: 0 0 auto;
    width: auto
}

.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%
}

.col-3 {
    flex: 0 0 auto;
    width: 25%
}

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%
}

.col-6 {
    flex: 0 0 auto;
    width: 50%
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%
}

.col-9 {
    flex: 0 0 auto;
    width: 75%
}

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%
}

.col-12 {
    flex: 0 0 auto;
    width: 100%
}

.offset-1 {
    margin-left: 8.33333333%
}

.offset-2 {
    margin-left: 16.66666667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.33333333%
}

.offset-5 {
    margin-left: 41.66666667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.33333333%
}

.offset-8 {
    margin-left: 66.66666667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.33333333%
}

.offset-11 {
    margin-left: 91.66666667%
}

.g-0,
.gx-0 {
    --bs-gutter-x: 0
}

.g-0,
.gy-0 {
    --bs-gutter-y: 0
}

.g-1,
.gx-1 {
    --bs-gutter-x: 0.25rem
}

.g-1,
.gy-1 {
    --bs-gutter-y: 0.25rem
}

.g-2,
.gx-2 {
    --bs-gutter-x: 0.5rem
}

.g-2,
.gy-2 {
    --bs-gutter-y: 0.5rem
}

.g-3,
.gx-3 {
    --bs-gutter-x: 1rem
}

.g-3,
.gy-3 {
    --bs-gutter-y: 1rem
}

.g-4,
.gx-4 {
    --bs-gutter-x: 1.5rem
}

.g-4,
.gy-4 {
    --bs-gutter-y: 1.5rem
}

.g-5,
.gx-5 {
    --bs-gutter-x: 3rem
}

.g-5,
.gy-5 {
    --bs-gutter-y: 3rem
}

@media (min-width:576px) {
    .col-sm {
        flex: 1 0 0
    }

    .row-cols-sm-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-sm-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-sm-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-sm-3>* {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .row-cols-sm-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-sm-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-sm-6>* {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-sm-0 {
        margin-left: 0
    }

    .offset-sm-1 {
        margin-left: 8.33333333%
    }

    .offset-sm-2 {
        margin-left: 16.66666667%
    }

    .offset-sm-3 {
        margin-left: 25%
    }

    .offset-sm-4 {
        margin-left: 33.33333333%
    }

    .offset-sm-5 {
        margin-left: 41.66666667%
    }

    .offset-sm-6 {
        margin-left: 50%
    }

    .offset-sm-7 {
        margin-left: 58.33333333%
    }

    .offset-sm-8 {
        margin-left: 66.66666667%
    }

    .offset-sm-9 {
        margin-left: 75%
    }

    .offset-sm-10 {
        margin-left: 83.33333333%
    }

    .offset-sm-11 {
        margin-left: 91.66666667%
    }

    .g-sm-0,
    .gx-sm-0 {
        --bs-gutter-x: 0
    }

    .g-sm-0,
    .gy-sm-0 {
        --bs-gutter-y: 0
    }

    .g-sm-1,
    .gx-sm-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-sm-1,
    .gy-sm-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-sm-2,
    .gx-sm-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-sm-2,
    .gy-sm-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-sm-3,
    .gx-sm-3 {
        --bs-gutter-x: 1rem
    }

    .g-sm-3,
    .gy-sm-3 {
        --bs-gutter-y: 1rem
    }

    .g-sm-4,
    .gx-sm-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-sm-4,
    .gy-sm-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-sm-5,
    .gx-sm-5 {
        --bs-gutter-x: 3rem
    }

    .g-sm-5,
    .gy-sm-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:768px) {
    .col-md {
        flex: 1 0 0
    }

    .row-cols-md-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-md-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-md-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-md-3>* {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .row-cols-md-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-md-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-md-6>* {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-md-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-md-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-md-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-md-0 {
        margin-left: 0
    }

    .offset-md-1 {
        margin-left: 8.33333333%
    }

    .offset-md-2 {
        margin-left: 16.66666667%
    }

    .offset-md-3 {
        margin-left: 25%
    }

    .offset-md-4 {
        margin-left: 33.33333333%
    }

    .offset-md-5 {
        margin-left: 41.66666667%
    }

    .offset-md-6 {
        margin-left: 50%
    }

    .offset-md-7 {
        margin-left: 58.33333333%
    }

    .offset-md-8 {
        margin-left: 66.66666667%
    }

    .offset-md-9 {
        margin-left: 75%
    }

    .offset-md-10 {
        margin-left: 83.33333333%
    }

    .offset-md-11 {
        margin-left: 91.66666667%
    }

    .g-md-0,
    .gx-md-0 {
        --bs-gutter-x: 0
    }

    .g-md-0,
    .gy-md-0 {
        --bs-gutter-y: 0
    }

    .g-md-1,
    .gx-md-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-md-1,
    .gy-md-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-md-2,
    .gx-md-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-md-2,
    .gy-md-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-md-3,
    .gx-md-3 {
        --bs-gutter-x: 1rem
    }

    .g-md-3,
    .gy-md-3 {
        --bs-gutter-y: 1rem
    }

    .g-md-4,
    .gx-md-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-md-4,
    .gy-md-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-md-5,
    .gx-md-5 {
        --bs-gutter-x: 3rem
    }

    .g-md-5,
    .gy-md-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:992px) {
    .col-lg {
        flex: 1 0 0
    }

    .row-cols-lg-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-lg-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-lg-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-lg-3>* {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .row-cols-lg-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-lg-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-lg-6>* {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-lg-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-lg-0 {
        margin-left: 0
    }

    .offset-lg-1 {
        margin-left: 8.33333333%
    }

    .offset-lg-2 {
        margin-left: 16.66666667%
    }

    .offset-lg-3 {
        margin-left: 25%
    }

    .offset-lg-4 {
        margin-left: 33.33333333%
    }

    .offset-lg-5 {
        margin-left: 41.66666667%
    }

    .offset-lg-6 {
        margin-left: 50%
    }

    .offset-lg-7 {
        margin-left: 58.33333333%
    }

    .offset-lg-8 {
        margin-left: 66.66666667%
    }

    .offset-lg-9 {
        margin-left: 75%
    }

    .offset-lg-10 {
        margin-left: 83.33333333%
    }

    .offset-lg-11 {
        margin-left: 91.66666667%
    }

    .g-lg-0,
    .gx-lg-0 {
        --bs-gutter-x: 0
    }

    .g-lg-0,
    .gy-lg-0 {
        --bs-gutter-y: 0
    }

    .g-lg-1,
    .gx-lg-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-lg-1,
    .gy-lg-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-lg-2,
    .gx-lg-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-lg-2,
    .gy-lg-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-lg-3,
    .gx-lg-3 {
        --bs-gutter-x: 1rem
    }

    .g-lg-3,
    .gy-lg-3 {
        --bs-gutter-y: 1rem
    }

    .g-lg-4,
    .gx-lg-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-lg-4,
    .gy-lg-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-lg-5,
    .gx-lg-5 {
        --bs-gutter-x: 3rem
    }

    .g-lg-5,
    .gy-lg-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:1200px) {
    .col-xl {
        flex: 1 0 0
    }

    .row-cols-xl-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-xl-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xl-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xl-3>* {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .row-cols-xl-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xl-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xl-6>* {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xl-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-xl-0 {
        margin-left: 0
    }

    .offset-xl-1 {
        margin-left: 8.33333333%
    }

    .offset-xl-2 {
        margin-left: 16.66666667%
    }

    .offset-xl-3 {
        margin-left: 25%
    }

    .offset-xl-4 {
        margin-left: 33.33333333%
    }

    .offset-xl-5 {
        margin-left: 41.66666667%
    }

    .offset-xl-6 {
        margin-left: 50%
    }

    .offset-xl-7 {
        margin-left: 58.33333333%
    }

    .offset-xl-8 {
        margin-left: 66.66666667%
    }

    .offset-xl-9 {
        margin-left: 75%
    }

    .offset-xl-10 {
        margin-left: 83.33333333%
    }

    .offset-xl-11 {
        margin-left: 91.66666667%
    }

    .g-xl-0,
    .gx-xl-0 {
        --bs-gutter-x: 0
    }

    .g-xl-0,
    .gy-xl-0 {
        --bs-gutter-y: 0
    }

    .g-xl-1,
    .gx-xl-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-xl-1,
    .gy-xl-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-xl-2,
    .gx-xl-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-xl-2,
    .gy-xl-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-xl-3,
    .gx-xl-3 {
        --bs-gutter-x: 1rem
    }

    .g-xl-3,
    .gy-xl-3 {
        --bs-gutter-y: 1rem
    }

    .g-xl-4,
    .gx-xl-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-xl-4,
    .gy-xl-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-xl-5,
    .gx-xl-5 {
        --bs-gutter-x: 3rem
    }

    .g-xl-5,
    .gy-xl-5 {
        --bs-gutter-y: 3rem
    }
}

@media (min-width:1400px) {
    .col-xxl {
        flex: 1 0 0
    }

    .row-cols-xxl-auto>* {
        flex: 0 0 auto;
        width: auto
    }

    .row-cols-xxl-1>* {
        flex: 0 0 auto;
        width: 100%
    }

    .row-cols-xxl-2>* {
        flex: 0 0 auto;
        width: 50%
    }

    .row-cols-xxl-3>* {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .row-cols-xxl-4>* {
        flex: 0 0 auto;
        width: 25%
    }

    .row-cols-xxl-5>* {
        flex: 0 0 auto;
        width: 20%
    }

    .row-cols-xxl-6>* {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xxl-auto {
        flex: 0 0 auto;
        width: auto
    }

    .col-xxl-1 {
        flex: 0 0 auto;
        width: 8.33333333%
    }

    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%
    }

    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%
    }

    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%
    }

    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%
    }

    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%
    }

    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%
    }

    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%
    }

    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%
    }

    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%
    }

    .col-xxl-11 {
        flex: 0 0 auto;
        width: 91.66666667%
    }

    .col-xxl-12 {
        flex: 0 0 auto;
        width: 100%
    }

    .offset-xxl-0 {
        margin-left: 0
    }

    .offset-xxl-1 {
        margin-left: 8.33333333%
    }

    .offset-xxl-2 {
        margin-left: 16.66666667%
    }

    .offset-xxl-3 {
        margin-left: 25%
    }

    .offset-xxl-4 {
        margin-left: 33.33333333%
    }

    .offset-xxl-5 {
        margin-left: 41.66666667%
    }

    .offset-xxl-6 {
        margin-left: 50%
    }

    .offset-xxl-7 {
        margin-left: 58.33333333%
    }

    .offset-xxl-8 {
        margin-left: 66.66666667%
    }

    .offset-xxl-9 {
        margin-left: 75%
    }

    .offset-xxl-10 {
        margin-left: 83.33333333%
    }

    .offset-xxl-11 {
        margin-left: 91.66666667%
    }

    .g-xxl-0,
    .gx-xxl-0 {
        --bs-gutter-x: 0
    }

    .g-xxl-0,
    .gy-xxl-0 {
        --bs-gutter-y: 0
    }

    .g-xxl-1,
    .gx-xxl-1 {
        --bs-gutter-x: 0.25rem
    }

    .g-xxl-1,
    .gy-xxl-1 {
        --bs-gutter-y: 0.25rem
    }

    .g-xxl-2,
    .gx-xxl-2 {
        --bs-gutter-x: 0.5rem
    }

    .g-xxl-2,
    .gy-xxl-2 {
        --bs-gutter-y: 0.5rem
    }

    .g-xxl-3,
    .gx-xxl-3 {
        --bs-gutter-x: 1rem
    }

    .g-xxl-3,
    .gy-xxl-3 {
        --bs-gutter-y: 1rem
    }

    .g-xxl-4,
    .gx-xxl-4 {
        --bs-gutter-x: 1.5rem
    }

    .g-xxl-4,
    .gy-xxl-4 {
        --bs-gutter-y: 1.5rem
    }

    .g-xxl-5,
    .gx-xxl-5 {
        --bs-gutter-x: 3rem
    }

    .g-xxl-5,
    .gy-xxl-5 {
        --bs-gutter-y: 3rem
    }
}

.table {
    --bs-table-color-type: initial;
    --bs-table-bg-type: initial;
    --bs-table-color-state: initial;
    --bs-table-bg-state: initial;
    --bs-table-color: var(--bs-emphasis-color);
    --bs-table-bg: var(--bs-body-bg);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-emphasis-color);
    --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
    --bs-table-active-color: var(--bs-emphasis-color);
    --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
    --bs-table-hover-color: var(--bs-emphasis-color);
    --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    border-color: var(--bs-table-border-color)
}

.table>:not(caption)>*>* {
    padding: .5rem .5rem;
    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
    background-color: var(--bs-table-bg);
    border-bottom-width: var(--bs-border-width);
    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))
}

.table>tbody {
    vertical-align: inherit
}

.table>thead {
    vertical-align: bottom
}

.table-group-divider {
    border-top: calc(var(--bs-border-width) * 2) solid currentcolor
}

.caption-top {
    caption-side: top
}

.table-sm>:not(caption)>*>* {
    padding: .25rem .25rem
}

.table-bordered>:not(caption)>* {
    border-width: var(--bs-border-width) 0
}

.table-bordered>:not(caption)>*>* {
    border-width: 0 var(--bs-border-width)
}

.table-borderless>:not(caption)>*>* {
    border-bottom-width: 0
}

.table-borderless>:not(:first-child) {
    border-top-width: 0
}

.table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-color-type: var(--bs-table-striped-color);
    --bs-table-bg-type: var(--bs-table-striped-bg)
}

.table-striped-columns>:not(caption)>tr>:nth-child(2n) {
    --bs-table-color-type: var(--bs-table-striped-color);
    --bs-table-bg-type: var(--bs-table-striped-bg)
}

.table-active {
    --bs-table-color-state: var(--bs-table-active-color);
    --bs-table-bg-state: var(--bs-table-active-bg)
}

.table-hover>tbody>tr:hover>* {
    --bs-table-color-state: var(--bs-table-hover-color);
    --bs-table-bg-state: var(--bs-table-hover-bg)
}

.table-primary {
    --bs-table-color: #000;
    --bs-table-bg: #cfe2ff;
    --bs-table-border-color: #a6b5cc;
    --bs-table-striped-bg: #c5d7f2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #bacbe6;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #bfd1ec;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-secondary {
    --bs-table-color: #000;
    --bs-table-bg: #e2e3e5;
    --bs-table-border-color: #b5b6b7;
    --bs-table-striped-bg: #d7d8da;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #cbccce;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #d1d2d4;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-success {
    --bs-table-color: #000;
    --bs-table-bg: #d1e7dd;
    --bs-table-border-color: #a7b9b1;
    --bs-table-striped-bg: #c7dbd2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #bcd0c7;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #c1d6cc;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-info {
    --bs-table-color: #000;
    --bs-table-bg: #cff4fc;
    --bs-table-border-color: #a6c3ca;
    --bs-table-striped-bg: #c5e8ef;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #badce3;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #bfe2e9;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-warning {
    --bs-table-color: #000;
    --bs-table-bg: #fff3cd;
    --bs-table-border-color: #ccc2a4;
    --bs-table-striped-bg: #f2e7c3;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #e6dbb9;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #ece1be;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-danger {
    --bs-table-color: #000;
    --bs-table-bg: #f8d7da;
    --bs-table-border-color: #c6acae;
    --bs-table-striped-bg: #eccccf;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #dfc2c4;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #e5c7ca;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-light {
    --bs-table-color: #000;
    --bs-table-bg: #f8f9fa;
    --bs-table-border-color: #c6c7c8;
    --bs-table-striped-bg: #ecedee;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #dfe0e1;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #e5e6e7;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-dark {
    --bs-table-color: #fff;
    --bs-table-bg: #212529;
    --bs-table-border-color: #4d5154;
    --bs-table-striped-bg: #2c3034;
    --bs-table-striped-color: #fff;
    --bs-table-active-bg: #373b3e;
    --bs-table-active-color: #fff;
    --bs-table-hover-bg: #323539;
    --bs-table-hover-color: #fff;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color)
}

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
}

@media (max-width:575.98px) {
    .table-responsive-sm {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media (max-width:767.98px) {
    .table-responsive-md {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media (max-width:991.98px) {
    .table-responsive-lg {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media (max-width:1199.98px) {
    .table-responsive-xl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media (max-width:1399.98px) {
    .table-responsive-xxl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

.form-label {
    margin-bottom: .5rem
}

.col-form-label {
    padding-top: calc(.375rem + var(--bs-border-width));
    padding-bottom: calc(.375rem + var(--bs-border-width));
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5
}

.col-form-label-lg {
    padding-top: calc(.5rem + var(--bs-border-width));
    padding-bottom: calc(.5rem + var(--bs-border-width));
    font-size: 1.25rem
}

.col-form-label-sm {
    padding-top: calc(.25rem + var(--bs-border-width));
    padding-bottom: calc(.25rem + var(--bs-border-width));
    font-size: .875rem
}

.form-text {
    margin-top: .25rem;
    font-size: .875em;
    color: var(--bs-secondary-color)
}

.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-control {
        transition: none
    }
}

.form-control[type=file] {
    overflow: hidden
}

.form-control[type=file]:not(:disabled):not([readonly]) {
    cursor: pointer
}

.form-control:focus {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-control::-webkit-date-and-time-value {
    min-width: 85px;
    height: 1.5em;
    margin: 0
}

.form-control::-webkit-datetime-edit {
    display: block;
    padding: 0
}

.form-control::placeholder {
    color: var(--bs-secondary-color);
    opacity: 1
}

.form-control:disabled {
    background-color: var(--bs-secondary-bg);
    opacity: 1
}

.form-control::-webkit-file-upload-button {
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    -webkit-margin-end: .75rem;
    margin-inline-end: .75rem;
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: var(--bs-border-width);
    border-radius: 0;
    -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

.form-control::file-selector-button {
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    -webkit-margin-end: .75rem;
    margin-inline-end: .75rem;
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: var(--bs-border-width);
    border-radius: 0;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-control::-webkit-file-upload-button {
        -webkit-transition: none;
        transition: none
    }

    .form-control::file-selector-button {
        transition: none
    }
}

.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
    background-color: var(--bs-secondary-bg)
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: var(--bs-secondary-bg)
}

.form-control-plaintext {
    display: block;
    width: 100%;
    padding: .375rem 0;
    margin-bottom: 0;
    line-height: 1.5;
    color: var(--bs-body-color);
    background-color: transparent;
    border: solid transparent;
    border-width: var(--bs-border-width) 0
}

.form-control-plaintext:focus {
    outline: 0
}

.form-control-plaintext.form-control-lg,
.form-control-plaintext.form-control-sm {
    padding-right: 0;
    padding-left: 0
}

.form-control-sm {
    min-height: calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: var(--bs-border-radius-sm)
}

.form-control-sm::-webkit-file-upload-button {
    padding: .25rem .5rem;
    margin: -.25rem -.5rem;
    -webkit-margin-end: .5rem;
    margin-inline-end: .5rem
}

.form-control-sm::file-selector-button {
    padding: .25rem .5rem;
    margin: -.25rem -.5rem;
    -webkit-margin-end: .5rem;
    margin-inline-end: .5rem
}

.form-control-lg {
    min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: var(--bs-border-radius-lg)
}

.form-control-lg::-webkit-file-upload-button {
    padding: .5rem 1rem;
    margin: -.5rem -1rem;
    -webkit-margin-end: 1rem;
    margin-inline-end: 1rem
}

.form-control-lg::file-selector-button {
    padding: .5rem 1rem;
    margin: -.5rem -1rem;
    -webkit-margin-end: 1rem;
    margin-inline-end: 1rem
}

textarea.form-control {
    min-height: calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))
}

textarea.form-control-sm {
    min-height: calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))
}

textarea.form-control-lg {
    min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))
}

.form-control-color {
    width: 3rem;
    height: calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));
    padding: .375rem
}

.form-control-color:not(:disabled):not([readonly]) {
    cursor: pointer
}

.form-control-color::-moz-color-swatch {
    border: 0 !important;
    border-radius: var(--bs-border-radius)
}

.form-control-color::-webkit-color-swatch {
    border: 0 !important;
    border-radius: var(--bs-border-radius)
}

.form-control-color.form-control-sm {
    height: calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))
}

.form-control-color.form-control-lg {
    height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))
}

.form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    display: block;
    width: 100%;
    padding: .375rem 2.25rem .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-select {
        transition: none
    }
}

.form-select:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-select[multiple],
.form-select[size]:not([size="1"]) {
    padding-right: .75rem;
    background-image: none
}

.form-select:disabled {
    background-color: var(--bs-secondary-bg)
}

.form-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 var(--bs-body-color)
}

.form-select-sm {
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: .5rem;
    font-size: .875rem;
    border-radius: var(--bs-border-radius-sm)
}

.form-select-lg {
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    font-size: 1.25rem;
    border-radius: var(--bs-border-radius-lg)
}

[data-bs-theme=dark] .form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")
}

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem
}

.form-check .form-check-input {
    float: left;
    margin-left: -1.5em
}

.form-check-reverse {
    padding-right: 1.5em;
    padding-left: 0;
    text-align: right
}

.form-check-reverse .form-check-input {
    float: right;
    margin-right: -1.5em;
    margin-left: 0
}

.form-check-input {
    --bs-form-check-bg: var(--bs-body-bg);
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    margin-top: .25em;
    vertical-align: top;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-form-check-bg);
    background-image: var(--bs-form-check-bg-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: var(--bs-border-width) solid var(--bs-border-color);
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact
}

.form-check-input[type=checkbox] {
    border-radius: .25em
}

.form-check-input[type=radio] {
    border-radius: 50%
}

.form-check-input:active {
    filter: brightness(90%)
}

.form-check-input:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd
}

.form-check-input:checked[type=checkbox] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")
}

.form-check-input:checked[type=radio] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")
}

.form-check-input[type=checkbox]:indeterminate {
    background-color: #0d6efd;
    border-color: #0d6efd;
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")
}

.form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: .5
}

.form-check-input:disabled~.form-check-label,
.form-check-input[disabled]~.form-check-label {
    cursor: default;
    opacity: .5
}

.form-switch {
    padding-left: 2.5em
}

.form-switch .form-check-input {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
    width: 2em;
    margin-left: -2.5em;
    background-image: var(--bs-form-switch-bg);
    background-position: left center;
    border-radius: 2em;
    transition: background-position .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-switch .form-check-input {
        transition: none
    }
}

.form-switch .form-check-input:focus {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")
}

.form-switch .form-check-input:checked {
    background-position: right center;
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")
}

.form-switch.form-check-reverse {
    padding-right: 2.5em;
    padding-left: 0
}

.form-switch.form-check-reverse .form-check-input {
    margin-right: -2.5em;
    margin-left: 0
}

.form-check-inline {
    display: inline-block;
    margin-right: 1rem
}

.btn-check {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none
}

.btn-check:disabled+.btn,
.btn-check[disabled]+.btn {
    pointer-events: none;
    filter: none;
    opacity: .65
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")
}

.form-range {
    width: 100%;
    height: 1.5rem;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent
}

.form-range:focus {
    outline: 0
}

.form-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.form-range::-moz-focus-outer {
    border: 0
}

.form-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -.25rem;
    -webkit-appearance: none;
    appearance: none;
    background-color: #0d6efd;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-range::-webkit-slider-thumb {
        -webkit-transition: none;
        transition: none
    }
}

.form-range::-webkit-slider-thumb:active {
    background-color: #b6d4fe
}

.form-range::-webkit-slider-runnable-track {
    width: 100%;
    height: .5rem;
    color: transparent;
    cursor: pointer;
    background-color: var(--bs-secondary-bg);
    border-color: transparent;
    border-radius: 1rem
}

.form-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    -moz-appearance: none;
    appearance: none;
    background-color: #0d6efd;
    border: 0;
    border-radius: 1rem;
    -moz-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-range::-moz-range-thumb {
        -moz-transition: none;
        transition: none
    }
}

.form-range::-moz-range-thumb:active {
    background-color: #b6d4fe
}

.form-range::-moz-range-track {
    width: 100%;
    height: .5rem;
    color: transparent;
    cursor: pointer;
    background-color: var(--bs-secondary-bg);
    border-color: transparent;
    border-radius: 1rem
}

.form-range:disabled {
    pointer-events: none
}

.form-range:disabled::-webkit-slider-thumb {
    background-color: var(--bs-secondary-color)
}

.form-range:disabled::-moz-range-thumb {
    background-color: var(--bs-secondary-color)
}

.form-floating {
    position: relative
}

.form-floating>.form-control,
.form-floating>.form-control-plaintext,
.form-floating>.form-select {
    height: calc(3.5rem + calc(var(--bs-border-width) * 2));
    min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
    line-height: 1.25
}

.form-floating>label {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    max-width: 100%;
    height: 100%;
    padding: 1rem .75rem;
    overflow: hidden;
    color: rgba(var(--bs-body-color-rgb), .65);
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: var(--bs-border-width) solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .form-floating>label {
        transition: none
    }
}

.form-floating>.form-control,
.form-floating>.form-control-plaintext {
    padding: 1rem .75rem
}

.form-floating>.form-control-plaintext::placeholder,
.form-floating>.form-control::placeholder {
    color: transparent
}

.form-floating>.form-control-plaintext:focus,
.form-floating>.form-control-plaintext:not(:placeholder-shown),
.form-floating>.form-control:focus,
.form-floating>.form-control:not(:placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-control-plaintext:-webkit-autofill,
.form-floating>.form-control:-webkit-autofill {
    padding-top: 1.625rem;
    padding-bottom: .625rem
}

.form-floating>.form-select {
    padding-top: 1.625rem;
    padding-bottom: .625rem;
    padding-left: .75rem
}

.form-floating>.form-control-plaintext~label,
.form-floating>.form-control:focus~label,
.form-floating>.form-control:not(:placeholder-shown)~label,
.form-floating>.form-select~label {
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.form-floating>.form-control:-webkit-autofill~label {
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.form-floating>textarea:focus~label::after,
.form-floating>textarea:not(:placeholder-shown)~label::after {
    position: absolute;
    inset: 1rem 0.375rem;
    z-index: -1;
    height: 1.5em;
    content: "";
    background-color: var(--bs-body-bg);
    border-radius: var(--bs-border-radius)
}

.form-floating>textarea:disabled~label::after {
    background-color: var(--bs-secondary-bg)
}

.form-floating>.form-control-plaintext~label {
    border-width: var(--bs-border-width) 0
}

.form-floating>.form-control:disabled~label,
.form-floating>:disabled~label {
    color: #6c757d
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%
}

.input-group>.form-control,
.input-group>.form-floating,
.input-group>.form-select {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0
}

.input-group>.form-control:focus,
.input-group>.form-floating:focus-within,
.input-group>.form-select:focus {
    z-index: 5
}

.input-group .btn {
    position: relative;
    z-index: 2
}

.input-group .btn:focus {
    z-index: 5
}

.input-group-text {
    display: flex;
    align-items: center;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    text-align: center;
    white-space: nowrap;
    background-color: var(--bs-tertiary-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius)
}

.input-group-lg>.btn,
.input-group-lg>.form-control,
.input-group-lg>.form-select,
.input-group-lg>.input-group-text {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: var(--bs-border-radius-lg)
}

.input-group-sm>.btn,
.input-group-sm>.form-control,
.input-group-sm>.form-select,
.input-group-sm>.input-group-text {
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: var(--bs-border-radius-sm)
}

.input-group-lg>.form-select,
.input-group-sm>.form-select {
    padding-right: 3rem
}

.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,
.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,
.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,
.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,
.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: calc(-1 * var(--bs-border-width));
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.input-group>.form-floating:not(:first-child)>.form-control,
.input-group>.form-floating:not(:first-child)>.form-select {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.valid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: var(--bs-form-valid-color)
}

.valid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    color: #fff;
    background-color: var(--bs-success);
    border-radius: var(--bs-border-radius)
}

.is-valid~.valid-feedback,
.is-valid~.valid-tooltip,
.was-validated :valid~.valid-feedback,
.was-validated :valid~.valid-tooltip {
    display: block
}

.form-control.is-valid,
.was-validated .form-control:valid {
    border-color: var(--bs-form-valid-border-color);
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
    border-color: var(--bs-form-valid-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), .25)
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.form-select.is-valid,
.was-validated .form-select:valid {
    border-color: var(--bs-form-valid-border-color)
}

.form-select.is-valid:not([multiple]):not([size]),
.form-select.is-valid:not([multiple])[size="1"],
.was-validated .form-select:valid:not([multiple]):not([size]),
.was-validated .form-select:valid:not([multiple])[size="1"] {
    --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");
    padding-right: 4.125rem;
    background-position: right .75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-select.is-valid:focus,
.was-validated .form-select:valid:focus {
    border-color: var(--bs-form-valid-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), .25)
}

.form-control-color.is-valid,
.was-validated .form-control-color:valid {
    width: calc(3rem + calc(1.5em + .75rem))
}

.form-check-input.is-valid,
.was-validated .form-check-input:valid {
    border-color: var(--bs-form-valid-border-color)
}

.form-check-input.is-valid:checked,
.was-validated .form-check-input:valid:checked {
    background-color: var(--bs-form-valid-color)
}

.form-check-input.is-valid:focus,
.was-validated .form-check-input:valid:focus {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), .25)
}

.form-check-input.is-valid~.form-check-label,
.was-validated .form-check-input:valid~.form-check-label {
    color: var(--bs-form-valid-color)
}

.form-check-inline .form-check-input~.valid-feedback {
    margin-left: .5em
}

.input-group>.form-control:not(:focus).is-valid,
.input-group>.form-floating:not(:focus-within).is-valid,
.input-group>.form-select:not(:focus).is-valid,
.was-validated .input-group>.form-control:not(:focus):valid,
.was-validated .input-group>.form-floating:not(:focus-within):valid,
.was-validated .input-group>.form-select:not(:focus):valid {
    z-index: 3
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: var(--bs-form-invalid-color)
}

.invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    color: #fff;
    background-color: var(--bs-danger);
    border-radius: var(--bs-border-radius)
}

.is-invalid~.invalid-feedback,
.is-invalid~.invalid-tooltip,
.was-validated :invalid~.invalid-feedback,
.was-validated :invalid~.invalid-tooltip {
    display: block
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    border-color: var(--bs-form-invalid-border-color);
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus {
    border-color: var(--bs-form-invalid-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25)
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.form-select.is-invalid,
.was-validated .form-select:invalid {
    border-color: var(--bs-form-invalid-border-color)
}

.form-select.is-invalid:not([multiple]):not([size]),
.form-select.is-invalid:not([multiple])[size="1"],
.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size="1"] {
    --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    padding-right: 4.125rem;
    background-position: right .75rem center, center right 2.25rem;
    background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-select.is-invalid:focus,
.was-validated .form-select:invalid:focus {
    border-color: var(--bs-form-invalid-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25)
}

.form-control-color.is-invalid,
.was-validated .form-control-color:invalid {
    width: calc(3rem + calc(1.5em + .75rem))
}

.form-check-input.is-invalid,
.was-validated .form-check-input:invalid {
    border-color: var(--bs-form-invalid-border-color)
}

.form-check-input.is-invalid:checked,
.was-validated .form-check-input:invalid:checked {
    background-color: var(--bs-form-invalid-color)
}

.form-check-input.is-invalid:focus,
.was-validated .form-check-input:invalid:focus {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25)
}

.form-check-input.is-invalid~.form-check-label,
.was-validated .form-check-input:invalid~.form-check-label {
    color: var(--bs-form-invalid-color)
}

.form-check-inline .form-check-input~.invalid-feedback {
    margin-left: .5em
}

.input-group>.form-control:not(:focus).is-invalid,
.input-group>.form-floating:not(:focus-within).is-invalid,
.input-group>.form-select:not(:focus).is-invalid,
.was-validated .input-group>.form-control:not(:focus):invalid,
.was-validated .input-group>.form-floating:not(:focus-within):invalid,
.was-validated .input-group>.form-select:not(:focus):invalid {
    z-index: 4
}

.btn {
    --bs-btn-padding-x: 0.75rem;
    --bs-btn-padding-y: 0.375rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.5;
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-width: var(--bs-border-width);
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: var(--bs-border-radius);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .btn {
        transition: none
    }
}

.btn:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color)
}

.btn-check+.btn:hover {
    color: var(--bs-btn-color);
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color)
}

.btn:focus-visible {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--bs-btn-focus-box-shadow)
}

.btn-check:focus-visible+.btn {
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: var(--bs-btn-focus-box-shadow)
}

.btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
    color: var(--bs-btn-active-color);
    background-color: var(--bs-btn-active-bg);
    border-color: var(--bs-btn-active-border-color)
}

.btn-check:checked+.btn:focus-visible,
.btn.active:focus-visible,
.btn.show:focus-visible,
.btn:first-child:active:focus-visible,
:not(.btn-check)+.btn:active:focus-visible {
    box-shadow: var(--bs-btn-focus-box-shadow)
}

.btn-check:checked:focus-visible+.btn {
    box-shadow: var(--bs-btn-focus-box-shadow)
}

.btn.disabled,
.btn:disabled,
fieldset:disabled .btn {
    color: var(--bs-btn-disabled-color);
    pointer-events: none;
    background-color: var(--bs-btn-disabled-bg);
    border-color: var(--bs-btn-disabled-border-color);
    opacity: var(--bs-btn-disabled-opacity)
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #6c757d;
    --bs-btn-border-color: #6c757d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #5c636a;
    --bs-btn-hover-border-color: #565e64;
    --bs-btn-focus-shadow-rgb: 130, 138, 145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #565e64;
    --bs-btn-active-border-color: #51585e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #6c757d;
    --bs-btn-disabled-border-color: #6c757d
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #157347;
    --bs-btn-hover-border-color: #146c43;
    --bs-btn-focus-shadow-rgb: 60, 153, 110;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #146c43;
    --bs-btn-active-border-color: #13653f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #198754;
    --bs-btn-disabled-border-color: #198754
}

.btn-info {
    --bs-btn-color: #000;
    --bs-btn-bg: #0dcaf0;
    --bs-btn-border-color: #0dcaf0;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #31d2f2;
    --bs-btn-hover-border-color: #25cff2;
    --bs-btn-focus-shadow-rgb: 11, 172, 204;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #3dd5f3;
    --bs-btn-active-border-color: #25cff2;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #0dcaf0;
    --bs-btn-disabled-border-color: #0dcaf0
}

.btn-warning {
    --bs-btn-color: #000;
    --bs-btn-bg: #ffc107;
    --bs-btn-border-color: #ffc107;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #ffca2c;
    --bs-btn-hover-border-color: #ffc720;
    --bs-btn-focus-shadow-rgb: 217, 164, 6;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #ffcd39;
    --bs-btn-active-border-color: #ffc720;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #ffc107;
    --bs-btn-disabled-border-color: #ffc107
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #bb2d3b;
    --bs-btn-hover-border-color: #b02a37;
    --bs-btn-focus-shadow-rgb: 225, 83, 97;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #b02a37;
    --bs-btn-active-border-color: #a52834;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #dc3545;
    --bs-btn-disabled-border-color: #dc3545
}

.btn-light {
    --bs-btn-color: #000;
    --bs-btn-bg: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #d3d4d5;
    --bs-btn-hover-border-color: #c6c7c8;
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #c6c7c8;
    --bs-btn-active-border-color: #babbbc;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #f8f9fa;
    --bs-btn-disabled-border-color: #f8f9fa
}

.btn-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #424649;
    --bs-btn-hover-border-color: #373b3e;
    --bs-btn-focus-shadow-rgb: 66, 70, 73;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #4d5154;
    --bs-btn-active-border-color: #373b3e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #212529;
    --bs-btn-disabled-border-color: #212529
}

.btn-outline-primary {
    --bs-btn-color: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0d6efd;
    --bs-btn-hover-border-color: #0d6efd;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0d6efd;
    --bs-btn-active-border-color: #0d6efd;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #0d6efd;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #0d6efd;
    --bs-gradient: none
}

.btn-outline-secondary {
    --bs-btn-color: #6c757d;
    --bs-btn-border-color: #6c757d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #6c757d;
    --bs-btn-hover-border-color: #6c757d;
    --bs-btn-focus-shadow-rgb: 108, 117, 125;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #6c757d;
    --bs-btn-active-border-color: #6c757d;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #6c757d;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #6c757d;
    --bs-gradient: none
}

.btn-outline-success {
    --bs-btn-color: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #198754;
    --bs-btn-hover-border-color: #198754;
    --bs-btn-focus-shadow-rgb: 25, 135, 84;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #198754;
    --bs-btn-active-border-color: #198754;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #198754;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #198754;
    --bs-gradient: none
}

.btn-outline-info {
    --bs-btn-color: #0dcaf0;
    --bs-btn-border-color: #0dcaf0;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #0dcaf0;
    --bs-btn-hover-border-color: #0dcaf0;
    --bs-btn-focus-shadow-rgb: 13, 202, 240;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #0dcaf0;
    --bs-btn-active-border-color: #0dcaf0;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #0dcaf0;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #0dcaf0;
    --bs-gradient: none
}

.btn-outline-warning {
    --bs-btn-color: #ffc107;
    --bs-btn-border-color: #ffc107;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #ffc107;
    --bs-btn-hover-border-color: #ffc107;
    --bs-btn-focus-shadow-rgb: 255, 193, 7;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #ffc107;
    --bs-btn-active-border-color: #ffc107;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #ffc107;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #ffc107;
    --bs-gradient: none
}

.btn-outline-danger {
    --bs-btn-color: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #dc3545;
    --bs-btn-hover-border-color: #dc3545;
    --bs-btn-focus-shadow-rgb: 220, 53, 69;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #dc3545;
    --bs-btn-active-border-color: #dc3545;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #dc3545;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #dc3545;
    --bs-gradient: none
}

.btn-outline-light {
    --bs-btn-color: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #f8f9fa;
    --bs-btn-hover-border-color: #f8f9fa;
    --bs-btn-focus-shadow-rgb: 248, 249, 250;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #f8f9fa;
    --bs-btn-active-border-color: #f8f9fa;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #f8f9fa;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #f8f9fa;
    --bs-gradient: none
}

.btn-outline-dark {
    --bs-btn-color: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #212529;
    --bs-btn-hover-border-color: #212529;
    --bs-btn-focus-shadow-rgb: 33, 37, 41;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #212529;
    --bs-btn-active-border-color: #212529;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #212529;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #212529;
    --bs-gradient: none
}

.btn-link {
    --bs-btn-font-weight: 400;
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: var(--bs-link-hover-color);
    --bs-btn-active-border-color: transparent;
    --bs-btn-disabled-color: #6c757d;
    --bs-btn-disabled-border-color: transparent;
    --bs-btn-box-shadow: 0 0 0 #000;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    text-decoration: underline
}

.btn-link:focus-visible {
    color: var(--bs-btn-color)
}

.btn-link:hover {
    color: var(--bs-btn-hover-color)
}

.btn-group-lg>.btn,
.btn-lg {
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 1.25rem;
    --bs-btn-border-radius: var(--bs-border-radius-lg)
}

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

.fade {
    transition: opacity .15s linear
}

@media (prefers-reduced-motion:reduce) {
    .fade {
        transition: none
    }
}

.fade:not(.show) {
    opacity: 0
}

.collapse:not(.show) {
    display: none
}

.collapsing {
    height: 0;
    overflow: hidden;
    transition: height .35s ease
}

@media (prefers-reduced-motion:reduce) {
    .collapsing {
        transition: none
    }
}

.collapsing.collapse-horizontal {
    width: 0;
    height: auto;
    transition: width .35s ease
}

@media (prefers-reduced-motion:reduce) {
    .collapsing.collapse-horizontal {
        transition: none
    }
}

.dropdown,
.dropdown-center,
.dropend,
.dropstart,
.dropup,
.dropup-center {
    position: relative
}

.dropdown-toggle {
    white-space: nowrap
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent
}

.dropdown-toggle:empty::after {
    margin-left: 0
}

.dropdown-menu {
    --bs-dropdown-zindex: 1000;
    --bs-dropdown-min-width: 10rem;
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y: 0.5rem;
    --bs-dropdown-spacer: 0.125rem;
    --bs-dropdown-font-size: 1rem;
    --bs-dropdown-color: var(--bs-body-color);
    --bs-dropdown-bg: var(--bs-body-bg);
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-border-radius: var(--bs-border-radius);
    --bs-dropdown-border-width: var(--bs-border-width);
    --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-divider-margin-y: 0.5rem;
    --bs-dropdown-box-shadow: var(--bs-box-shadow);
    --bs-dropdown-link-color: var(--bs-body-color);
    --bs-dropdown-link-hover-color: var(--bs-body-color);
    --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #0d6efd;
    --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
    --bs-dropdown-item-padding-x: 1rem;
    --bs-dropdown-item-padding-y: 0.25rem;
    --bs-dropdown-header-color: #6c757d;
    --bs-dropdown-header-padding-x: 1rem;
    --bs-dropdown-header-padding-y: 0.5rem;
    position: absolute;
    z-index: var(--bs-dropdown-zindex);
    display: none;
    min-width: var(--bs-dropdown-min-width);
    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
    margin: 0;
    font-size: var(--bs-dropdown-font-size);
    color: var(--bs-dropdown-color);
    text-align: left;
    list-style: none;
    background-color: var(--bs-dropdown-bg);
    background-clip: padding-box;
    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
    border-radius: var(--bs-dropdown-border-radius)
}

.dropdown-menu[data-bs-popper] {
    top: 100%;
    left: 0;
    margin-top: var(--bs-dropdown-spacer)
}

.dropdown-menu-start {
    --bs-position: start
}

.dropdown-menu-start[data-bs-popper] {
    right: auto;
    left: 0
}

.dropdown-menu-end {
    --bs-position: end
}

.dropdown-menu-end[data-bs-popper] {
    right: 0;
    left: auto
}

@media (min-width:576px) {
    .dropdown-menu-sm-start {
        --bs-position: start
    }

    .dropdown-menu-sm-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-sm-end {
        --bs-position: end
    }

    .dropdown-menu-sm-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media (min-width:768px) {
    .dropdown-menu-md-start {
        --bs-position: start
    }

    .dropdown-menu-md-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-md-end {
        --bs-position: end
    }

    .dropdown-menu-md-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media (min-width:992px) {
    .dropdown-menu-lg-start {
        --bs-position: start
    }

    .dropdown-menu-lg-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-lg-end {
        --bs-position: end
    }

    .dropdown-menu-lg-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media (min-width:1200px) {
    .dropdown-menu-xl-start {
        --bs-position: start
    }

    .dropdown-menu-xl-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-xl-end {
        --bs-position: end
    }

    .dropdown-menu-xl-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

@media (min-width:1400px) {
    .dropdown-menu-xxl-start {
        --bs-position: start
    }

    .dropdown-menu-xxl-start[data-bs-popper] {
        right: auto;
        left: 0
    }

    .dropdown-menu-xxl-end {
        --bs-position: end
    }

    .dropdown-menu-xxl-end[data-bs-popper] {
        right: 0;
        left: auto
    }
}

.dropup .dropdown-menu[data-bs-popper] {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: var(--bs-dropdown-spacer)
}

.dropup .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: 0;
    border-right: .3em solid transparent;
    border-bottom: .3em solid;
    border-left: .3em solid transparent
}

.dropup .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropend .dropdown-menu[data-bs-popper] {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: var(--bs-dropdown-spacer)
}

.dropend .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: 0;
    border-bottom: .3em solid transparent;
    border-left: .3em solid
}

.dropend .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropend .dropdown-toggle::after {
    vertical-align: 0
}

.dropstart .dropdown-menu[data-bs-popper] {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: var(--bs-dropdown-spacer)
}

.dropstart .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: ""
}

.dropstart .dropdown-toggle::after {
    display: none
}

.dropstart .dropdown-toggle::before {
    display: inline-block;
    margin-right: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: .3em solid;
    border-bottom: .3em solid transparent
}

.dropstart .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropstart .dropdown-toggle::before {
    vertical-align: 0
}

.dropdown-divider {
    height: 0;
    margin: var(--bs-dropdown-divider-margin-y) 0;
    overflow: hidden;
    border-top: 1px solid var(--bs-dropdown-divider-bg);
    opacity: 1
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
    clear: both;
    font-weight: 400;
    color: var(--bs-dropdown-link-color);
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    border-radius: var(--bs-dropdown-item-border-radius, 0)
}

.dropdown-item:focus,
.dropdown-item:hover {
    color: var(--bs-dropdown-link-hover-color);
    background-color: var(--bs-dropdown-link-hover-bg)
}

.dropdown-item.active,
.dropdown-item:active {
    color: var(--bs-dropdown-link-active-color);
    text-decoration: none;
    background-color: var(--bs-dropdown-link-active-bg)
}

.dropdown-item.disabled,
.dropdown-item:disabled {
    color: var(--bs-dropdown-link-disabled-color);
    pointer-events: none;
    background-color: transparent
}

.dropdown-menu.show {
    display: block
}

.dropdown-header {
    display: block;
    padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
    margin-bottom: 0;
    font-size: .875rem;
    color: var(--bs-dropdown-header-color);
    white-space: nowrap
}

.dropdown-item-text {
    display: block;
    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
    color: var(--bs-dropdown-link-color)
}

.dropdown-menu-dark {
    --bs-dropdown-color: #dee2e6;
    --bs-dropdown-bg: #343a40;
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-box-shadow: ;
    --bs-dropdown-link-color: #dee2e6;
    --bs-dropdown-link-hover-color: #fff;
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #0d6efd;
    --bs-dropdown-link-disabled-color: #adb5bd;
    --bs-dropdown-header-color: #adb5bd
}

.btn-group,
.btn-group-vertical {
    position: relative;
    display: inline-flex;
    vertical-align: middle
}

.btn-group-vertical>.btn,
.btn-group>.btn {
    position: relative;
    flex: 1 1 auto
}

.btn-group-vertical>.btn-check:checked+.btn,
.btn-group-vertical>.btn-check:focus+.btn,
.btn-group-vertical>.btn.active,
.btn-group-vertical>.btn:active,
.btn-group-vertical>.btn:focus,
.btn-group-vertical>.btn:hover,
.btn-group>.btn-check:checked+.btn,
.btn-group>.btn-check:focus+.btn,
.btn-group>.btn.active,
.btn-group>.btn:active,
.btn-group>.btn:focus,
.btn-group>.btn:hover {
    z-index: 1
}

.btn-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start
}

.btn-toolbar .input-group {
    width: auto
}

.btn-group {
    border-radius: var(--bs-border-radius)
}

.btn-group>.btn-group:not(:first-child),
.btn-group>:not(.btn-check:first-child)+.btn {
    margin-left: calc(-1 * var(--bs-border-width))
}

.btn-group>.btn-group:not(:last-child)>.btn,
.btn-group>.btn.dropdown-toggle-split:first-child,
.btn-group>.btn:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.btn-group>.btn-group:not(:first-child)>.btn,
.btn-group>.btn:nth-child(n+3),
.btn-group>:not(.btn-check)+.btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.dropdown-toggle-split {
    padding-right: .5625rem;
    padding-left: .5625rem
}

.dropdown-toggle-split::after,
.dropend .dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after {
    margin-left: 0
}

.dropstart .dropdown-toggle-split::before {
    margin-right: 0
}

.btn-group-sm>.btn+.dropdown-toggle-split,
.btn-sm+.dropdown-toggle-split {
    padding-right: .375rem;
    padding-left: .375rem
}

.btn-group-lg>.btn+.dropdown-toggle-split,
.btn-lg+.dropdown-toggle-split {
    padding-right: .75rem;
    padding-left: .75rem
}

.btn-group-vertical {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center
}

.btn-group-vertical>.btn,
.btn-group-vertical>.btn-group {
    width: 100%
}

.btn-group-vertical>.btn-group:not(:first-child),
.btn-group-vertical>.btn:not(:first-child) {
    margin-top: calc(-1 * var(--bs-border-width))
}

.btn-group-vertical>.btn-group:not(:last-child)>.btn,
.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle) {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0
}

.btn-group-vertical>.btn-group:not(:first-child)>.btn,
.btn-group-vertical>.btn:nth-child(n+3),
.btn-group-vertical>:not(.btn-check)+.btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.nav {
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-link-color);
    --bs-nav-link-hover-color: var(--bs-link-hover-color);
    --bs-nav-link-disabled-color: var(--bs-secondary-color);
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.nav-link {
    display: block;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
    font-size: var(--bs-nav-link-font-size);
    font-weight: var(--bs-nav-link-font-weight);
    color: var(--bs-nav-link-color);
    text-decoration: none;
    background: 0 0;
    border: 0;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .nav-link {
        transition: none
    }
}

.nav-link:focus,
.nav-link:hover {
    color: var(--bs-nav-link-hover-color)
}

.nav-link:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.nav-link.disabled,
.nav-link:disabled {
    color: var(--bs-nav-link-disabled-color);
    pointer-events: none;
    cursor: default
}

.nav-tabs {
    --bs-nav-tabs-border-width: var(--bs-border-width);
    --bs-nav-tabs-border-color: var(--bs-border-color);
    --bs-nav-tabs-border-radius: var(--bs-border-radius);
    --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
    --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
    --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
    --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
    border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)
}

.nav-tabs .nav-link {
    margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
    border: var(--bs-nav-tabs-border-width) solid transparent;
    border-top-left-radius: var(--bs-nav-tabs-border-radius);
    border-top-right-radius: var(--bs-nav-tabs-border-radius)
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
    isolation: isolate;
    border-color: var(--bs-nav-tabs-link-hover-border-color)
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: var(--bs-nav-tabs-link-active-color);
    background-color: var(--bs-nav-tabs-link-active-bg);
    border-color: var(--bs-nav-tabs-link-active-border-color)
}

.nav-tabs .dropdown-menu {
    margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.nav-pills {
    --bs-nav-pills-border-radius: var(--bs-border-radius);
    --bs-nav-pills-link-active-color: #fff;
    --bs-nav-pills-link-active-bg: #0d6efd
}

.nav-pills .nav-link {
    border-radius: var(--bs-nav-pills-border-radius)
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    color: var(--bs-nav-pills-link-active-color);
    background-color: var(--bs-nav-pills-link-active-bg)
}

.nav-underline {
    --bs-nav-underline-gap: 1rem;
    --bs-nav-underline-border-width: 0.125rem;
    --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
    gap: var(--bs-nav-underline-gap)
}

.nav-underline .nav-link {
    padding-right: 0;
    padding-left: 0;
    border-bottom: var(--bs-nav-underline-border-width) solid transparent
}

.nav-underline .nav-link:focus,
.nav-underline .nav-link:hover {
    border-bottom-color: currentcolor
}

.nav-underline .nav-link.active,
.nav-underline .show>.nav-link {
    font-weight: 700;
    color: var(--bs-nav-underline-link-active-color);
    border-bottom-color: currentcolor
}

.nav-fill .nav-item,
.nav-fill>.nav-link {
    flex: 1 1 auto;
    text-align: center
}

.nav-justified .nav-item,
.nav-justified>.nav-link {
    flex-grow: 1;
    flex-basis: 0;
    text-align: center
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
    width: 100%
}

.tab-content>.tab-pane {
    display: none
}

.tab-content>.active {
    display: block
}

.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 0.5rem;
    --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
    --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
    --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
    --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
    --bs-navbar-brand-padding-y: 0.3125rem;
    --bs-navbar-brand-margin-end: 1rem;
    --bs-navbar-brand-font-size: 1.25rem;
    --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
    --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
    --bs-navbar-nav-link-padding-x: 0.5rem;
    --bs-navbar-toggler-padding-y: 0.25rem;
    --bs-navbar-toggler-padding-x: 0.75rem;
    --bs-navbar-toggler-font-size: 1.25rem;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
    --bs-navbar-toggler-border-radius: var(--bs-border-radius);
    --bs-navbar-toggler-focus-width: 0.25rem;
    --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)
}

.navbar>.container,
.navbar>.container-fluid,
.navbar>.container-lg,
.navbar>.container-md,
.navbar>.container-sm,
.navbar>.container-xl,
.navbar>.container-xxl {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between
}

.navbar-brand {
    padding-top: var(--bs-navbar-brand-padding-y);
    padding-bottom: var(--bs-navbar-brand-padding-y);
    margin-right: var(--bs-navbar-brand-margin-end);
    font-size: var(--bs-navbar-brand-font-size);
    color: var(--bs-navbar-brand-color);
    text-decoration: none;
    white-space: nowrap
}

.navbar-brand:focus,
.navbar-brand:hover {
    color: var(--bs-navbar-brand-hover-color)
}

.navbar-nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-navbar-color);
    --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
    --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    color: var(--bs-navbar-active-color)
}

.navbar-nav .dropdown-menu {
    position: static
}

.navbar-text {
    padding-top: .5rem;
    padding-bottom: .5rem;
    color: var(--bs-navbar-color)
}

.navbar-text a,
.navbar-text a:focus,
.navbar-text a:hover {
    color: var(--bs-navbar-active-color)
}

.navbar-collapse {
    flex-grow: 1;
    flex-basis: 100%;
    align-items: center
}

.navbar-toggler {
    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
    font-size: var(--bs-navbar-toggler-font-size);
    line-height: 1;
    color: var(--bs-navbar-color);
    background-color: transparent;
    border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
    border-radius: var(--bs-navbar-toggler-border-radius);
    transition: var(--bs-navbar-toggler-transition)
}

@media (prefers-reduced-motion:reduce) {
    .navbar-toggler {
        transition: none
    }
}

.navbar-toggler:hover {
    text-decoration: none
}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width)
}

.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-image: var(--bs-navbar-toggler-icon-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%
}

.navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 75vh);
    overflow-y: auto
}

@media (min-width:576px) {
    .navbar-expand-sm {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-sm .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-sm .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-sm .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-sm .navbar-toggler {
        display: none
    }

    .navbar-expand-sm .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-sm .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-sm .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:768px) {
    .navbar-expand-md {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-md .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-md .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-md .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-md .navbar-toggler {
        display: none
    }

    .navbar-expand-md .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-md .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-md .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:992px) {
    .navbar-expand-lg {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-lg .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-lg .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-lg .navbar-toggler {
        display: none
    }

    .navbar-expand-lg .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-lg .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-lg .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:1200px) {
    .navbar-expand-xl {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-xl .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-xl .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-xl .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-xl .navbar-toggler {
        display: none
    }

    .navbar-expand-xl .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-xl .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-xl .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

@media (min-width:1400px) {
    .navbar-expand-xxl {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .navbar-expand-xxl .navbar-nav {
        flex-direction: row
    }

    .navbar-expand-xxl .navbar-nav .dropdown-menu {
        position: absolute
    }

    .navbar-expand-xxl .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-nav-link-padding-x);
        padding-left: var(--bs-navbar-nav-link-padding-x)
    }

    .navbar-expand-xxl .navbar-nav-scroll {
        overflow: visible
    }

    .navbar-expand-xxl .navbar-collapse {
        display: flex !important;
        flex-basis: auto
    }

    .navbar-expand-xxl .navbar-toggler {
        display: none
    }

    .navbar-expand-xxl .offcanvas {
        position: static;
        z-index: auto;
        flex-grow: 1;
        width: auto !important;
        height: auto !important;
        visibility: visible !important;
        background-color: transparent !important;
        border: 0 !important;
        transform: none !important;
        transition: none
    }

    .navbar-expand-xxl .offcanvas .offcanvas-header {
        display: none
    }

    .navbar-expand-xxl .offcanvas .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible
    }
}

.navbar-expand {
    flex-wrap: nowrap;
    justify-content: flex-start
}

.navbar-expand .navbar-nav {
    flex-direction: row
}

.navbar-expand .navbar-nav .dropdown-menu {
    position: absolute
}

.navbar-expand .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x)
}

.navbar-expand .navbar-nav-scroll {
    overflow: visible
}

.navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto
}

.navbar-expand .navbar-toggler {
    display: none
}

.navbar-expand .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none
}

.navbar-expand .offcanvas .offcanvas-header {
    display: none
}

.navbar-expand .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible
}

.navbar-dark,
.navbar[data-bs-theme=dark] {
    --bs-navbar-color: rgba(255, 255, 255, 0.55);
    --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
    --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
    --bs-navbar-active-color: #fff;
    --bs-navbar-brand-color: #fff;
    --bs-navbar-brand-hover-color: #fff;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

[data-bs-theme=dark] .navbar-toggler-icon {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

.card {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color: ;
    --bs-card-subtitle-color: ;
    --bs-card-border-width: var(--bs-border-width);
    --bs-card-border-color: var(--bs-border-color-translucent);
    --bs-card-border-radius: var(--bs-border-radius);
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-card-cap-padding-y: 0.5rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: var(--bs-body-bg);
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 0.75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    color: var(--bs-body-color);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius)
}

.card>hr {
    margin-right: 0;
    margin-left: 0
}

.card>.list-group {
    border-top: inherit;
    border-bottom: inherit
}

.card>.list-group:first-child {
    border-top-width: 0;
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius)
}

.card>.list-group:last-child {
    border-bottom-width: 0;
    border-bottom-right-radius: var(--bs-card-inner-border-radius);
    border-bottom-left-radius: var(--bs-card-inner-border-radius)
}

.card>.card-header+.list-group,
.card>.list-group+.card-footer {
    border-top: 0
}

.card-body {
    flex: 1 1 auto;
    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
    color: var(--bs-card-color)
}

.card-title {
    margin-bottom: var(--bs-card-title-spacer-y);
    color: var(--bs-card-title-color)
}

.card-subtitle {
    margin-top: calc(-.5 * var(--bs-card-title-spacer-y));
    margin-bottom: 0;
    color: var(--bs-card-subtitle-color)
}

.card-text:last-child {
    margin-bottom: 0
}

.card-link+.card-link {
    margin-left: var(--bs-card-spacer-x)
}

.card-header {
    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
    margin-bottom: 0;
    color: var(--bs-card-cap-color);
    background-color: var(--bs-card-cap-bg);
    border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color)
}

.card-header:first-child {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0
}

.card-footer {
    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
    color: var(--bs-card-cap-color);
    background-color: var(--bs-card-cap-bg);
    border-top: var(--bs-card-border-width) solid var(--bs-card-border-color)
}

.card-footer:last-child {
    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)
}

.card-header-tabs {
    margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
    margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
    margin-left: calc(-.5 * var(--bs-card-cap-padding-x));
    border-bottom: 0
}

.card-header-tabs .nav-link.active {
    background-color: var(--bs-card-bg);
    border-bottom-color: var(--bs-card-bg)
}

.card-header-pills {
    margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
    margin-left: calc(-.5 * var(--bs-card-cap-padding-x))
}

.card-img-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: var(--bs-card-img-overlay-padding);
    border-radius: var(--bs-card-inner-border-radius)
}

.card-img,
.card-img-bottom,
.card-img-top {
    width: 100%
}

.card-img,
.card-img-top {
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius)
}

.card-img,
.card-img-bottom {
    border-bottom-right-radius: var(--bs-card-inner-border-radius);
    border-bottom-left-radius: var(--bs-card-inner-border-radius)
}

.card-group>.card {
    margin-bottom: var(--bs-card-group-margin)
}

@media (min-width:576px) {
    .card-group {
        display: flex;
        flex-flow: row wrap
    }

    .card-group>.card {
        flex: 1 0 0;
        margin-bottom: 0
    }

    .card-group>.card+.card {
        margin-left: 0;
        border-left: 0
    }

    .card-group>.card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .card-group>.card:not(:last-child)>.card-header,
    .card-group>.card:not(:last-child)>.card-img-top {
        border-top-right-radius: 0
    }

    .card-group>.card:not(:last-child)>.card-footer,
    .card-group>.card:not(:last-child)>.card-img-bottom {
        border-bottom-right-radius: 0
    }

    .card-group>.card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

    .card-group>.card:not(:first-child)>.card-header,
    .card-group>.card:not(:first-child)>.card-img-top {
        border-top-left-radius: 0
    }

    .card-group>.card:not(:first-child)>.card-footer,
    .card-group>.card:not(:first-child)>.card-img-bottom {
        border-bottom-left-radius: 0
    }
}

.accordion {
    --bs-accordion-color: var(--bs-body-color);
    --bs-accordion-bg: var(--bs-body-bg);
    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
    --bs-accordion-border-color: var(--bs-border-color);
    --bs-accordion-border-width: var(--bs-border-width);
    --bs-accordion-border-radius: var(--bs-border-radius);
    --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-accordion-btn-padding-x: 1.25rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-color: var(--bs-body-color);
    --bs-accordion-btn-bg: var(--bs-accordion-bg);
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-accordion-btn-icon-width: 1.25rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --bs-accordion-body-padding-x: 1.25rem;
    --bs-accordion-body-padding-y: 1rem;
    --bs-accordion-active-color: var(--bs-primary-text-emphasis);
    --bs-accordion-active-bg: var(--bs-primary-bg-subtle)
}

.accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
    font-size: 1rem;
    color: var(--bs-accordion-btn-color);
    text-align: left;
    background-color: var(--bs-accordion-btn-bg);
    border: 0;
    border-radius: 0;
    overflow-anchor: none;
    transition: var(--bs-accordion-transition)
}

@media (prefers-reduced-motion:reduce) {
    .accordion-button {
        transition: none
    }
}

.accordion-button:not(.collapsed) {
    color: var(--bs-accordion-active-color);
    background-color: var(--bs-accordion-active-bg);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)
}

.accordion-button:not(.collapsed)::after {
    background-image: var(--bs-accordion-btn-active-icon);
    transform: var(--bs-accordion-btn-icon-transform)
}

.accordion-button::after {
    flex-shrink: 0;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    margin-left: auto;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition)
}

@media (prefers-reduced-motion:reduce) {
    .accordion-button::after {
        transition: none
    }
}

.accordion-button:hover {
    z-index: 2
}

.accordion-button:focus {
    z-index: 3;
    outline: 0;
    box-shadow: var(--bs-accordion-btn-focus-box-shadow)
}

.accordion-header {
    margin-bottom: 0
}

.accordion-item {
    color: var(--bs-accordion-color);
    background-color: var(--bs-accordion-bg);
    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)
}

.accordion-item:first-of-type {
    border-top-left-radius: var(--bs-accordion-border-radius);
    border-top-right-radius: var(--bs-accordion-border-radius)
}

.accordion-item:first-of-type>.accordion-header .accordion-button {
    border-top-left-radius: var(--bs-accordion-inner-border-radius);
    border-top-right-radius: var(--bs-accordion-inner-border-radius)
}

.accordion-item:not(:first-of-type) {
    border-top: 0
}

.accordion-item:last-of-type {
    border-bottom-right-radius: var(--bs-accordion-border-radius);
    border-bottom-left-radius: var(--bs-accordion-border-radius)
}

.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed {
    border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
    border-bottom-left-radius: var(--bs-accordion-inner-border-radius)
}

.accordion-item:last-of-type>.accordion-collapse {
    border-bottom-right-radius: var(--bs-accordion-border-radius);
    border-bottom-left-radius: var(--bs-accordion-border-radius)
}

.accordion-body {
    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)
}

.accordion-flush>.accordion-item {
    border-right: 0;
    border-left: 0;
    border-radius: 0
}

.accordion-flush>.accordion-item:first-child {
    border-top: 0
}

.accordion-flush>.accordion-item:last-child {
    border-bottom: 0
}

.accordion-flush>.accordion-item>.accordion-collapse,
.accordion-flush>.accordion-item>.accordion-header .accordion-button,
.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed {
    border-radius: 0
}

[data-bs-theme=dark] .accordion-button::after {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")
}

.breadcrumb {
    --bs-breadcrumb-padding-x: 0;
    --bs-breadcrumb-padding-y: 0;
    --bs-breadcrumb-margin-bottom: 1rem;
    --bs-breadcrumb-bg: ;
    --bs-breadcrumb-border-radius: ;
    --bs-breadcrumb-divider-color: var(--bs-secondary-color);
    --bs-breadcrumb-item-padding-x: 0.5rem;
    --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
    display: flex;
    flex-wrap: wrap;
    padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
    margin-bottom: var(--bs-breadcrumb-margin-bottom);
    font-size: var(--bs-breadcrumb-font-size);
    list-style: none;
    background-color: var(--bs-breadcrumb-bg);
    border-radius: var(--bs-breadcrumb-border-radius)
}

.breadcrumb-item+.breadcrumb-item {
    padding-left: var(--bs-breadcrumb-item-padding-x)
}

.breadcrumb-item+.breadcrumb-item::before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/")
}

.breadcrumb-item.active {
    color: var(--bs-breadcrumb-item-active-color)
}

.pagination {
    --bs-pagination-padding-x: 0.75rem;
    --bs-pagination-padding-y: 0.375rem;
    --bs-pagination-font-size: 1rem;
    --bs-pagination-color: var(--bs-link-color);
    --bs-pagination-bg: var(--bs-body-bg);
    --bs-pagination-border-width: var(--bs-border-width);
    --bs-pagination-border-color: var(--bs-border-color);
    --bs-pagination-border-radius: var(--bs-border-radius);
    --bs-pagination-hover-color: var(--bs-link-hover-color);
    --bs-pagination-hover-bg: var(--bs-tertiary-bg);
    --bs-pagination-hover-border-color: var(--bs-border-color);
    --bs-pagination-focus-color: var(--bs-link-hover-color);
    --bs-pagination-focus-bg: var(--bs-secondary-bg);
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: #0d6efd;
    --bs-pagination-active-border-color: #0d6efd;
    --bs-pagination-disabled-color: var(--bs-secondary-color);
    --bs-pagination-disabled-bg: var(--bs-secondary-bg);
    --bs-pagination-disabled-border-color: var(--bs-border-color);
    display: flex;
    padding-left: 0;
    list-style: none
}

.page-link {
    position: relative;
    display: block;
    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
    font-size: var(--bs-pagination-font-size);
    color: var(--bs-pagination-color);
    text-decoration: none;
    background-color: var(--bs-pagination-bg);
    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .page-link {
        transition: none
    }
}

.page-link:hover {
    z-index: 2;
    color: var(--bs-pagination-hover-color);
    background-color: var(--bs-pagination-hover-bg);
    border-color: var(--bs-pagination-hover-border-color)
}

.page-link:focus {
    z-index: 3;
    color: var(--bs-pagination-focus-color);
    background-color: var(--bs-pagination-focus-bg);
    outline: 0;
    box-shadow: var(--bs-pagination-focus-box-shadow)
}

.active>.page-link,
.page-link.active {
    z-index: 3;
    color: var(--bs-pagination-active-color);
    background-color: var(--bs-pagination-active-bg);
    border-color: var(--bs-pagination-active-border-color)
}

.disabled>.page-link,
.page-link.disabled {
    color: var(--bs-pagination-disabled-color);
    pointer-events: none;
    background-color: var(--bs-pagination-disabled-bg);
    border-color: var(--bs-pagination-disabled-border-color)
}

.page-item:not(:first-child) .page-link {
    margin-left: calc(-1 * var(--bs-border-width))
}

.page-item:first-child .page-link {
    border-top-left-radius: var(--bs-pagination-border-radius);
    border-bottom-left-radius: var(--bs-pagination-border-radius)
}

.page-item:last-child .page-link {
    border-top-right-radius: var(--bs-pagination-border-radius);
    border-bottom-right-radius: var(--bs-pagination-border-radius)
}

.pagination-lg {
    --bs-pagination-padding-x: 1.5rem;
    --bs-pagination-padding-y: 0.75rem;
    --bs-pagination-font-size: 1.25rem;
    --bs-pagination-border-radius: var(--bs-border-radius-lg)
}

.pagination-sm {
    --bs-pagination-padding-x: 0.5rem;
    --bs-pagination-padding-y: 0.25rem;
    --bs-pagination-font-size: 0.875rem;
    --bs-pagination-border-radius: var(--bs-border-radius-sm)
}

.badge {
    --bs-badge-padding-x: 0.65em;
    --bs-badge-padding-y: 0.35em;
    --bs-badge-font-size: 0.75em;
    --bs-badge-font-weight: 700;
    --bs-badge-color: #fff;
    --bs-badge-border-radius: var(--bs-border-radius);
    display: inline-block;
    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
    font-size: var(--bs-badge-font-size);
    font-weight: var(--bs-badge-font-weight);
    line-height: 1;
    color: var(--bs-badge-color);
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: var(--bs-badge-border-radius)
}

.badge:empty {
    display: none
}

.btn .badge {
    position: relative;
    top: -1px
}

.alert {
    --bs-alert-bg: transparent;
    --bs-alert-padding-x: 1rem;
    --bs-alert-padding-y: 1rem;
    --bs-alert-margin-bottom: 1rem;
    --bs-alert-color: inherit;
    --bs-alert-border-color: transparent;
    --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
    --bs-alert-border-radius: var(--bs-border-radius);
    --bs-alert-link-color: inherit;
    position: relative;
    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
    margin-bottom: var(--bs-alert-margin-bottom);
    color: var(--bs-alert-color);
    background-color: var(--bs-alert-bg);
    border: var(--bs-alert-border);
    border-radius: var(--bs-alert-border-radius)
}

.alert-heading {
    color: inherit
}

.alert-link {
    font-weight: 700;
    color: var(--bs-alert-link-color)
}

.alert-dismissible {
    padding-right: 3rem
}

.alert-dismissible .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 1.25rem 1rem
}

.alert-primary {
    --bs-alert-color: var(--bs-primary-text-emphasis);
    --bs-alert-bg: var(--bs-primary-bg-subtle);
    --bs-alert-border-color: var(--bs-primary-border-subtle);
    --bs-alert-link-color: var(--bs-primary-text-emphasis)
}

.alert-secondary {
    --bs-alert-color: var(--bs-secondary-text-emphasis);
    --bs-alert-bg: var(--bs-secondary-bg-subtle);
    --bs-alert-border-color: var(--bs-secondary-border-subtle);
    --bs-alert-link-color: var(--bs-secondary-text-emphasis)
}

.alert-success {
    --bs-alert-color: var(--bs-success-text-emphasis);
    --bs-alert-bg: var(--bs-success-bg-subtle);
    --bs-alert-border-color: var(--bs-success-border-subtle);
    --bs-alert-link-color: var(--bs-success-text-emphasis)
}

.alert-info {
    --bs-alert-color: var(--bs-info-text-emphasis);
    --bs-alert-bg: var(--bs-info-bg-subtle);
    --bs-alert-border-color: var(--bs-info-border-subtle);
    --bs-alert-link-color: var(--bs-info-text-emphasis)
}

.alert-warning {
    --bs-alert-color: var(--bs-warning-text-emphasis);
    --bs-alert-bg: var(--bs-warning-bg-subtle);
    --bs-alert-border-color: var(--bs-warning-border-subtle);
    --bs-alert-link-color: var(--bs-warning-text-emphasis)
}

.alert-danger {
    --bs-alert-color: var(--bs-danger-text-emphasis);
    --bs-alert-bg: var(--bs-danger-bg-subtle);
    --bs-alert-border-color: var(--bs-danger-border-subtle);
    --bs-alert-link-color: var(--bs-danger-text-emphasis)
}

.alert-light {
    --bs-alert-color: var(--bs-light-text-emphasis);
    --bs-alert-bg: var(--bs-light-bg-subtle);
    --bs-alert-border-color: var(--bs-light-border-subtle);
    --bs-alert-link-color: var(--bs-light-text-emphasis)
}

.alert-dark {
    --bs-alert-color: var(--bs-dark-text-emphasis);
    --bs-alert-bg: var(--bs-dark-bg-subtle);
    --bs-alert-border-color: var(--bs-dark-border-subtle);
    --bs-alert-link-color: var(--bs-dark-text-emphasis)
}

@keyframes progress-bar-stripes {
    0% {
        background-position-x: var(--bs-progress-height)
    }
}

.progress,
.progress-stacked {
    --bs-progress-height: 1rem;
    --bs-progress-font-size: 0.75rem;
    --bs-progress-bg: var(--bs-secondary-bg);
    --bs-progress-border-radius: var(--bs-border-radius);
    --bs-progress-box-shadow: var(--bs-box-shadow-inset);
    --bs-progress-bar-color: #fff;
    --bs-progress-bar-bg: #0d6efd;
    --bs-progress-bar-transition: width 0.6s ease;
    display: flex;
    height: var(--bs-progress-height);
    overflow: hidden;
    font-size: var(--bs-progress-font-size);
    background-color: var(--bs-progress-bg);
    border-radius: var(--bs-progress-border-radius)
}

.progress-bar {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    color: var(--bs-progress-bar-color);
    text-align: center;
    white-space: nowrap;
    background-color: var(--bs-progress-bar-bg);
    transition: var(--bs-progress-bar-transition)
}

@media (prefers-reduced-motion:reduce) {
    .progress-bar {
        transition: none
    }
}

.progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
    background-size: var(--bs-progress-height) var(--bs-progress-height)
}

.progress-stacked>.progress {
    overflow: visible
}

.progress-stacked>.progress>.progress-bar {
    width: 100%
}

.progress-bar-animated {
    animation: 1s linear infinite progress-bar-stripes
}

@media (prefers-reduced-motion:reduce) {
    .progress-bar-animated {
        animation: none
    }
}

.list-group {
    --bs-list-group-color: var(--bs-body-color);
    --bs-list-group-bg: var(--bs-body-bg);
    --bs-list-group-border-color: var(--bs-border-color);
    --bs-list-group-border-width: var(--bs-border-width);
    --bs-list-group-border-radius: var(--bs-border-radius);
    --bs-list-group-item-padding-x: 1rem;
    --bs-list-group-item-padding-y: 0.5rem;
    --bs-list-group-action-color: var(--bs-secondary-color);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
    --bs-list-group-action-active-color: var(--bs-body-color);
    --bs-list-group-action-active-bg: var(--bs-secondary-bg);
    --bs-list-group-disabled-color: var(--bs-secondary-color);
    --bs-list-group-disabled-bg: var(--bs-body-bg);
    --bs-list-group-active-color: #fff;
    --bs-list-group-active-bg: #0d6efd;
    --bs-list-group-active-border-color: #0d6efd;
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    border-radius: var(--bs-list-group-border-radius)
}

.list-group-numbered {
    list-style-type: none;
    counter-reset: section
}

.list-group-numbered>.list-group-item::before {
    content: counters(section, ".") ". ";
    counter-increment: section
}

.list-group-item {
    position: relative;
    display: block;
    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
    color: var(--bs-list-group-color);
    text-decoration: none;
    background-color: var(--bs-list-group-bg);
    border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)
}

.list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit
}

.list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit
}

.list-group-item.disabled,
.list-group-item:disabled {
    color: var(--bs-list-group-disabled-color);
    pointer-events: none;
    background-color: var(--bs-list-group-disabled-bg)
}

.list-group-item.active {
    z-index: 2;
    color: var(--bs-list-group-active-color);
    background-color: var(--bs-list-group-active-bg);
    border-color: var(--bs-list-group-active-border-color)
}

.list-group-item+.list-group-item {
    border-top-width: 0
}

.list-group-item+.list-group-item.active {
    margin-top: calc(-1 * var(--bs-list-group-border-width));
    border-top-width: var(--bs-list-group-border-width)
}

.list-group-item-action {
    width: 100%;
    color: var(--bs-list-group-action-color);
    text-align: inherit
}

.list-group-item-action:not(.active):focus,
.list-group-item-action:not(.active):hover {
    z-index: 1;
    color: var(--bs-list-group-action-hover-color);
    text-decoration: none;
    background-color: var(--bs-list-group-action-hover-bg)
}

.list-group-item-action:not(.active):active {
    color: var(--bs-list-group-action-active-color);
    background-color: var(--bs-list-group-action-active-bg)
}

.list-group-horizontal {
    flex-direction: row
}

.list-group-horizontal>.list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0
}

.list-group-horizontal>.list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0
}

.list-group-horizontal>.list-group-item.active {
    margin-top: 0
}

.list-group-horizontal>.list-group-item+.list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0
}

.list-group-horizontal>.list-group-item+.list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width)
}

@media (min-width:576px) {
    .list-group-horizontal-sm {
        flex-direction: row
    }

    .list-group-horizontal-sm>.list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0
    }

    .list-group-horizontal-sm>.list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0
    }

    .list-group-horizontal-sm>.list-group-item.active {
        margin-top: 0
    }

    .list-group-horizontal-sm>.list-group-item+.list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0
    }

    .list-group-horizontal-sm>.list-group-item+.list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width)
    }
}

@media (min-width:768px) {
    .list-group-horizontal-md {
        flex-direction: row
    }

    .list-group-horizontal-md>.list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0
    }

    .list-group-horizontal-md>.list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0
    }

    .list-group-horizontal-md>.list-group-item.active {
        margin-top: 0
    }

    .list-group-horizontal-md>.list-group-item+.list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0
    }

    .list-group-horizontal-md>.list-group-item+.list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width)
    }
}

@media (min-width:992px) {
    .list-group-horizontal-lg {
        flex-direction: row
    }

    .list-group-horizontal-lg>.list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0
    }

    .list-group-horizontal-lg>.list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0
    }

    .list-group-horizontal-lg>.list-group-item.active {
        margin-top: 0
    }

    .list-group-horizontal-lg>.list-group-item+.list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0
    }

    .list-group-horizontal-lg>.list-group-item+.list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width)
    }
}

@media (min-width:1200px) {
    .list-group-horizontal-xl {
        flex-direction: row
    }

    .list-group-horizontal-xl>.list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0
    }

    .list-group-horizontal-xl>.list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0
    }

    .list-group-horizontal-xl>.list-group-item.active {
        margin-top: 0
    }

    .list-group-horizontal-xl>.list-group-item+.list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0
    }

    .list-group-horizontal-xl>.list-group-item+.list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width)
    }
}

@media (min-width:1400px) {
    .list-group-horizontal-xxl {
        flex-direction: row
    }

    .list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child) {
        border-bottom-left-radius: var(--bs-list-group-border-radius);
        border-top-right-radius: 0
    }

    .list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child) {
        border-top-right-radius: var(--bs-list-group-border-radius);
        border-bottom-left-radius: 0
    }

    .list-group-horizontal-xxl>.list-group-item.active {
        margin-top: 0
    }

    .list-group-horizontal-xxl>.list-group-item+.list-group-item {
        border-top-width: var(--bs-list-group-border-width);
        border-left-width: 0
    }

    .list-group-horizontal-xxl>.list-group-item+.list-group-item.active {
        margin-left: calc(-1 * var(--bs-list-group-border-width));
        border-left-width: var(--bs-list-group-border-width)
    }
}

.list-group-flush {
    border-radius: 0
}

.list-group-flush>.list-group-item {
    border-width: 0 0 var(--bs-list-group-border-width)
}

.list-group-flush>.list-group-item:last-child {
    border-bottom-width: 0
}

.list-group-item-primary {
    --bs-list-group-color: var(--bs-primary-text-emphasis);
    --bs-list-group-bg: var(--bs-primary-bg-subtle);
    --bs-list-group-border-color: var(--bs-primary-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
    --bs-list-group-active-color: var(--bs-primary-bg-subtle);
    --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-primary-text-emphasis)
}

.list-group-item-secondary {
    --bs-list-group-color: var(--bs-secondary-text-emphasis);
    --bs-list-group-bg: var(--bs-secondary-bg-subtle);
    --bs-list-group-border-color: var(--bs-secondary-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
    --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
    --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)
}

.list-group-item-success {
    --bs-list-group-color: var(--bs-success-text-emphasis);
    --bs-list-group-bg: var(--bs-success-bg-subtle);
    --bs-list-group-border-color: var(--bs-success-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
    --bs-list-group-active-color: var(--bs-success-bg-subtle);
    --bs-list-group-active-bg: var(--bs-success-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-success-text-emphasis)
}

.list-group-item-info {
    --bs-list-group-color: var(--bs-info-text-emphasis);
    --bs-list-group-bg: var(--bs-info-bg-subtle);
    --bs-list-group-border-color: var(--bs-info-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
    --bs-list-group-active-color: var(--bs-info-bg-subtle);
    --bs-list-group-active-bg: var(--bs-info-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-info-text-emphasis)
}

.list-group-item-warning {
    --bs-list-group-color: var(--bs-warning-text-emphasis);
    --bs-list-group-bg: var(--bs-warning-bg-subtle);
    --bs-list-group-border-color: var(--bs-warning-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
    --bs-list-group-active-color: var(--bs-warning-bg-subtle);
    --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-warning-text-emphasis)
}

.list-group-item-danger {
    --bs-list-group-color: var(--bs-danger-text-emphasis);
    --bs-list-group-bg: var(--bs-danger-bg-subtle);
    --bs-list-group-border-color: var(--bs-danger-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
    --bs-list-group-active-color: var(--bs-danger-bg-subtle);
    --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-danger-text-emphasis)
}

.list-group-item-light {
    --bs-list-group-color: var(--bs-light-text-emphasis);
    --bs-list-group-bg: var(--bs-light-bg-subtle);
    --bs-list-group-border-color: var(--bs-light-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
    --bs-list-group-active-color: var(--bs-light-bg-subtle);
    --bs-list-group-active-bg: var(--bs-light-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-light-text-emphasis)
}

.list-group-item-dark {
    --bs-list-group-color: var(--bs-dark-text-emphasis);
    --bs-list-group-bg: var(--bs-dark-bg-subtle);
    --bs-list-group-border-color: var(--bs-dark-border-subtle);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
    --bs-list-group-active-color: var(--bs-dark-bg-subtle);
    --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
    --bs-list-group-active-border-color: var(--bs-dark-text-emphasis)
}

.btn-close {
    --bs-btn-close-color: #000;
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
    --bs-btn-close-opacity: 0.5;
    --bs-btn-close-hover-opacity: 0.75;
    --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --bs-btn-close-focus-opacity: 1;
    --bs-btn-close-disabled-opacity: 0.25;
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: .25em .25em;
    color: var(--bs-btn-close-color);
    background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
    filter: var(--bs-btn-close-filter);
    border: 0;
    border-radius: .375rem;
    opacity: var(--bs-btn-close-opacity)
}

.btn-close:hover {
    color: var(--bs-btn-close-color);
    text-decoration: none;
    opacity: var(--bs-btn-close-hover-opacity)
}

.btn-close:focus {
    outline: 0;
    box-shadow: var(--bs-btn-close-focus-shadow);
    opacity: var(--bs-btn-close-focus-opacity)
}

.btn-close.disabled,
.btn-close:disabled {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    opacity: var(--bs-btn-close-disabled-opacity)
}

.btn-close-white {
    --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)
}

:root,
[data-bs-theme=light] {
    --bs-btn-close-filter:
}

[data-bs-theme=dark] {
    --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)
}

.toast {
    --bs-toast-zindex: 1090;
    --bs-toast-padding-x: 0.75rem;
    --bs-toast-padding-y: 0.5rem;
    --bs-toast-spacing: 1.5rem;
    --bs-toast-max-width: 350px;
    --bs-toast-font-size: 0.875rem;
    --bs-toast-color: ;
    --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
    --bs-toast-border-width: var(--bs-border-width);
    --bs-toast-border-color: var(--bs-border-color-translucent);
    --bs-toast-border-radius: var(--bs-border-radius);
    --bs-toast-box-shadow: var(--bs-box-shadow);
    --bs-toast-header-color: var(--bs-secondary-color);
    --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
    --bs-toast-header-border-color: var(--bs-border-color-translucent);
    width: var(--bs-toast-max-width);
    max-width: 100%;
    font-size: var(--bs-toast-font-size);
    color: var(--bs-toast-color);
    pointer-events: auto;
    background-color: var(--bs-toast-bg);
    background-clip: padding-box;
    border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
    box-shadow: var(--bs-toast-box-shadow);
    border-radius: var(--bs-toast-border-radius)
}

.toast.showing {
    opacity: 0
}

.toast:not(.show) {
    display: none
}

.toast-container {
    --bs-toast-zindex: 1090;
    position: absolute;
    z-index: var(--bs-toast-zindex);
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    pointer-events: none
}

.toast-container>:not(:last-child) {
    margin-bottom: var(--bs-toast-spacing)
}

.toast-header {
    display: flex;
    align-items: center;
    padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
    color: var(--bs-toast-header-color);
    background-color: var(--bs-toast-header-bg);
    background-clip: padding-box;
    border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
    border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
    border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))
}

.toast-header .btn-close {
    margin-right: calc(-.5 * var(--bs-toast-padding-x));
    margin-left: var(--bs-toast-padding-x)
}

.toast-body {
    padding: var(--bs-toast-padding-x);
    word-wrap: break-word
}

.modal {
    --bs-modal-zindex: 1055;
    --bs-modal-width: 500px;
    --bs-modal-padding: 1rem;
    --bs-modal-margin: 0.5rem;
    --bs-modal-color: var(--bs-body-color);
    --bs-modal-bg: var(--bs-body-bg);
    --bs-modal-border-color: var(--bs-border-color-translucent);
    --bs-modal-border-width: var(--bs-border-width);
    --bs-modal-border-radius: var(--bs-border-radius-lg);
    --bs-modal-box-shadow: var(--bs-box-shadow-sm);
    --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
    --bs-modal-header-padding-x: 1rem;
    --bs-modal-header-padding-y: 1rem;
    --bs-modal-header-padding: 1rem 1rem;
    --bs-modal-header-border-color: var(--bs-border-color);
    --bs-modal-header-border-width: var(--bs-border-width);
    --bs-modal-title-line-height: 1.5;
    --bs-modal-footer-gap: 0.5rem;
    --bs-modal-footer-bg: ;
    --bs-modal-footer-border-color: var(--bs-border-color);
    --bs-modal-footer-border-width: var(--bs-border-width);
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-modal-zindex);
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: var(--bs-modal-margin);
    pointer-events: none
}

.modal.fade .modal-dialog {
    transform: translate(0, -50px);
    transition: transform .3s ease-out
}

@media (prefers-reduced-motion:reduce) {
    .modal.fade .modal-dialog {
        transition: none
    }
}

.modal.show .modal-dialog {
    transform: none
}

.modal.modal-static .modal-dialog {
    transform: scale(1.02)
}

.modal-dialog-scrollable {
    height: calc(100% - var(--bs-modal-margin) * 2)
}

.modal-dialog-scrollable .modal-content {
    max-height: 100%;
    overflow: hidden
}

.modal-dialog-scrollable .modal-body {
    overflow-y: auto
}

.modal-dialog-centered {
    display: flex;
    align-items: center;
    min-height: calc(100% - var(--bs-modal-margin) * 2)
}

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    color: var(--bs-modal-color);
    pointer-events: auto;
    background-color: var(--bs-modal-bg);
    background-clip: padding-box;
    border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
    border-radius: var(--bs-modal-border-radius);
    outline: 0
}

.modal-backdrop {
    --bs-backdrop-zindex: 1050;
    --bs-backdrop-bg: #000;
    --bs-backdrop-opacity: 0.5;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-backdrop-zindex);
    width: 100vw;
    height: 100vh;
    background-color: var(--bs-backdrop-bg)
}

.modal-backdrop.fade {
    opacity: 0
}

.modal-backdrop.show {
    opacity: var(--bs-backdrop-opacity)
}

.modal-header {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    padding: var(--bs-modal-header-padding);
    border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
    border-top-left-radius: var(--bs-modal-inner-border-radius);
    border-top-right-radius: var(--bs-modal-inner-border-radius)
}

.modal-header .btn-close {
    padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);
    margin-top: calc(-.5 * var(--bs-modal-header-padding-y));
    margin-right: calc(-.5 * var(--bs-modal-header-padding-x));
    margin-bottom: calc(-.5 * var(--bs-modal-header-padding-y));
    margin-left: auto
}

.modal-title {
    margin-bottom: 0;
    line-height: var(--bs-modal-title-line-height)
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: var(--bs-modal-padding)
}

.modal-footer {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);
    background-color: var(--bs-modal-footer-bg);
    border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
    border-bottom-right-radius: var(--bs-modal-inner-border-radius);
    border-bottom-left-radius: var(--bs-modal-inner-border-radius)
}

.modal-footer>* {
    margin: calc(var(--bs-modal-footer-gap) * .5)
}

@media (min-width:576px) {
    .modal {
        --bs-modal-margin: 1.75rem;
        --bs-modal-box-shadow: var(--bs-box-shadow)
    }

    .modal-dialog {
        max-width: var(--bs-modal-width);
        margin-right: auto;
        margin-left: auto
    }

    .modal-sm {
        --bs-modal-width: 300px
    }
}

@media (min-width:992px) {

    .modal-lg,
    .modal-xl {
        --bs-modal-width: 800px
    }
}

@media (min-width:1200px) {
    .modal-xl {
        --bs-modal-width: 1140px
    }
}

.modal-fullscreen {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0
}

.modal-fullscreen .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0
}

.modal-fullscreen .modal-footer,
.modal-fullscreen .modal-header {
    border-radius: 0
}

.modal-fullscreen .modal-body {
    overflow-y: auto
}

@media (max-width:575.98px) {
    .modal-fullscreen-sm-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-sm-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-sm-down .modal-footer,
    .modal-fullscreen-sm-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-sm-down .modal-body {
        overflow-y: auto
    }
}

@media (max-width:767.98px) {
    .modal-fullscreen-md-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-md-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-md-down .modal-footer,
    .modal-fullscreen-md-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-md-down .modal-body {
        overflow-y: auto
    }
}

@media (max-width:991.98px) {
    .modal-fullscreen-lg-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-lg-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-lg-down .modal-footer,
    .modal-fullscreen-lg-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-lg-down .modal-body {
        overflow-y: auto
    }
}

@media (max-width:1199.98px) {
    .modal-fullscreen-xl-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-xl-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-xl-down .modal-footer,
    .modal-fullscreen-xl-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-xl-down .modal-body {
        overflow-y: auto
    }
}

@media (max-width:1399.98px) {
    .modal-fullscreen-xxl-down {
        width: 100vw;
        max-width: none;
        height: 100%;
        margin: 0
    }

    .modal-fullscreen-xxl-down .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0
    }

    .modal-fullscreen-xxl-down .modal-footer,
    .modal-fullscreen-xxl-down .modal-header {
        border-radius: 0
    }

    .modal-fullscreen-xxl-down .modal-body {
        overflow-y: auto
    }
}

.tooltip {
    --bs-tooltip-zindex: 1080;
    --bs-tooltip-max-width: 200px;
    --bs-tooltip-padding-x: 0.5rem;
    --bs-tooltip-padding-y: 0.25rem;
    --bs-tooltip-margin: ;
    --bs-tooltip-font-size: 0.875rem;
    --bs-tooltip-color: var(--bs-body-bg);
    --bs-tooltip-bg: var(--bs-emphasis-color);
    --bs-tooltip-border-radius: var(--bs-border-radius);
    --bs-tooltip-opacity: 0.9;
    --bs-tooltip-arrow-width: 0.8rem;
    --bs-tooltip-arrow-height: 0.4rem;
    z-index: var(--bs-tooltip-zindex);
    display: block;
    margin: var(--bs-tooltip-margin);
    font-family: var(--bs-font-sans-serif);
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    white-space: normal;
    word-spacing: normal;
    line-break: auto;
    font-size: var(--bs-tooltip-font-size);
    word-wrap: break-word;
    opacity: 0
}

.tooltip.show {
    opacity: var(--bs-tooltip-opacity)
}

.tooltip .tooltip-arrow {
    display: block;
    width: var(--bs-tooltip-arrow-width);
    height: var(--bs-tooltip-arrow-height)
}

.tooltip .tooltip-arrow::before {
    position: absolute;
    content: "";
    border-color: transparent;
    border-style: solid
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,
.bs-tooltip-top .tooltip-arrow {
    bottom: calc(-1 * var(--bs-tooltip-arrow-height))
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,
.bs-tooltip-top .tooltip-arrow::before {
    top: -1px;
    border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
    border-top-color: var(--bs-tooltip-bg)
}

.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,
.bs-tooltip-end .tooltip-arrow {
    left: calc(-1 * var(--bs-tooltip-arrow-height));
    width: var(--bs-tooltip-arrow-height);
    height: var(--bs-tooltip-arrow-width)
}

.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,
.bs-tooltip-end .tooltip-arrow::before {
    right: -1px;
    border-width: calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
    border-right-color: var(--bs-tooltip-bg)
}

.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,
.bs-tooltip-bottom .tooltip-arrow {
    top: calc(-1 * var(--bs-tooltip-arrow-height))
}

.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,
.bs-tooltip-bottom .tooltip-arrow::before {
    bottom: -1px;
    border-width: 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
    border-bottom-color: var(--bs-tooltip-bg)
}

.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,
.bs-tooltip-start .tooltip-arrow {
    right: calc(-1 * var(--bs-tooltip-arrow-height));
    width: var(--bs-tooltip-arrow-height);
    height: var(--bs-tooltip-arrow-width)
}

.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,
.bs-tooltip-start .tooltip-arrow::before {
    left: -1px;
    border-width: calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
    border-left-color: var(--bs-tooltip-bg)
}

.tooltip-inner {
    max-width: var(--bs-tooltip-max-width);
    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
    color: var(--bs-tooltip-color);
    text-align: center;
    background-color: var(--bs-tooltip-bg);
    border-radius: var(--bs-tooltip-border-radius)
}

.popover {
    --bs-popover-zindex: 1070;
    --bs-popover-max-width: 276px;
    --bs-popover-font-size: 0.875rem;
    --bs-popover-bg: var(--bs-body-bg);
    --bs-popover-border-width: var(--bs-border-width);
    --bs-popover-border-color: var(--bs-border-color-translucent);
    --bs-popover-border-radius: var(--bs-border-radius-lg);
    --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
    --bs-popover-box-shadow: var(--bs-box-shadow);
    --bs-popover-header-padding-x: 1rem;
    --bs-popover-header-padding-y: 0.5rem;
    --bs-popover-header-font-size: 1rem;
    --bs-popover-header-color: inherit;
    --bs-popover-header-bg: var(--bs-secondary-bg);
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: 1rem;
    --bs-popover-body-color: var(--bs-body-color);
    --bs-popover-arrow-width: 1rem;
    --bs-popover-arrow-height: 0.5rem;
    --bs-popover-arrow-border: var(--bs-popover-border-color);
    z-index: var(--bs-popover-zindex);
    display: block;
    max-width: var(--bs-popover-max-width);
    font-family: var(--bs-font-sans-serif);
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    white-space: normal;
    word-spacing: normal;
    line-break: auto;
    font-size: var(--bs-popover-font-size);
    word-wrap: break-word;
    background-color: var(--bs-popover-bg);
    background-clip: padding-box;
    border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
    border-radius: var(--bs-popover-border-radius)
}

.popover .popover-arrow {
    display: block;
    width: var(--bs-popover-arrow-width);
    height: var(--bs-popover-arrow-height)
}

.popover .popover-arrow::after,
.popover .popover-arrow::before {
    position: absolute;
    display: block;
    content: "";
    border-color: transparent;
    border-style: solid;
    border-width: 0
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,
.bs-popover-top>.popover-arrow {
    bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,
.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,
.bs-popover-top>.popover-arrow::after,
.bs-popover-top>.popover-arrow::before {
    border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,
.bs-popover-top>.popover-arrow::before {
    bottom: 0;
    border-top-color: var(--bs-popover-arrow-border)
}

.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,
.bs-popover-top>.popover-arrow::after {
    bottom: var(--bs-popover-border-width);
    border-top-color: var(--bs-popover-bg)
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,
.bs-popover-end>.popover-arrow {
    left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
    width: var(--bs-popover-arrow-height);
    height: var(--bs-popover-arrow-width)
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,
.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,
.bs-popover-end>.popover-arrow::after,
.bs-popover-end>.popover-arrow::before {
    border-width: calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,
.bs-popover-end>.popover-arrow::before {
    left: 0;
    border-right-color: var(--bs-popover-arrow-border)
}

.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,
.bs-popover-end>.popover-arrow::after {
    left: var(--bs-popover-border-width);
    border-right-color: var(--bs-popover-bg)
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,
.bs-popover-bottom>.popover-arrow {
    top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,
.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,
.bs-popover-bottom>.popover-arrow::after,
.bs-popover-bottom>.popover-arrow::before {
    border-width: 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,
.bs-popover-bottom>.popover-arrow::before {
    top: 0;
    border-bottom-color: var(--bs-popover-arrow-border)
}

.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,
.bs-popover-bottom>.popover-arrow::after {
    top: var(--bs-popover-border-width);
    border-bottom-color: var(--bs-popover-bg)
}

.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,
.bs-popover-bottom .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: var(--bs-popover-arrow-width);
    margin-left: calc(-.5 * var(--bs-popover-arrow-width));
    content: "";
    border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg)
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,
.bs-popover-start>.popover-arrow {
    right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
    width: var(--bs-popover-arrow-height);
    height: var(--bs-popover-arrow-width)
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,
.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,
.bs-popover-start>.popover-arrow::after,
.bs-popover-start>.popover-arrow::before {
    border-width: calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,
.bs-popover-start>.popover-arrow::before {
    right: 0;
    border-left-color: var(--bs-popover-arrow-border)
}

.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,
.bs-popover-start>.popover-arrow::after {
    right: var(--bs-popover-border-width);
    border-left-color: var(--bs-popover-bg)
}

.popover-header {
    padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
    margin-bottom: 0;
    font-size: var(--bs-popover-header-font-size);
    color: var(--bs-popover-header-color);
    background-color: var(--bs-popover-header-bg);
    border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
    border-top-left-radius: var(--bs-popover-inner-border-radius);
    border-top-right-radius: var(--bs-popover-inner-border-radius)
}

.popover-header:empty {
    display: none
}

.popover-body {
    padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
    color: var(--bs-popover-body-color)
}

.carousel {
    position: relative
}

.carousel.pointer-event {
    touch-action: pan-y
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden
}

.carousel-inner::after {
    display: block;
    clear: both;
    content: ""
}

.carousel-item {
    position: relative;
    display: none;
    float: left;
    width: 100%;
    margin-right: -100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform .6s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .carousel-item {
        transition: none
    }
}

.carousel-item-next,
.carousel-item-prev,
.carousel-item.active {
    display: block
}

.active.carousel-item-end,
.carousel-item-next:not(.carousel-item-start) {
    transform: translateX(100%)
}

.active.carousel-item-start,
.carousel-item-prev:not(.carousel-item-end) {
    transform: translateX(-100%)
}

.carousel-fade .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none
}

.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end,
.carousel-fade .carousel-item.active {
    z-index: 1;
    opacity: 1
}

.carousel-fade .active.carousel-item-end,
.carousel-fade .active.carousel-item-start {
    z-index: 0;
    opacity: 0;
    transition: opacity 0s .6s
}

@media (prefers-reduced-motion:reduce) {

    .carousel-fade .active.carousel-item-end,
    .carousel-fade .active.carousel-item-start {
        transition: none
    }
}

.carousel-control-next,
.carousel-control-prev {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15%;
    padding: 0;
    color: #fff;
    text-align: center;
    background: 0 0;
    filter: var(--bs-carousel-control-icon-filter);
    border: 0;
    opacity: .5;
    transition: opacity .15s ease
}

@media (prefers-reduced-motion:reduce) {

    .carousel-control-next,
    .carousel-control-prev {
        transition: none
    }
}

.carousel-control-next:focus,
.carousel-control-next:hover,
.carousel-control-prev:focus,
.carousel-control-prev:hover {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: .9
}

.carousel-control-prev {
    left: 0
}

.carousel-control-next {
    right: 0
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 100% 100%
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")
}

.carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    padding: 0;
    margin-right: 15%;
    margin-bottom: 1rem;
    margin-left: 15%
}

.carousel-indicators [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    padding: 0;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: var(--bs-carousel-indicator-active-bg);
    background-clip: padding-box;
    border: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity .6s ease
}

@media (prefers-reduced-motion:reduce) {
    .carousel-indicators [data-bs-target] {
        transition: none
    }
}

.carousel-indicators .active {
    opacity: 1
}

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 1.25rem;
    left: 15%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    color: var(--bs-carousel-caption-color);
    text-align: center
}

.carousel-dark {
    --bs-carousel-indicator-active-bg: #000;
    --bs-carousel-caption-color: #000;
    --bs-carousel-control-icon-filter: invert(1) grayscale(100)
}

:root,
[data-bs-theme=light] {
    --bs-carousel-indicator-active-bg: #fff;
    --bs-carousel-caption-color: #fff;
    --bs-carousel-control-icon-filter:
}

[data-bs-theme=dark] {
    --bs-carousel-indicator-active-bg: #000;
    --bs-carousel-caption-color: #000;
    --bs-carousel-control-icon-filter: invert(1) grayscale(100)
}

.spinner-border,
.spinner-grow {
    display: inline-block;
    flex-shrink: 0;
    width: var(--bs-spinner-width);
    height: var(--bs-spinner-height);
    vertical-align: var(--bs-spinner-vertical-align);
    border-radius: 50%;
    animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg)
    }
}

.spinner-border {
    --bs-spinner-width: 2rem;
    --bs-spinner-height: 2rem;
    --bs-spinner-vertical-align: -0.125em;
    --bs-spinner-border-width: 0.25em;
    --bs-spinner-animation-speed: 0.75s;
    --bs-spinner-animation-name: spinner-border;
    border: var(--bs-spinner-border-width) solid currentcolor;
    border-right-color: transparent
}

.spinner-border-sm {
    --bs-spinner-width: 1rem;
    --bs-spinner-height: 1rem;
    --bs-spinner-border-width: 0.2em
}

@keyframes spinner-grow {
    0% {
        transform: scale(0)
    }

    50% {
        opacity: 1;
        transform: none
    }
}

.spinner-grow {
    --bs-spinner-width: 2rem;
    --bs-spinner-height: 2rem;
    --bs-spinner-vertical-align: -0.125em;
    --bs-spinner-animation-speed: 0.75s;
    --bs-spinner-animation-name: spinner-grow;
    background-color: currentcolor;
    opacity: 0
}

.spinner-grow-sm {
    --bs-spinner-width: 1rem;
    --bs-spinner-height: 1rem
}

@media (prefers-reduced-motion:reduce) {

    .spinner-border,
    .spinner-grow {
        --bs-spinner-animation-speed: 1.5s
    }
}

.offcanvas,
.offcanvas-lg,
.offcanvas-md,
.offcanvas-sm,
.offcanvas-xl,
.offcanvas-xxl {
    --bs-offcanvas-zindex: 1045;
    --bs-offcanvas-width: 400px;
    --bs-offcanvas-height: 30vh;
    --bs-offcanvas-padding-x: 1rem;
    --bs-offcanvas-padding-y: 1rem;
    --bs-offcanvas-color: var(--bs-body-color);
    --bs-offcanvas-bg: var(--bs-body-bg);
    --bs-offcanvas-border-width: var(--bs-border-width);
    --bs-offcanvas-border-color: var(--bs-border-color-translucent);
    --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
    --bs-offcanvas-transition: transform 0.3s ease-in-out;
    --bs-offcanvas-title-line-height: 1.5
}

@media (max-width:575.98px) {
    .offcanvas-sm {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: var(--bs-offcanvas-transition)
    }
}

@media (max-width:575.98px) and (prefers-reduced-motion:reduce) {
    .offcanvas-sm {
        transition: none
    }
}

@media (max-width:575.98px) {
    .offcanvas-sm.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%)
    }

    .offcanvas-sm.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%)
    }

    .offcanvas-sm.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }

    .offcanvas-sm.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }

    .offcanvas-sm.show:not(.hiding),
    .offcanvas-sm.showing {
        transform: none
    }

    .offcanvas-sm.hiding,
    .offcanvas-sm.show,
    .offcanvas-sm.showing {
        visibility: visible
    }
}

@media (min-width:576px) {
    .offcanvas-sm {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-sm .offcanvas-header {
        display: none
    }

    .offcanvas-sm .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media (max-width:767.98px) {
    .offcanvas-md {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: var(--bs-offcanvas-transition)
    }
}

@media (max-width:767.98px) and (prefers-reduced-motion:reduce) {
    .offcanvas-md {
        transition: none
    }
}

@media (max-width:767.98px) {
    .offcanvas-md.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%)
    }

    .offcanvas-md.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%)
    }

    .offcanvas-md.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }

    .offcanvas-md.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }

    .offcanvas-md.show:not(.hiding),
    .offcanvas-md.showing {
        transform: none
    }

    .offcanvas-md.hiding,
    .offcanvas-md.show,
    .offcanvas-md.showing {
        visibility: visible
    }
}

@media (min-width:768px) {
    .offcanvas-md {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-md .offcanvas-header {
        display: none
    }

    .offcanvas-md .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media (max-width:991.98px) {
    .offcanvas-lg {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: var(--bs-offcanvas-transition)
    }
}

@media (max-width:991.98px) and (prefers-reduced-motion:reduce) {
    .offcanvas-lg {
        transition: none
    }
}

@media (max-width:991.98px) {
    .offcanvas-lg.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%)
    }

    .offcanvas-lg.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%)
    }

    .offcanvas-lg.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }

    .offcanvas-lg.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }

    .offcanvas-lg.show:not(.hiding),
    .offcanvas-lg.showing {
        transform: none
    }

    .offcanvas-lg.hiding,
    .offcanvas-lg.show,
    .offcanvas-lg.showing {
        visibility: visible
    }
}

@media (min-width:992px) {
    .offcanvas-lg {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-lg .offcanvas-header {
        display: none
    }

    .offcanvas-lg .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media (max-width:1199.98px) {
    .offcanvas-xl {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: var(--bs-offcanvas-transition)
    }
}

@media (max-width:1199.98px) and (prefers-reduced-motion:reduce) {
    .offcanvas-xl {
        transition: none
    }
}

@media (max-width:1199.98px) {
    .offcanvas-xl.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%)
    }

    .offcanvas-xl.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%)
    }

    .offcanvas-xl.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }

    .offcanvas-xl.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }

    .offcanvas-xl.show:not(.hiding),
    .offcanvas-xl.showing {
        transform: none
    }

    .offcanvas-xl.hiding,
    .offcanvas-xl.show,
    .offcanvas-xl.showing {
        visibility: visible
    }
}

@media (min-width:1200px) {
    .offcanvas-xl {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-xl .offcanvas-header {
        display: none
    }

    .offcanvas-xl .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

@media (max-width:1399.98px) {
    .offcanvas-xxl {
        position: fixed;
        bottom: 0;
        z-index: var(--bs-offcanvas-zindex);
        display: flex;
        flex-direction: column;
        max-width: 100%;
        color: var(--bs-offcanvas-color);
        visibility: hidden;
        background-color: var(--bs-offcanvas-bg);
        background-clip: padding-box;
        outline: 0;
        transition: var(--bs-offcanvas-transition)
    }
}

@media (max-width:1399.98px) and (prefers-reduced-motion:reduce) {
    .offcanvas-xxl {
        transition: none
    }
}

@media (max-width:1399.98px) {
    .offcanvas-xxl.offcanvas-start {
        top: 0;
        left: 0;
        width: var(--bs-offcanvas-width);
        border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(-100%)
    }

    .offcanvas-xxl.offcanvas-end {
        top: 0;
        right: 0;
        width: var(--bs-offcanvas-width);
        border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateX(100%)
    }

    .offcanvas-xxl.offcanvas-top {
        top: 0;
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(-100%)
    }

    .offcanvas-xxl.offcanvas-bottom {
        right: 0;
        left: 0;
        height: var(--bs-offcanvas-height);
        max-height: 100%;
        border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
        transform: translateY(100%)
    }

    .offcanvas-xxl.show:not(.hiding),
    .offcanvas-xxl.showing {
        transform: none
    }

    .offcanvas-xxl.hiding,
    .offcanvas-xxl.show,
    .offcanvas-xxl.showing {
        visibility: visible
    }
}

@media (min-width:1400px) {
    .offcanvas-xxl {
        --bs-offcanvas-height: auto;
        --bs-offcanvas-border-width: 0;
        background-color: transparent !important
    }

    .offcanvas-xxl .offcanvas-header {
        display: none
    }

    .offcanvas-xxl .offcanvas-body {
        display: flex;
        flex-grow: 0;
        padding: 0;
        overflow-y: visible;
        background-color: transparent !important
    }
}

.offcanvas {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition)
}

@media (prefers-reduced-motion:reduce) {
    .offcanvas {
        transition: none
    }
}

.offcanvas.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%)
}

.offcanvas.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%)
}

.offcanvas.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%)
}

.offcanvas.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%)
}

.offcanvas.show:not(.hiding),
.offcanvas.showing {
    transform: none
}

.offcanvas.hiding,
.offcanvas.show,
.offcanvas.showing {
    visibility: visible
}

.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000
}

.offcanvas-backdrop.fade {
    opacity: 0
}

.offcanvas-backdrop.show {
    opacity: .5
}

.offcanvas-header {
    display: flex;
    align-items: center;
    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)
}

.offcanvas-header .btn-close {
    padding: calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);
    margin-top: calc(-.5 * var(--bs-offcanvas-padding-y));
    margin-right: calc(-.5 * var(--bs-offcanvas-padding-x));
    margin-bottom: calc(-.5 * var(--bs-offcanvas-padding-y));
    margin-left: auto
}

.offcanvas-title {
    margin-bottom: 0;
    line-height: var(--bs-offcanvas-title-line-height)
}

.offcanvas-body {
    flex-grow: 1;
    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
    overflow-y: auto
}

.placeholder {
    display: inline-block;
    min-height: 1em;
    vertical-align: middle;
    cursor: wait;
    background-color: currentcolor;
    opacity: .5
}

.placeholder.btn::before {
    display: inline-block;
    content: ""
}

.placeholder-xs {
    min-height: .6em
}

.placeholder-sm {
    min-height: .8em
}

.placeholder-lg {
    min-height: 1.2em
}

.placeholder-glow .placeholder {
    animation: placeholder-glow 2s ease-in-out infinite
}

@keyframes placeholder-glow {
    50% {
        opacity: .2
    }
}

.placeholder-wave {
    -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
    -webkit-mask-size: 200% 100%;
    mask-size: 200% 100%;
    animation: placeholder-wave 2s linear infinite
}

@keyframes placeholder-wave {
    100% {
        -webkit-mask-position: -200% 0%;
        mask-position: -200% 0%
    }
}

.clearfix::after {
    display: block;
    clear: both;
    content: ""
}

.text-bg-primary {
    color: #fff !important;
    background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-secondary {
    color: #fff !important;
    background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-success {
    color: #fff !important;
    background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-info {
    color: #000 !important;
    background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-warning {
    color: #000 !important;
    background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-danger {
    color: #fff !important;
    background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-light {
    color: #000 !important;
    background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important
}

.text-bg-dark {
    color: #fff !important;
    background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important
}

.link-primary {
    color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-primary:focus,
.link-primary:hover {
    color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important
}

.link-secondary {
    color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-secondary:focus,
.link-secondary:hover {
    color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important
}

.link-success {
    color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-success:focus,
.link-success:hover {
    color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important
}

.link-info {
    color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-info:focus,
.link-info:hover {
    color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important
}

.link-warning {
    color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-warning:focus,
.link-warning:hover {
    color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important
}

.link-danger {
    color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-danger:focus,
.link-danger:hover {
    color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important
}

.link-light {
    color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-light:focus,
.link-light:hover {
    color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important
}

.link-dark {
    color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-dark:focus,
.link-dark:hover {
    color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important
}

.link-body-emphasis {
    color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-body-emphasis:focus,
.link-body-emphasis:hover {
    color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, .75)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
    text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important
}

.focus-ring:focus {
    outline: 0;
    box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)
}

.icon-link {
    display: inline-flex;
    gap: .375rem;
    align-items: center;
    -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
    text-underline-offset: 0.25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.icon-link>.bi {
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    fill: currentcolor;
    transition: .2s ease-in-out transform
}

@media (prefers-reduced-motion:reduce) {
    .icon-link>.bi {
        transition: none
    }
}

.icon-link-hover:focus-visible>.bi,
.icon-link-hover:hover>.bi {
    transform: var(--bs-icon-link-transform, translate3d(.25em, 0, 0))
}

.ratio {
    position: relative;
    width: 100%
}

.ratio::before {
    display: block;
    padding-top: var(--bs-aspect-ratio);
    content: ""
}

.ratio>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.ratio-1x1 {
    --bs-aspect-ratio: 100%
}

.ratio-4x3 {
    --bs-aspect-ratio: 75%
}

.ratio-16x9 {
    --bs-aspect-ratio: 56.25%
}

.ratio-21x9 {
    --bs-aspect-ratio: 42.8571428571%
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030
}

.sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020
}

.sticky-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020
}

@media (min-width:576px) {
    .sticky-sm-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-sm-bottom {
        position: -webkit-sticky;
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media (min-width:768px) {
    .sticky-md-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-md-bottom {
        position: -webkit-sticky;
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media (min-width:992px) {
    .sticky-lg-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-lg-bottom {
        position: -webkit-sticky;
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media (min-width:1200px) {
    .sticky-xl-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-xl-bottom {
        position: -webkit-sticky;
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

@media (min-width:1400px) {
    .sticky-xxl-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020
    }

    .sticky-xxl-bottom {
        position: -webkit-sticky;
        position: sticky;
        bottom: 0;
        z-index: 1020
    }
}

.hstack {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: stretch
}

.vstack {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-self: stretch
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),
.visually-hidden:not(caption) {
    position: absolute !important
}

.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
    overflow: hidden !important
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: ""
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.vr {
    display: inline-block;
    align-self: stretch;
    width: var(--bs-border-width);
    min-height: 1em;
    background-color: currentcolor;
    opacity: .25
}

.align-baseline {
    vertical-align: baseline !important
}

.align-top {
    vertical-align: top !important
}

.align-middle {
    vertical-align: middle !important
}

.align-bottom {
    vertical-align: bottom !important
}

.align-text-bottom {
    vertical-align: text-bottom !important
}

.align-text-top {
    vertical-align: text-top !important
}

.float-start {
    float: left !important
}

.float-end {
    float: right !important
}

.float-none {
    float: none !important
}

.object-fit-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important
}

.object-fit-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important
}

.object-fit-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important
}

.object-fit-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important
}

.object-fit-none {
    -o-object-fit: none !important;
    object-fit: none !important
}

.opacity-0 {
    opacity: 0 !important
}

.opacity-25 {
    opacity: .25 !important
}

.opacity-50 {
    opacity: .5 !important
}

.opacity-75 {
    opacity: .75 !important
}

.opacity-100 {
    opacity: 1 !important
}

.overflow-auto {
    overflow: auto !important
}

.overflow-hidden {
    overflow: hidden !important
}

.overflow-visible {
    overflow: visible !important
}

.overflow-scroll {
    overflow: scroll !important
}

.overflow-x-auto {
    overflow-x: auto !important
}

.overflow-x-hidden {
    overflow-x: hidden !important
}

.overflow-x-visible {
    overflow-x: visible !important
}

.overflow-x-scroll {
    overflow-x: scroll !important
}

.overflow-y-auto {
    overflow-y: auto !important
}

.overflow-y-hidden {
    overflow-y: hidden !important
}

.overflow-y-visible {
    overflow-y: visible !important
}

.overflow-y-scroll {
    overflow-y: scroll !important
}

.d-inline {
    display: inline !important
}

.d-inline-block {
    display: inline-block !important
}

.d-block {
    display: block !important
}

.d-grid {
    display: grid !important
}

.d-inline-grid {
    display: inline-grid !important
}

.d-table {
    display: table !important
}

.d-table-row {
    display: table-row !important
}

.d-table-cell {
    display: table-cell !important
}

.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

.d-none {
    display: none !important
}

.shadow {
    box-shadow: var(--bs-box-shadow) !important
}

.shadow-sm {
    box-shadow: var(--bs-box-shadow-sm) !important
}

.shadow-lg {
    box-shadow: var(--bs-box-shadow-lg) !important
}

.shadow-none {
    box-shadow: none !important
}

.focus-ring-primary {
    --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-secondary {
    --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-success {
    --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-info {
    --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-warning {
    --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-danger {
    --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-light {
    --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))
}

.focus-ring-dark {
    --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))
}

.position-static {
    position: static !important
}

.position-relative {
    position: relative !important
}

.position-absolute {
    position: absolute !important
}

.position-fixed {
    position: fixed !important
}

.position-sticky {
    position: -webkit-sticky !important;
    position: sticky !important
}

.top-0 {
    top: 0 !important
}

.top-50 {
    top: 50% !important
}

.top-100 {
    top: 100% !important
}

.bottom-0 {
    bottom: 0 !important
}

.bottom-50 {
    bottom: 50% !important
}

.bottom-100 {
    bottom: 100% !important
}

.start-0 {
    left: 0 !important
}

.start-50 {
    left: 50% !important
}

.start-100 {
    left: 100% !important
}

.end-0 {
    right: 0 !important
}

.end-50 {
    right: 50% !important
}

.end-100 {
    right: 100% !important
}

.translate-middle {
    transform: translate(-50%, -50%) !important
}

.translate-middle-x {
    transform: translateX(-50%) !important
}

.translate-middle-y {
    transform: translateY(-50%) !important
}

.border {
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-0 {
    border: 0 !important
}

.border-top {
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-top-0 {
    border-top: 0 !important
}

.border-end {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-end-0 {
    border-right: 0 !important
}

.border-bottom {
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-bottom-0 {
    border-bottom: 0 !important
}

.border-start {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important
}

.border-start-0 {
    border-left: 0 !important
}

.border-primary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important
}

.border-secondary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important
}

.border-success {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important
}

.border-info {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important
}

.border-warning {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important
}

.border-danger {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important
}

.border-light {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important
}

.border-dark {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important
}

.border-black {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important
}

.border-white {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important
}

.border-primary-subtle {
    border-color: var(--bs-primary-border-subtle) !important
}

.border-secondary-subtle {
    border-color: var(--bs-secondary-border-subtle) !important
}

.border-success-subtle {
    border-color: var(--bs-success-border-subtle) !important
}

.border-info-subtle {
    border-color: var(--bs-info-border-subtle) !important
}

.border-warning-subtle {
    border-color: var(--bs-warning-border-subtle) !important
}

.border-danger-subtle {
    border-color: var(--bs-danger-border-subtle) !important
}

.border-light-subtle {
    border-color: var(--bs-light-border-subtle) !important
}

.border-dark-subtle {
    border-color: var(--bs-dark-border-subtle) !important
}

.border-1 {
    border-width: 1px !important
}

.border-2 {
    border-width: 2px !important
}

.border-3 {
    border-width: 3px !important
}

.border-4 {
    border-width: 4px !important
}

.border-5 {
    border-width: 5px !important
}

.border-opacity-10 {
    --bs-border-opacity: 0.1
}

.border-opacity-25 {
    --bs-border-opacity: 0.25
}

.border-opacity-50 {
    --bs-border-opacity: 0.5
}

.border-opacity-75 {
    --bs-border-opacity: 0.75
}

.border-opacity-100 {
    --bs-border-opacity: 1
}

.w-25 {
    width: 25% !important
}

.w-50 {
    width: 50% !important
}

.w-75 {
    width: 75% !important
}

.w-100 {
    width: 100% !important
}

.w-auto {
    width: auto !important
}

.mw-100 {
    max-width: 100% !important
}

.vw-100 {
    width: 100vw !important
}

.min-vw-100 {
    min-width: 100vw !important
}

.h-25 {
    height: 25% !important
}

.h-50 {
    height: 50% !important
}

.h-75 {
    height: 75% !important
}

.h-100 {
    height: 100% !important
}

.h-auto {
    height: auto !important
}

.mh-100 {
    max-height: 100% !important
}

.vh-100 {
    height: 100vh !important
}

.min-vh-100 {
    min-height: 100vh !important
}

.flex-fill {
    flex: 1 1 auto !important
}

.flex-row {
    flex-direction: row !important
}

.flex-column {
    flex-direction: column !important
}

.flex-row-reverse {
    flex-direction: row-reverse !important
}

.flex-column-reverse {
    flex-direction: column-reverse !important
}

.flex-grow-0 {
    flex-grow: 0 !important
}

.flex-grow-1 {
    flex-grow: 1 !important
}

.flex-shrink-0 {
    flex-shrink: 0 !important
}

.flex-shrink-1 {
    flex-shrink: 1 !important
}

.flex-wrap {
    flex-wrap: wrap !important
}

.flex-nowrap {
    flex-wrap: nowrap !important
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important
}

.justify-content-start {
    justify-content: flex-start !important
}

.justify-content-end {
    justify-content: flex-end !important
}

.justify-content-center {
    justify-content: center !important
}

.justify-content-between {
    justify-content: space-between !important
}

.justify-content-around {
    justify-content: space-around !important
}

.justify-content-evenly {
    justify-content: space-evenly !important
}

.align-items-start {
    align-items: flex-start !important
}

.align-items-end {
    align-items: flex-end !important
}

.align-items-center {
    align-items: center !important
}

.align-items-baseline {
    align-items: baseline !important
}

.align-items-stretch {
    align-items: stretch !important
}

.align-content-start {
    align-content: flex-start !important
}

.align-content-end {
    align-content: flex-end !important
}

.align-content-center {
    align-content: center !important
}

.align-content-between {
    align-content: space-between !important
}

.align-content-around {
    align-content: space-around !important
}

.align-content-stretch {
    align-content: stretch !important
}

.align-self-auto {
    align-self: auto !important
}

.align-self-start {
    align-self: flex-start !important
}

.align-self-end {
    align-self: flex-end !important
}

.align-self-center {
    align-self: center !important
}

.align-self-baseline {
    align-self: baseline !important
}

.align-self-stretch {
    align-self: stretch !important
}

.order-first {
    order: -1 !important
}

.order-0 {
    order: 0 !important
}

.order-1 {
    order: 1 !important
}

.order-2 {
    order: 2 !important
}

.order-3 {
    order: 3 !important
}

.order-4 {
    order: 4 !important
}

.order-5 {
    order: 5 !important
}

.order-last {
    order: 6 !important
}

.m-0 {
    margin: 0 !important
}

.m-1 {
    margin: .25rem !important
}

.m-2 {
    margin: .5rem !important
}

.m-3 {
    margin: 1rem !important
}

.m-4 {
    margin: 1.5rem !important
}

.m-5 {
    margin: 3rem !important
}

.m-auto {
    margin: auto !important
}

.mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important
}

.mx-1 {
    margin-right: .25rem !important;
    margin-left: .25rem !important
}

.mx-2 {
    margin-right: .5rem !important;
    margin-left: .5rem !important
}

.mx-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important
}

.mx-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important
}

.mx-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important
}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.my-1 {
    margin-top: .25rem !important;
    margin-bottom: .25rem !important
}

.my-2 {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important
}

.my-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important
}

.my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important
}

.my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important
}

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important
}

.mt-0 {
    margin-top: 0 !important
}

.mt-1 {
    margin-top: .25rem !important
}

.mt-2 {
    margin-top: .5rem !important
}

.mt-3 {
    margin-top: 1rem !important
}

.mt-4 {
    margin-top: 1.5rem !important
}

.mt-5 {
    margin-top: 3rem !important
}

.mt-auto {
    margin-top: auto !important
}

.me-0 {
    margin-right: 0 !important
}

.me-1 {
    margin-right: .25rem !important
}

.me-2 {
    margin-right: .5rem !important
}

.me-3 {
    margin-right: 1rem !important
}

.me-4 {
    margin-right: 1.5rem !important
}

.me-5 {
    margin-right: 3rem !important
}

.me-auto {
    margin-right: auto !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mb-1 {
    margin-bottom: .25rem !important
}

.mb-2 {
    margin-bottom: .5rem !important
}

.mb-3 {
    margin-bottom: 1rem !important
}

.mb-4 {
    margin-bottom: 1.5rem !important
}

.mb-5 {
    margin-bottom: 3rem !important
}

.mb-auto {
    margin-bottom: auto !important
}

.ms-0 {
    margin-left: 0 !important
}

.ms-1 {
    margin-left: .25rem !important
}

.ms-2 {
    margin-left: .5rem !important
}

.ms-3 {
    margin-left: 1rem !important
}

.ms-4 {
    margin-left: 1.5rem !important
}

.ms-5 {
    margin-left: 3rem !important
}

.ms-auto {
    margin-left: auto !important
}

.p-0 {
    padding: 0 !important
}

.p-1 {
    padding: .25rem !important
}

.p-2 {
    padding: .5rem !important
}

.p-3 {
    padding: 1rem !important
}

.p-4 {
    padding: 1.5rem !important
}

.p-5 {
    padding: 3rem !important
}

.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important
}

.px-1 {
    padding-right: .25rem !important;
    padding-left: .25rem !important
}

.px-2 {
    padding-right: .5rem !important;
    padding-left: .5rem !important
}

.px-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important
}

.px-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important
}

.px-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.py-1 {
    padding-top: .25rem !important;
    padding-bottom: .25rem !important
}

.py-2 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important
}

.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important
}

.pt-0 {
    padding-top: 0 !important
}

.pt-1 {
    padding-top: .25rem !important
}

.pt-2 {
    padding-top: .5rem !important
}

.pt-3 {
    padding-top: 1rem !important
}

.pt-4 {
    padding-top: 1.5rem !important
}

.pt-5 {
    padding-top: 3rem !important
}

.pe-0 {
    padding-right: 0 !important
}

.pe-1 {
    padding-right: .25rem !important
}

.pe-2 {
    padding-right: .5rem !important
}

.pe-3 {
    padding-right: 1rem !important
}

.pe-4 {
    padding-right: 1.5rem !important
}

.pe-5 {
    padding-right: 3rem !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pb-1 {
    padding-bottom: .25rem !important
}

.pb-2 {
    padding-bottom: .5rem !important
}

.pb-3 {
    padding-bottom: 1rem !important
}

.pb-4 {
    padding-bottom: 1.5rem !important
}

.pb-5 {
    padding-bottom: 3rem !important
}

.ps-0 {
    padding-left: 0 !important
}

.ps-1 {
    padding-left: .25rem !important
}

.ps-2 {
    padding-left: .5rem !important
}

.ps-3 {
    padding-left: 1rem !important
}

.ps-4 {
    padding-left: 1.5rem !important
}

.ps-5 {
    padding-left: 3rem !important
}

.gap-0 {
    gap: 0 !important
}

.gap-1 {
    gap: .25rem !important
}

.gap-2 {
    gap: .5rem !important
}

.gap-3 {
    gap: 1rem !important
}

.gap-4 {
    gap: 1.5rem !important
}

.gap-5 {
    gap: 3rem !important
}

.row-gap-0 {
    row-gap: 0 !important
}

.row-gap-1 {
    row-gap: .25rem !important
}

.row-gap-2 {
    row-gap: .5rem !important
}

.row-gap-3 {
    row-gap: 1rem !important
}

.row-gap-4 {
    row-gap: 1.5rem !important
}

.row-gap-5 {
    row-gap: 3rem !important
}

.column-gap-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important
}

.column-gap-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: .25rem !important
}

.column-gap-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: .5rem !important
}

.column-gap-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important
}

.column-gap-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important
}

.column-gap-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important
}

.font-monospace {
    font-family: var(--bs-font-monospace) !important
}

.fs-1 {
    font-size: calc(1.375rem + 1.5vw) !important
}

.fs-2 {
    font-size: calc(1.325rem + .9vw) !important
}

.fs-3 {
    font-size: calc(1.3rem + .6vw) !important
}

.fs-4 {
    font-size: calc(1.275rem + .3vw) !important
}

.fs-5 {
    font-size: 1.25rem !important
}

.fs-6 {
    font-size: 1rem !important
}

.fst-italic {
    font-style: italic !important
}

.fst-normal {
    font-style: normal !important
}

.fw-lighter {
    font-weight: lighter !important
}

.fw-light {
    font-weight: 300 !important
}

.fw-normal {
    font-weight: 400 !important
}

.fw-medium {
    font-weight: 500 !important
}

.fw-semibold {
    font-weight: 600 !important
}

.fw-bold {
    font-weight: 700 !important
}

.fw-bolder {
    font-weight: bolder !important
}

.lh-1 {
    line-height: 1 !important
}

.lh-sm {
    line-height: 1.25 !important
}

.lh-base {
    line-height: 1.5 !important
}

.lh-lg {
    line-height: 2 !important
}

.text-start {
    text-align: left !important
}

.text-end {
    text-align: right !important
}

.text-center {
    text-align: center !important
}

.text-decoration-none {
    text-decoration: none !important
}

.text-decoration-underline {
    text-decoration: underline !important
}

.text-decoration-line-through {
    text-decoration: line-through !important
}

.text-lowercase {
    text-transform: lowercase !important
}

.text-uppercase {
    text-transform: uppercase !important
}

.text-capitalize {
    text-transform: capitalize !important
}

.text-wrap {
    white-space: normal !important
}

.text-nowrap {
    white-space: nowrap !important
}

.text-break {
    word-wrap: break-word !important;
    word-break: break-word !important
}

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important
}

.text-secondary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important
}

.text-success {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important
}

.text-info {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important
}

.text-warning {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important
}

.text-danger {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important
}

.text-light {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important
}

.text-dark {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important
}

.text-black {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important
}

.text-white {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important
}

.text-body {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important
}

.text-muted {
    --bs-text-opacity: 1;
    color: var(--bs-secondary-color) !important
}

.text-black-50 {
    --bs-text-opacity: 1;
    color: rgba(0, 0, 0, .5) !important
}

.text-white-50 {
    --bs-text-opacity: 1;
    color: rgba(255, 255, 255, .5) !important
}

.text-body-secondary {
    --bs-text-opacity: 1;
    color: var(--bs-secondary-color) !important
}

.text-body-tertiary {
    --bs-text-opacity: 1;
    color: var(--bs-tertiary-color) !important
}

.text-body-emphasis {
    --bs-text-opacity: 1;
    color: var(--bs-emphasis-color) !important
}

.text-reset {
    --bs-text-opacity: 1;
    color: inherit !important
}

.text-opacity-25 {
    --bs-text-opacity: 0.25
}

.text-opacity-50 {
    --bs-text-opacity: 0.5
}

.text-opacity-75 {
    --bs-text-opacity: 0.75
}

.text-opacity-100 {
    --bs-text-opacity: 1
}

.text-primary-emphasis {
    color: var(--bs-primary-text-emphasis) !important
}

.text-secondary-emphasis {
    color: var(--bs-secondary-text-emphasis) !important
}

.text-success-emphasis {
    color: var(--bs-success-text-emphasis) !important
}

.text-info-emphasis {
    color: var(--bs-info-text-emphasis) !important
}

.text-warning-emphasis {
    color: var(--bs-warning-text-emphasis) !important
}

.text-danger-emphasis {
    color: var(--bs-danger-text-emphasis) !important
}

.text-light-emphasis {
    color: var(--bs-light-text-emphasis) !important
}

.text-dark-emphasis {
    color: var(--bs-dark-text-emphasis) !important
}

.link-opacity-10 {
    --bs-link-opacity: 0.1
}

.link-opacity-10-hover:hover {
    --bs-link-opacity: 0.1
}

.link-opacity-25 {
    --bs-link-opacity: 0.25
}

.link-opacity-25-hover:hover {
    --bs-link-opacity: 0.25
}

.link-opacity-50 {
    --bs-link-opacity: 0.5
}

.link-opacity-50-hover:hover {
    --bs-link-opacity: 0.5
}

.link-opacity-75 {
    --bs-link-opacity: 0.75
}

.link-opacity-75-hover:hover {
    --bs-link-opacity: 0.75
}

.link-opacity-100 {
    --bs-link-opacity: 1
}

.link-opacity-100-hover:hover {
    --bs-link-opacity: 1
}

.link-offset-1 {
    text-underline-offset: 0.125em !important
}

.link-offset-1-hover:hover {
    text-underline-offset: 0.125em !important
}

.link-offset-2 {
    text-underline-offset: 0.25em !important
}

.link-offset-2-hover:hover {
    text-underline-offset: 0.25em !important
}

.link-offset-3 {
    text-underline-offset: 0.375em !important
}

.link-offset-3-hover:hover {
    text-underline-offset: 0.375em !important
}

.link-underline-primary {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-secondary {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-success {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-info {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-warning {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-danger {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-light {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline-dark {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
    text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important
}

.link-underline {
    --bs-link-underline-opacity: 1;
    -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important
}

.link-underline-opacity-0 {
    --bs-link-underline-opacity: 0
}

.link-underline-opacity-0-hover:hover {
    --bs-link-underline-opacity: 0
}

.link-underline-opacity-10 {
    --bs-link-underline-opacity: 0.1
}

.link-underline-opacity-10-hover:hover {
    --bs-link-underline-opacity: 0.1
}

.link-underline-opacity-25 {
    --bs-link-underline-opacity: 0.25
}

.link-underline-opacity-25-hover:hover {
    --bs-link-underline-opacity: 0.25
}

.link-underline-opacity-50 {
    --bs-link-underline-opacity: 0.5
}

.link-underline-opacity-50-hover:hover {
    --bs-link-underline-opacity: 0.5
}

.link-underline-opacity-75 {
    --bs-link-underline-opacity: 0.75
}

.link-underline-opacity-75-hover:hover {
    --bs-link-underline-opacity: 0.75
}

.link-underline-opacity-100 {
    --bs-link-underline-opacity: 1
}

.link-underline-opacity-100-hover:hover {
    --bs-link-underline-opacity: 1
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important
}

.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important
}

.bg-success {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important
}

.bg-info {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important
}

.bg-warning {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important
}

.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important
}

.bg-light {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important
}

.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important
}

.bg-black {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important
}

.bg-white {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important
}

.bg-body {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important
}

.bg-transparent {
    --bs-bg-opacity: 1;
    background-color: transparent !important
}

.bg-body-secondary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important
}

.bg-body-tertiary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important
}

.bg-opacity-10 {
    --bs-bg-opacity: 0.1
}

.bg-opacity-25 {
    --bs-bg-opacity: 0.25
}

.bg-opacity-50 {
    --bs-bg-opacity: 0.5
}

.bg-opacity-75 {
    --bs-bg-opacity: 0.75
}

.bg-opacity-100 {
    --bs-bg-opacity: 1
}

.bg-primary-subtle {
    background-color: var(--bs-primary-bg-subtle) !important
}

.bg-secondary-subtle {
    background-color: var(--bs-secondary-bg-subtle) !important
}

.bg-success-subtle {
    background-color: var(--bs-success-bg-subtle) !important
}

.bg-info-subtle {
    background-color: var(--bs-info-bg-subtle) !important
}

.bg-warning-subtle {
    background-color: var(--bs-warning-bg-subtle) !important
}

.bg-danger-subtle {
    background-color: var(--bs-danger-bg-subtle) !important
}

.bg-light-subtle {
    background-color: var(--bs-light-bg-subtle) !important
}

.bg-dark-subtle {
    background-color: var(--bs-dark-bg-subtle) !important
}

.bg-gradient {
    background-image: var(--bs-gradient) !important
}

.user-select-all {
    -webkit-user-select: all !important;
    -moz-user-select: all !important;
    user-select: all !important
}

.user-select-auto {
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;
    user-select: auto !important
}

.user-select-none {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    user-select: none !important
}

.pe-none {
    pointer-events: none !important
}

.pe-auto {
    pointer-events: auto !important
}

.rounded {
    border-radius: var(--bs-border-radius) !important
}

.rounded-0 {
    border-radius: 0 !important
}

.rounded-1 {
    border-radius: var(--bs-border-radius-sm) !important
}

.rounded-2 {
    border-radius: var(--bs-border-radius) !important
}

.rounded-3 {
    border-radius: var(--bs-border-radius-lg) !important
}

.rounded-4 {
    border-radius: var(--bs-border-radius-xl) !important
}

.rounded-5 {
    border-radius: var(--bs-border-radius-xxl) !important
}

.rounded-circle {
    border-radius: 50% !important
}

.rounded-pill {
    border-radius: var(--bs-border-radius-pill) !important
}

.rounded-top {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important
}

.rounded-top-0 {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important
}

.rounded-top-1 {
    border-top-left-radius: var(--bs-border-radius-sm) !important;
    border-top-right-radius: var(--bs-border-radius-sm) !important
}

.rounded-top-2 {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important
}

.rounded-top-3 {
    border-top-left-radius: var(--bs-border-radius-lg) !important;
    border-top-right-radius: var(--bs-border-radius-lg) !important
}

.rounded-top-4 {
    border-top-left-radius: var(--bs-border-radius-xl) !important;
    border-top-right-radius: var(--bs-border-radius-xl) !important
}

.rounded-top-5 {
    border-top-left-radius: var(--bs-border-radius-xxl) !important;
    border-top-right-radius: var(--bs-border-radius-xxl) !important
}

.rounded-top-circle {
    border-top-left-radius: 50% !important;
    border-top-right-radius: 50% !important
}

.rounded-top-pill {
    border-top-left-radius: var(--bs-border-radius-pill) !important;
    border-top-right-radius: var(--bs-border-radius-pill) !important
}

.rounded-end {
    border-top-right-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important
}

.rounded-end-0 {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important
}

.rounded-end-1 {
    border-top-right-radius: var(--bs-border-radius-sm) !important;
    border-bottom-right-radius: var(--bs-border-radius-sm) !important
}

.rounded-end-2 {
    border-top-right-radius: var(--bs-border-radius) !important;
    border-bottom-right-radius: var(--bs-border-radius) !important
}

.rounded-end-3 {
    border-top-right-radius: var(--bs-border-radius-lg) !important;
    border-bottom-right-radius: var(--bs-border-radius-lg) !important
}

.rounded-end-4 {
    border-top-right-radius: var(--bs-border-radius-xl) !important;
    border-bottom-right-radius: var(--bs-border-radius-xl) !important
}

.rounded-end-5 {
    border-top-right-radius: var(--bs-border-radius-xxl) !important;
    border-bottom-right-radius: var(--bs-border-radius-xxl) !important
}

.rounded-end-circle {
    border-top-right-radius: 50% !important;
    border-bottom-right-radius: 50% !important
}

.rounded-end-pill {
    border-top-right-radius: var(--bs-border-radius-pill) !important;
    border-bottom-right-radius: var(--bs-border-radius-pill) !important
}

.rounded-bottom {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important
}

.rounded-bottom-0 {
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important
}

.rounded-bottom-1 {
    border-bottom-right-radius: var(--bs-border-radius-sm) !important;
    border-bottom-left-radius: var(--bs-border-radius-sm) !important
}

.rounded-bottom-2 {
    border-bottom-right-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important
}

.rounded-bottom-3 {
    border-bottom-right-radius: var(--bs-border-radius-lg) !important;
    border-bottom-left-radius: var(--bs-border-radius-lg) !important
}

.rounded-bottom-4 {
    border-bottom-right-radius: var(--bs-border-radius-xl) !important;
    border-bottom-left-radius: var(--bs-border-radius-xl) !important
}

.rounded-bottom-5 {
    border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
    border-bottom-left-radius: var(--bs-border-radius-xxl) !important
}

.rounded-bottom-circle {
    border-bottom-right-radius: 50% !important;
    border-bottom-left-radius: 50% !important
}

.rounded-bottom-pill {
    border-bottom-right-radius: var(--bs-border-radius-pill) !important;
    border-bottom-left-radius: var(--bs-border-radius-pill) !important
}

.rounded-start {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-left-radius: var(--bs-border-radius) !important
}

.rounded-start-0 {
    border-bottom-left-radius: 0 !important;
    border-top-left-radius: 0 !important
}

.rounded-start-1 {
    border-bottom-left-radius: var(--bs-border-radius-sm) !important;
    border-top-left-radius: var(--bs-border-radius-sm) !important
}

.rounded-start-2 {
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-left-radius: var(--bs-border-radius) !important
}

.rounded-start-3 {
    border-bottom-left-radius: var(--bs-border-radius-lg) !important;
    border-top-left-radius: var(--bs-border-radius-lg) !important
}

.rounded-start-4 {
    border-bottom-left-radius: var(--bs-border-radius-xl) !important;
    border-top-left-radius: var(--bs-border-radius-xl) !important
}

.rounded-start-5 {
    border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
    border-top-left-radius: var(--bs-border-radius-xxl) !important
}

.rounded-start-circle {
    border-bottom-left-radius: 50% !important;
    border-top-left-radius: 50% !important
}

.rounded-start-pill {
    border-bottom-left-radius: var(--bs-border-radius-pill) !important;
    border-top-left-radius: var(--bs-border-radius-pill) !important
}

.visible {
    visibility: visible !important
}

.invisible {
    visibility: hidden !important
}

.z-n1 {
    z-index: -1 !important
}

.z-0 {
    z-index: 0 !important
}

.z-1 {
    z-index: 1 !important
}

.z-2 {
    z-index: 2 !important
}

.z-3 {
    z-index: 3 !important
}

@media (min-width:576px) {
    .float-sm-start {
        float: left !important
    }

    .float-sm-end {
        float: right !important
    }

    .float-sm-none {
        float: none !important
    }

    .object-fit-sm-contain {
        -o-object-fit: contain !important;
        object-fit: contain !important
    }

    .object-fit-sm-cover {
        -o-object-fit: cover !important;
        object-fit: cover !important
    }

    .object-fit-sm-fill {
        -o-object-fit: fill !important;
        object-fit: fill !important
    }

    .object-fit-sm-scale {
        -o-object-fit: scale-down !important;
        object-fit: scale-down !important
    }

    .object-fit-sm-none {
        -o-object-fit: none !important;
        object-fit: none !important
    }

    .d-sm-inline {
        display: inline !important
    }

    .d-sm-inline-block {
        display: inline-block !important
    }

    .d-sm-block {
        display: block !important
    }

    .d-sm-grid {
        display: grid !important
    }

    .d-sm-inline-grid {
        display: inline-grid !important
    }

    .d-sm-table {
        display: table !important
    }

    .d-sm-table-row {
        display: table-row !important
    }

    .d-sm-table-cell {
        display: table-cell !important
    }

    .d-sm-flex {
        display: flex !important
    }

    .d-sm-inline-flex {
        display: inline-flex !important
    }

    .d-sm-none {
        display: none !important
    }

    .flex-sm-fill {
        flex: 1 1 auto !important
    }

    .flex-sm-row {
        flex-direction: row !important
    }

    .flex-sm-column {
        flex-direction: column !important
    }

    .flex-sm-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-sm-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-sm-grow-0 {
        flex-grow: 0 !important
    }

    .flex-sm-grow-1 {
        flex-grow: 1 !important
    }

    .flex-sm-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-sm-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-sm-wrap {
        flex-wrap: wrap !important
    }

    .flex-sm-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-sm-start {
        justify-content: flex-start !important
    }

    .justify-content-sm-end {
        justify-content: flex-end !important
    }

    .justify-content-sm-center {
        justify-content: center !important
    }

    .justify-content-sm-between {
        justify-content: space-between !important
    }

    .justify-content-sm-around {
        justify-content: space-around !important
    }

    .justify-content-sm-evenly {
        justify-content: space-evenly !important
    }

    .align-items-sm-start {
        align-items: flex-start !important
    }

    .align-items-sm-end {
        align-items: flex-end !important
    }

    .align-items-sm-center {
        align-items: center !important
    }

    .align-items-sm-baseline {
        align-items: baseline !important
    }

    .align-items-sm-stretch {
        align-items: stretch !important
    }

    .align-content-sm-start {
        align-content: flex-start !important
    }

    .align-content-sm-end {
        align-content: flex-end !important
    }

    .align-content-sm-center {
        align-content: center !important
    }

    .align-content-sm-between {
        align-content: space-between !important
    }

    .align-content-sm-around {
        align-content: space-around !important
    }

    .align-content-sm-stretch {
        align-content: stretch !important
    }

    .align-self-sm-auto {
        align-self: auto !important
    }

    .align-self-sm-start {
        align-self: flex-start !important
    }

    .align-self-sm-end {
        align-self: flex-end !important
    }

    .align-self-sm-center {
        align-self: center !important
    }

    .align-self-sm-baseline {
        align-self: baseline !important
    }

    .align-self-sm-stretch {
        align-self: stretch !important
    }

    .order-sm-first {
        order: -1 !important
    }

    .order-sm-0 {
        order: 0 !important
    }

    .order-sm-1 {
        order: 1 !important
    }

    .order-sm-2 {
        order: 2 !important
    }

    .order-sm-3 {
        order: 3 !important
    }

    .order-sm-4 {
        order: 4 !important
    }

    .order-sm-5 {
        order: 5 !important
    }

    .order-sm-last {
        order: 6 !important
    }

    .m-sm-0 {
        margin: 0 !important
    }

    .m-sm-1 {
        margin: .25rem !important
    }

    .m-sm-2 {
        margin: .5rem !important
    }

    .m-sm-3 {
        margin: 1rem !important
    }

    .m-sm-4 {
        margin: 1.5rem !important
    }

    .m-sm-5 {
        margin: 3rem !important
    }

    .m-sm-auto {
        margin: auto !important
    }

    .mx-sm-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-sm-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-sm-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-sm-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-sm-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-sm-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-sm-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-sm-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-sm-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-sm-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-sm-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-sm-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-sm-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-sm-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-sm-0 {
        margin-top: 0 !important
    }

    .mt-sm-1 {
        margin-top: .25rem !important
    }

    .mt-sm-2 {
        margin-top: .5rem !important
    }

    .mt-sm-3 {
        margin-top: 1rem !important
    }

    .mt-sm-4 {
        margin-top: 1.5rem !important
    }

    .mt-sm-5 {
        margin-top: 3rem !important
    }

    .mt-sm-auto {
        margin-top: auto !important
    }

    .me-sm-0 {
        margin-right: 0 !important
    }

    .me-sm-1 {
        margin-right: .25rem !important
    }

    .me-sm-2 {
        margin-right: .5rem !important
    }

    .me-sm-3 {
        margin-right: 1rem !important
    }

    .me-sm-4 {
        margin-right: 1.5rem !important
    }

    .me-sm-5 {
        margin-right: 3rem !important
    }

    .me-sm-auto {
        margin-right: auto !important
    }

    .mb-sm-0 {
        margin-bottom: 0 !important
    }

    .mb-sm-1 {
        margin-bottom: .25rem !important
    }

    .mb-sm-2 {
        margin-bottom: .5rem !important
    }

    .mb-sm-3 {
        margin-bottom: 1rem !important
    }

    .mb-sm-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-sm-5 {
        margin-bottom: 3rem !important
    }

    .mb-sm-auto {
        margin-bottom: auto !important
    }

    .ms-sm-0 {
        margin-left: 0 !important
    }

    .ms-sm-1 {
        margin-left: .25rem !important
    }

    .ms-sm-2 {
        margin-left: .5rem !important
    }

    .ms-sm-3 {
        margin-left: 1rem !important
    }

    .ms-sm-4 {
        margin-left: 1.5rem !important
    }

    .ms-sm-5 {
        margin-left: 3rem !important
    }

    .ms-sm-auto {
        margin-left: auto !important
    }

    .p-sm-0 {
        padding: 0 !important
    }

    .p-sm-1 {
        padding: .25rem !important
    }

    .p-sm-2 {
        padding: .5rem !important
    }

    .p-sm-3 {
        padding: 1rem !important
    }

    .p-sm-4 {
        padding: 1.5rem !important
    }

    .p-sm-5 {
        padding: 3rem !important
    }

    .px-sm-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-sm-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-sm-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-sm-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-sm-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-sm-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-sm-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-sm-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-sm-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-sm-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-sm-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-sm-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-sm-0 {
        padding-top: 0 !important
    }

    .pt-sm-1 {
        padding-top: .25rem !important
    }

    .pt-sm-2 {
        padding-top: .5rem !important
    }

    .pt-sm-3 {
        padding-top: 1rem !important
    }

    .pt-sm-4 {
        padding-top: 1.5rem !important
    }

    .pt-sm-5 {
        padding-top: 3rem !important
    }

    .pe-sm-0 {
        padding-right: 0 !important
    }

    .pe-sm-1 {
        padding-right: .25rem !important
    }

    .pe-sm-2 {
        padding-right: .5rem !important
    }

    .pe-sm-3 {
        padding-right: 1rem !important
    }

    .pe-sm-4 {
        padding-right: 1.5rem !important
    }

    .pe-sm-5 {
        padding-right: 3rem !important
    }

    .pb-sm-0 {
        padding-bottom: 0 !important
    }

    .pb-sm-1 {
        padding-bottom: .25rem !important
    }

    .pb-sm-2 {
        padding-bottom: .5rem !important
    }

    .pb-sm-3 {
        padding-bottom: 1rem !important
    }

    .pb-sm-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-sm-5 {
        padding-bottom: 3rem !important
    }

    .ps-sm-0 {
        padding-left: 0 !important
    }

    .ps-sm-1 {
        padding-left: .25rem !important
    }

    .ps-sm-2 {
        padding-left: .5rem !important
    }

    .ps-sm-3 {
        padding-left: 1rem !important
    }

    .ps-sm-4 {
        padding-left: 1.5rem !important
    }

    .ps-sm-5 {
        padding-left: 3rem !important
    }

    .gap-sm-0 {
        gap: 0 !important
    }

    .gap-sm-1 {
        gap: .25rem !important
    }

    .gap-sm-2 {
        gap: .5rem !important
    }

    .gap-sm-3 {
        gap: 1rem !important
    }

    .gap-sm-4 {
        gap: 1.5rem !important
    }

    .gap-sm-5 {
        gap: 3rem !important
    }

    .row-gap-sm-0 {
        row-gap: 0 !important
    }

    .row-gap-sm-1 {
        row-gap: .25rem !important
    }

    .row-gap-sm-2 {
        row-gap: .5rem !important
    }

    .row-gap-sm-3 {
        row-gap: 1rem !important
    }

    .row-gap-sm-4 {
        row-gap: 1.5rem !important
    }

    .row-gap-sm-5 {
        row-gap: 3rem !important
    }

    .column-gap-sm-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important
    }

    .column-gap-sm-1 {
        -moz-column-gap: 0.25rem !important;
        column-gap: .25rem !important
    }

    .column-gap-sm-2 {
        -moz-column-gap: 0.5rem !important;
        column-gap: .5rem !important
    }

    .column-gap-sm-3 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important
    }

    .column-gap-sm-4 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important
    }

    .column-gap-sm-5 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !important
    }

    .text-sm-start {
        text-align: left !important
    }

    .text-sm-end {
        text-align: right !important
    }

    .text-sm-center {
        text-align: center !important
    }
}

@media (min-width:768px) {
    .float-md-start {
        float: left !important
    }

    .float-md-end {
        float: right !important
    }

    .float-md-none {
        float: none !important
    }

    .object-fit-md-contain {
        -o-object-fit: contain !important;
        object-fit: contain !important
    }

    .object-fit-md-cover {
        -o-object-fit: cover !important;
        object-fit: cover !important
    }

    .object-fit-md-fill {
        -o-object-fit: fill !important;
        object-fit: fill !important
    }

    .object-fit-md-scale {
        -o-object-fit: scale-down !important;
        object-fit: scale-down !important
    }

    .object-fit-md-none {
        -o-object-fit: none !important;
        object-fit: none !important
    }

    .d-md-inline {
        display: inline !important
    }

    .d-md-inline-block {
        display: inline-block !important
    }

    .d-md-block {
        display: block !important
    }

    .d-md-grid {
        display: grid !important
    }

    .d-md-inline-grid {
        display: inline-grid !important
    }

    .d-md-table {
        display: table !important
    }

    .d-md-table-row {
        display: table-row !important
    }

    .d-md-table-cell {
        display: table-cell !important
    }

    .d-md-flex {
        display: flex !important
    }

    .d-md-inline-flex {
        display: inline-flex !important
    }

    .d-md-none {
        display: none !important
    }

    .flex-md-fill {
        flex: 1 1 auto !important
    }

    .flex-md-row {
        flex-direction: row !important
    }

    .flex-md-column {
        flex-direction: column !important
    }

    .flex-md-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-md-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-md-grow-0 {
        flex-grow: 0 !important
    }

    .flex-md-grow-1 {
        flex-grow: 1 !important
    }

    .flex-md-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-md-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-md-wrap {
        flex-wrap: wrap !important
    }

    .flex-md-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-md-start {
        justify-content: flex-start !important
    }

    .justify-content-md-end {
        justify-content: flex-end !important
    }

    .justify-content-md-center {
        justify-content: center !important
    }

    .justify-content-md-between {
        justify-content: space-between !important
    }

    .justify-content-md-around {
        justify-content: space-around !important
    }

    .justify-content-md-evenly {
        justify-content: space-evenly !important
    }

    .align-items-md-start {
        align-items: flex-start !important
    }

    .align-items-md-end {
        align-items: flex-end !important
    }

    .align-items-md-center {
        align-items: center !important
    }

    .align-items-md-baseline {
        align-items: baseline !important
    }

    .align-items-md-stretch {
        align-items: stretch !important
    }

    .align-content-md-start {
        align-content: flex-start !important
    }

    .align-content-md-end {
        align-content: flex-end !important
    }

    .align-content-md-center {
        align-content: center !important
    }

    .align-content-md-between {
        align-content: space-between !important
    }

    .align-content-md-around {
        align-content: space-around !important
    }

    .align-content-md-stretch {
        align-content: stretch !important
    }

    .align-self-md-auto {
        align-self: auto !important
    }

    .align-self-md-start {
        align-self: flex-start !important
    }

    .align-self-md-end {
        align-self: flex-end !important
    }

    .align-self-md-center {
        align-self: center !important
    }

    .align-self-md-baseline {
        align-self: baseline !important
    }

    .align-self-md-stretch {
        align-self: stretch !important
    }

    .order-md-first {
        order: -1 !important
    }

    .order-md-0 {
        order: 0 !important
    }

    .order-md-1 {
        order: 1 !important
    }

    .order-md-2 {
        order: 2 !important
    }

    .order-md-3 {
        order: 3 !important
    }

    .order-md-4 {
        order: 4 !important
    }

    .order-md-5 {
        order: 5 !important
    }

    .order-md-last {
        order: 6 !important
    }

    .m-md-0 {
        margin: 0 !important
    }

    .m-md-1 {
        margin: .25rem !important
    }

    .m-md-2 {
        margin: .5rem !important
    }

    .m-md-3 {
        margin: 1rem !important
    }

    .m-md-4 {
        margin: 1.5rem !important
    }

    .m-md-5 {
        margin: 3rem !important
    }

    .m-md-auto {
        margin: auto !important
    }

    .mx-md-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-md-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-md-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-md-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-md-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-md-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-md-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-md-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-md-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-md-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-md-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-md-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-md-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-md-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-md-0 {
        margin-top: 0 !important
    }

    .mt-md-1 {
        margin-top: .25rem !important
    }

    .mt-md-2 {
        margin-top: .5rem !important
    }

    .mt-md-3 {
        margin-top: 1rem !important
    }

    .mt-md-4 {
        margin-top: 1.5rem !important
    }

    .mt-md-5 {
        margin-top: 3rem !important
    }

    .mt-md-auto {
        margin-top: auto !important
    }

    .me-md-0 {
        margin-right: 0 !important
    }

    .me-md-1 {
        margin-right: .25rem !important
    }

    .me-md-2 {
        margin-right: .5rem !important
    }

    .me-md-3 {
        margin-right: 1rem !important
    }

    .me-md-4 {
        margin-right: 1.5rem !important
    }

    .me-md-5 {
        margin-right: 3rem !important
    }

    .me-md-auto {
        margin-right: auto !important
    }

    .mb-md-0 {
        margin-bottom: 0 !important
    }

    .mb-md-1 {
        margin-bottom: .25rem !important
    }

    .mb-md-2 {
        margin-bottom: .5rem !important
    }

    .mb-md-3 {
        margin-bottom: 1rem !important
    }

    .mb-md-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-md-5 {
        margin-bottom: 3rem !important
    }

    .mb-md-auto {
        margin-bottom: auto !important
    }

    .ms-md-0 {
        margin-left: 0 !important
    }

    .ms-md-1 {
        margin-left: .25rem !important
    }

    .ms-md-2 {
        margin-left: .5rem !important
    }

    .ms-md-3 {
        margin-left: 1rem !important
    }

    .ms-md-4 {
        margin-left: 1.5rem !important
    }

    .ms-md-5 {
        margin-left: 3rem !important
    }

    .ms-md-auto {
        margin-left: auto !important
    }

    .p-md-0 {
        padding: 0 !important
    }

    .p-md-1 {
        padding: .25rem !important
    }

    .p-md-2 {
        padding: .5rem !important
    }

    .p-md-3 {
        padding: 1rem !important
    }

    .p-md-4 {
        padding: 1.5rem !important
    }

    .p-md-5 {
        padding: 3rem !important
    }

    .px-md-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-md-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-md-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-md-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-md-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-md-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-md-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-md-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-md-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-md-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-md-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-md-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-md-0 {
        padding-top: 0 !important
    }

    .pt-md-1 {
        padding-top: .25rem !important
    }

    .pt-md-2 {
        padding-top: .5rem !important
    }

    .pt-md-3 {
        padding-top: 1rem !important
    }

    .pt-md-4 {
        padding-top: 1.5rem !important
    }

    .pt-md-5 {
        padding-top: 3rem !important
    }

    .pe-md-0 {
        padding-right: 0 !important
    }

    .pe-md-1 {
        padding-right: .25rem !important
    }

    .pe-md-2 {
        padding-right: .5rem !important
    }

    .pe-md-3 {
        padding-right: 1rem !important
    }

    .pe-md-4 {
        padding-right: 1.5rem !important
    }

    .pe-md-5 {
        padding-right: 3rem !important
    }

    .pb-md-0 {
        padding-bottom: 0 !important
    }

    .pb-md-1 {
        padding-bottom: .25rem !important
    }

    .pb-md-2 {
        padding-bottom: .5rem !important
    }

    .pb-md-3 {
        padding-bottom: 1rem !important
    }

    .pb-md-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-md-5 {
        padding-bottom: 3rem !important
    }

    .ps-md-0 {
        padding-left: 0 !important
    }

    .ps-md-1 {
        padding-left: .25rem !important
    }

    .ps-md-2 {
        padding-left: .5rem !important
    }

    .ps-md-3 {
        padding-left: 1rem !important
    }

    .ps-md-4 {
        padding-left: 1.5rem !important
    }

    .ps-md-5 {
        padding-left: 3rem !important
    }

    .gap-md-0 {
        gap: 0 !important
    }

    .gap-md-1 {
        gap: .25rem !important
    }

    .gap-md-2 {
        gap: .5rem !important
    }

    .gap-md-3 {
        gap: 1rem !important
    }

    .gap-md-4 {
        gap: 1.5rem !important
    }

    .gap-md-5 {
        gap: 3rem !important
    }

    .row-gap-md-0 {
        row-gap: 0 !important
    }

    .row-gap-md-1 {
        row-gap: .25rem !important
    }

    .row-gap-md-2 {
        row-gap: .5rem !important
    }

    .row-gap-md-3 {
        row-gap: 1rem !important
    }

    .row-gap-md-4 {
        row-gap: 1.5rem !important
    }

    .row-gap-md-5 {
        row-gap: 3rem !important
    }

    .column-gap-md-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important
    }

    .column-gap-md-1 {
        -moz-column-gap: 0.25rem !important;
        column-gap: .25rem !important
    }

    .column-gap-md-2 {
        -moz-column-gap: 0.5rem !important;
        column-gap: .5rem !important
    }

    .column-gap-md-3 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important
    }

    .column-gap-md-4 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important
    }

    .column-gap-md-5 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !important
    }

    .text-md-start {
        text-align: left !important
    }

    .text-md-end {
        text-align: right !important
    }

    .text-md-center {
        text-align: center !important
    }
}

@media (min-width:992px) {
    .float-lg-start {
        float: left !important
    }

    .float-lg-end {
        float: right !important
    }

    .float-lg-none {
        float: none !important
    }

    .object-fit-lg-contain {
        -o-object-fit: contain !important;
        object-fit: contain !important
    }

    .object-fit-lg-cover {
        -o-object-fit: cover !important;
        object-fit: cover !important
    }

    .object-fit-lg-fill {
        -o-object-fit: fill !important;
        object-fit: fill !important
    }

    .object-fit-lg-scale {
        -o-object-fit: scale-down !important;
        object-fit: scale-down !important
    }

    .object-fit-lg-none {
        -o-object-fit: none !important;
        object-fit: none !important
    }

    .d-lg-inline {
        display: inline !important
    }

    .d-lg-inline-block {
        display: inline-block !important
    }

    .d-lg-block {
        display: block !important
    }

    .d-lg-grid {
        display: grid !important
    }

    .d-lg-inline-grid {
        display: inline-grid !important
    }

    .d-lg-table {
        display: table !important
    }

    .d-lg-table-row {
        display: table-row !important
    }

    .d-lg-table-cell {
        display: table-cell !important
    }

    .d-lg-flex {
        display: flex !important
    }

    .d-lg-inline-flex {
        display: inline-flex !important
    }

    .d-lg-none {
        display: none !important
    }

    .flex-lg-fill {
        flex: 1 1 auto !important
    }

    .flex-lg-row {
        flex-direction: row !important
    }

    .flex-lg-column {
        flex-direction: column !important
    }

    .flex-lg-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-lg-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-lg-grow-0 {
        flex-grow: 0 !important
    }

    .flex-lg-grow-1 {
        flex-grow: 1 !important
    }

    .flex-lg-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-lg-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-lg-wrap {
        flex-wrap: wrap !important
    }

    .flex-lg-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-lg-start {
        justify-content: flex-start !important
    }

    .justify-content-lg-end {
        justify-content: flex-end !important
    }

    .justify-content-lg-center {
        justify-content: center !important
    }

    .justify-content-lg-between {
        justify-content: space-between !important
    }

    .justify-content-lg-around {
        justify-content: space-around !important
    }

    .justify-content-lg-evenly {
        justify-content: space-evenly !important
    }

    .align-items-lg-start {
        align-items: flex-start !important
    }

    .align-items-lg-end {
        align-items: flex-end !important
    }

    .align-items-lg-center {
        align-items: center !important
    }

    .align-items-lg-baseline {
        align-items: baseline !important
    }

    .align-items-lg-stretch {
        align-items: stretch !important
    }

    .align-content-lg-start {
        align-content: flex-start !important
    }

    .align-content-lg-end {
        align-content: flex-end !important
    }

    .align-content-lg-center {
        align-content: center !important
    }

    .align-content-lg-between {
        align-content: space-between !important
    }

    .align-content-lg-around {
        align-content: space-around !important
    }

    .align-content-lg-stretch {
        align-content: stretch !important
    }

    .align-self-lg-auto {
        align-self: auto !important
    }

    .align-self-lg-start {
        align-self: flex-start !important
    }

    .align-self-lg-end {
        align-self: flex-end !important
    }

    .align-self-lg-center {
        align-self: center !important
    }

    .align-self-lg-baseline {
        align-self: baseline !important
    }

    .align-self-lg-stretch {
        align-self: stretch !important
    }

    .order-lg-first {
        order: -1 !important
    }

    .order-lg-0 {
        order: 0 !important
    }

    .order-lg-1 {
        order: 1 !important
    }

    .order-lg-2 {
        order: 2 !important
    }

    .order-lg-3 {
        order: 3 !important
    }

    .order-lg-4 {
        order: 4 !important
    }

    .order-lg-5 {
        order: 5 !important
    }

    .order-lg-last {
        order: 6 !important
    }

    .m-lg-0 {
        margin: 0 !important
    }

    .m-lg-1 {
        margin: .25rem !important
    }

    .m-lg-2 {
        margin: .5rem !important
    }

    .m-lg-3 {
        margin: 1rem !important
    }

    .m-lg-4 {
        margin: 1.5rem !important
    }

    .m-lg-5 {
        margin: 3rem !important
    }

    .m-lg-auto {
        margin: auto !important
    }

    .mx-lg-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-lg-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-lg-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-lg-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-lg-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-lg-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-lg-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-lg-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-lg-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-lg-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-lg-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-lg-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-lg-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-lg-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-lg-0 {
        margin-top: 0 !important
    }

    .mt-lg-1 {
        margin-top: .25rem !important
    }

    .mt-lg-2 {
        margin-top: .5rem !important
    }

    .mt-lg-3 {
        margin-top: 1rem !important
    }

    .mt-lg-4 {
        margin-top: 1.5rem !important
    }

    .mt-lg-5 {
        margin-top: 3rem !important
    }

    .mt-lg-auto {
        margin-top: auto !important
    }

    .me-lg-0 {
        margin-right: 0 !important
    }

    .me-lg-1 {
        margin-right: .25rem !important
    }

    .me-lg-2 {
        margin-right: .5rem !important
    }

    .me-lg-3 {
        margin-right: 1rem !important
    }

    .me-lg-4 {
        margin-right: 1.5rem !important
    }

    .me-lg-5 {
        margin-right: 3rem !important
    }

    .me-lg-auto {
        margin-right: auto !important
    }

    .mb-lg-0 {
        margin-bottom: 0 !important
    }

    .mb-lg-1 {
        margin-bottom: .25rem !important
    }

    .mb-lg-2 {
        margin-bottom: .5rem !important
    }

    .mb-lg-3 {
        margin-bottom: 1rem !important
    }

    .mb-lg-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-lg-5 {
        margin-bottom: 3rem !important
    }

    .mb-lg-auto {
        margin-bottom: auto !important
    }

    .ms-lg-0 {
        margin-left: 0 !important
    }

    .ms-lg-1 {
        margin-left: .25rem !important
    }

    .ms-lg-2 {
        margin-left: .5rem !important
    }

    .ms-lg-3 {
        margin-left: 1rem !important
    }

    .ms-lg-4 {
        margin-left: 1.5rem !important
    }

    .ms-lg-5 {
        margin-left: 3rem !important
    }

    .ms-lg-auto {
        margin-left: auto !important
    }

    .p-lg-0 {
        padding: 0 !important
    }

    .p-lg-1 {
        padding: .25rem !important
    }

    .p-lg-2 {
        padding: .5rem !important
    }

    .p-lg-3 {
        padding: 1rem !important
    }

    .p-lg-4 {
        padding: 1.5rem !important
    }

    .p-lg-5 {
        padding: 3rem !important
    }

    .px-lg-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-lg-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-lg-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-lg-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-lg-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-lg-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-lg-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-lg-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-lg-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-lg-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-lg-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-lg-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-lg-0 {
        padding-top: 0 !important
    }

    .pt-lg-1 {
        padding-top: .25rem !important
    }

    .pt-lg-2 {
        padding-top: .5rem !important
    }

    .pt-lg-3 {
        padding-top: 1rem !important
    }

    .pt-lg-4 {
        padding-top: 1.5rem !important
    }

    .pt-lg-5 {
        padding-top: 3rem !important
    }

    .pe-lg-0 {
        padding-right: 0 !important
    }

    .pe-lg-1 {
        padding-right: .25rem !important
    }

    .pe-lg-2 {
        padding-right: .5rem !important
    }

    .pe-lg-3 {
        padding-right: 1rem !important
    }

    .pe-lg-4 {
        padding-right: 1.5rem !important
    }

    .pe-lg-5 {
        padding-right: 3rem !important
    }

    .pb-lg-0 {
        padding-bottom: 0 !important
    }

    .pb-lg-1 {
        padding-bottom: .25rem !important
    }

    .pb-lg-2 {
        padding-bottom: .5rem !important
    }

    .pb-lg-3 {
        padding-bottom: 1rem !important
    }

    .pb-lg-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-lg-5 {
        padding-bottom: 3rem !important
    }

    .ps-lg-0 {
        padding-left: 0 !important
    }

    .ps-lg-1 {
        padding-left: .25rem !important
    }

    .ps-lg-2 {
        padding-left: .5rem !important
    }

    .ps-lg-3 {
        padding-left: 1rem !important
    }

    .ps-lg-4 {
        padding-left: 1.5rem !important
    }

    .ps-lg-5 {
        padding-left: 3rem !important
    }

    .gap-lg-0 {
        gap: 0 !important
    }

    .gap-lg-1 {
        gap: .25rem !important
    }

    .gap-lg-2 {
        gap: .5rem !important
    }

    .gap-lg-3 {
        gap: 1rem !important
    }

    .gap-lg-4 {
        gap: 1.5rem !important
    }

    .gap-lg-5 {
        gap: 3rem !important
    }

    .row-gap-lg-0 {
        row-gap: 0 !important
    }

    .row-gap-lg-1 {
        row-gap: .25rem !important
    }

    .row-gap-lg-2 {
        row-gap: .5rem !important
    }

    .row-gap-lg-3 {
        row-gap: 1rem !important
    }

    .row-gap-lg-4 {
        row-gap: 1.5rem !important
    }

    .row-gap-lg-5 {
        row-gap: 3rem !important
    }

    .column-gap-lg-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important
    }

    .column-gap-lg-1 {
        -moz-column-gap: 0.25rem !important;
        column-gap: .25rem !important
    }

    .column-gap-lg-2 {
        -moz-column-gap: 0.5rem !important;
        column-gap: .5rem !important
    }

    .column-gap-lg-3 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important
    }

    .column-gap-lg-4 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important
    }

    .column-gap-lg-5 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !important
    }

    .text-lg-start {
        text-align: left !important
    }

    .text-lg-end {
        text-align: right !important
    }

    .text-lg-center {
        text-align: center !important
    }
}

@media (min-width:1200px) {
    .float-xl-start {
        float: left !important
    }

    .float-xl-end {
        float: right !important
    }

    .float-xl-none {
        float: none !important
    }

    .object-fit-xl-contain {
        -o-object-fit: contain !important;
        object-fit: contain !important
    }

    .object-fit-xl-cover {
        -o-object-fit: cover !important;
        object-fit: cover !important
    }

    .object-fit-xl-fill {
        -o-object-fit: fill !important;
        object-fit: fill !important
    }

    .object-fit-xl-scale {
        -o-object-fit: scale-down !important;
        object-fit: scale-down !important
    }

    .object-fit-xl-none {
        -o-object-fit: none !important;
        object-fit: none !important
    }

    .d-xl-inline {
        display: inline !important
    }

    .d-xl-inline-block {
        display: inline-block !important
    }

    .d-xl-block {
        display: block !important
    }

    .d-xl-grid {
        display: grid !important
    }

    .d-xl-inline-grid {
        display: inline-grid !important
    }

    .d-xl-table {
        display: table !important
    }

    .d-xl-table-row {
        display: table-row !important
    }

    .d-xl-table-cell {
        display: table-cell !important
    }

    .d-xl-flex {
        display: flex !important
    }

    .d-xl-inline-flex {
        display: inline-flex !important
    }

    .d-xl-none {
        display: none !important
    }

    .flex-xl-fill {
        flex: 1 1 auto !important
    }

    .flex-xl-row {
        flex-direction: row !important
    }

    .flex-xl-column {
        flex-direction: column !important
    }

    .flex-xl-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-xl-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-xl-grow-0 {
        flex-grow: 0 !important
    }

    .flex-xl-grow-1 {
        flex-grow: 1 !important
    }

    .flex-xl-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-xl-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-xl-wrap {
        flex-wrap: wrap !important
    }

    .flex-xl-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-xl-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-xl-start {
        justify-content: flex-start !important
    }

    .justify-content-xl-end {
        justify-content: flex-end !important
    }

    .justify-content-xl-center {
        justify-content: center !important
    }

    .justify-content-xl-between {
        justify-content: space-between !important
    }

    .justify-content-xl-around {
        justify-content: space-around !important
    }

    .justify-content-xl-evenly {
        justify-content: space-evenly !important
    }

    .align-items-xl-start {
        align-items: flex-start !important
    }

    .align-items-xl-end {
        align-items: flex-end !important
    }

    .align-items-xl-center {
        align-items: center !important
    }

    .align-items-xl-baseline {
        align-items: baseline !important
    }

    .align-items-xl-stretch {
        align-items: stretch !important
    }

    .align-content-xl-start {
        align-content: flex-start !important
    }

    .align-content-xl-end {
        align-content: flex-end !important
    }

    .align-content-xl-center {
        align-content: center !important
    }

    .align-content-xl-between {
        align-content: space-between !important
    }

    .align-content-xl-around {
        align-content: space-around !important
    }

    .align-content-xl-stretch {
        align-content: stretch !important
    }

    .align-self-xl-auto {
        align-self: auto !important
    }

    .align-self-xl-start {
        align-self: flex-start !important
    }

    .align-self-xl-end {
        align-self: flex-end !important
    }

    .align-self-xl-center {
        align-self: center !important
    }

    .align-self-xl-baseline {
        align-self: baseline !important
    }

    .align-self-xl-stretch {
        align-self: stretch !important
    }

    .order-xl-first {
        order: -1 !important
    }

    .order-xl-0 {
        order: 0 !important
    }

    .order-xl-1 {
        order: 1 !important
    }

    .order-xl-2 {
        order: 2 !important
    }

    .order-xl-3 {
        order: 3 !important
    }

    .order-xl-4 {
        order: 4 !important
    }

    .order-xl-5 {
        order: 5 !important
    }

    .order-xl-last {
        order: 6 !important
    }

    .m-xl-0 {
        margin: 0 !important
    }

    .m-xl-1 {
        margin: .25rem !important
    }

    .m-xl-2 {
        margin: .5rem !important
    }

    .m-xl-3 {
        margin: 1rem !important
    }

    .m-xl-4 {
        margin: 1.5rem !important
    }

    .m-xl-5 {
        margin: 3rem !important
    }

    .m-xl-auto {
        margin: auto !important
    }

    .mx-xl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-xl-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-xl-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-xl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-xl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-xl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-xl-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-xl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-xl-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-xl-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-xl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-xl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-xl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-xl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-xl-0 {
        margin-top: 0 !important
    }

    .mt-xl-1 {
        margin-top: .25rem !important
    }

    .mt-xl-2 {
        margin-top: .5rem !important
    }

    .mt-xl-3 {
        margin-top: 1rem !important
    }

    .mt-xl-4 {
        margin-top: 1.5rem !important
    }

    .mt-xl-5 {
        margin-top: 3rem !important
    }

    .mt-xl-auto {
        margin-top: auto !important
    }

    .me-xl-0 {
        margin-right: 0 !important
    }

    .me-xl-1 {
        margin-right: .25rem !important
    }

    .me-xl-2 {
        margin-right: .5rem !important
    }

    .me-xl-3 {
        margin-right: 1rem !important
    }

    .me-xl-4 {
        margin-right: 1.5rem !important
    }

    .me-xl-5 {
        margin-right: 3rem !important
    }

    .me-xl-auto {
        margin-right: auto !important
    }

    .mb-xl-0 {
        margin-bottom: 0 !important
    }

    .mb-xl-1 {
        margin-bottom: .25rem !important
    }

    .mb-xl-2 {
        margin-bottom: .5rem !important
    }

    .mb-xl-3 {
        margin-bottom: 1rem !important
    }

    .mb-xl-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-xl-5 {
        margin-bottom: 3rem !important
    }

    .mb-xl-auto {
        margin-bottom: auto !important
    }

    .ms-xl-0 {
        margin-left: 0 !important
    }

    .ms-xl-1 {
        margin-left: .25rem !important
    }

    .ms-xl-2 {
        margin-left: .5rem !important
    }

    .ms-xl-3 {
        margin-left: 1rem !important
    }

    .ms-xl-4 {
        margin-left: 1.5rem !important
    }

    .ms-xl-5 {
        margin-left: 3rem !important
    }

    .ms-xl-auto {
        margin-left: auto !important
    }

    .p-xl-0 {
        padding: 0 !important
    }

    .p-xl-1 {
        padding: .25rem !important
    }

    .p-xl-2 {
        padding: .5rem !important
    }

    .p-xl-3 {
        padding: 1rem !important
    }

    .p-xl-4 {
        padding: 1.5rem !important
    }

    .p-xl-5 {
        padding: 3rem !important
    }

    .px-xl-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-xl-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-xl-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-xl-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-xl-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-xl-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-xl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-xl-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-xl-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-xl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-xl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-xl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-xl-0 {
        padding-top: 0 !important
    }

    .pt-xl-1 {
        padding-top: .25rem !important
    }

    .pt-xl-2 {
        padding-top: .5rem !important
    }

    .pt-xl-3 {
        padding-top: 1rem !important
    }

    .pt-xl-4 {
        padding-top: 1.5rem !important
    }

    .pt-xl-5 {
        padding-top: 3rem !important
    }

    .pe-xl-0 {
        padding-right: 0 !important
    }

    .pe-xl-1 {
        padding-right: .25rem !important
    }

    .pe-xl-2 {
        padding-right: .5rem !important
    }

    .pe-xl-3 {
        padding-right: 1rem !important
    }

    .pe-xl-4 {
        padding-right: 1.5rem !important
    }

    .pe-xl-5 {
        padding-right: 3rem !important
    }

    .pb-xl-0 {
        padding-bottom: 0 !important
    }

    .pb-xl-1 {
        padding-bottom: .25rem !important
    }

    .pb-xl-2 {
        padding-bottom: .5rem !important
    }

    .pb-xl-3 {
        padding-bottom: 1rem !important
    }

    .pb-xl-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-xl-5 {
        padding-bottom: 3rem !important
    }

    .ps-xl-0 {
        padding-left: 0 !important
    }

    .ps-xl-1 {
        padding-left: .25rem !important
    }

    .ps-xl-2 {
        padding-left: .5rem !important
    }

    .ps-xl-3 {
        padding-left: 1rem !important
    }

    .ps-xl-4 {
        padding-left: 1.5rem !important
    }

    .ps-xl-5 {
        padding-left: 3rem !important
    }

    .gap-xl-0 {
        gap: 0 !important
    }

    .gap-xl-1 {
        gap: .25rem !important
    }

    .gap-xl-2 {
        gap: .5rem !important
    }

    .gap-xl-3 {
        gap: 1rem !important
    }

    .gap-xl-4 {
        gap: 1.5rem !important
    }

    .gap-xl-5 {
        gap: 3rem !important
    }

    .row-gap-xl-0 {
        row-gap: 0 !important
    }

    .row-gap-xl-1 {
        row-gap: .25rem !important
    }

    .row-gap-xl-2 {
        row-gap: .5rem !important
    }

    .row-gap-xl-3 {
        row-gap: 1rem !important
    }

    .row-gap-xl-4 {
        row-gap: 1.5rem !important
    }

    .row-gap-xl-5 {
        row-gap: 3rem !important
    }

    .column-gap-xl-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important
    }

    .column-gap-xl-1 {
        -moz-column-gap: 0.25rem !important;
        column-gap: .25rem !important
    }

    .column-gap-xl-2 {
        -moz-column-gap: 0.5rem !important;
        column-gap: .5rem !important
    }

    .column-gap-xl-3 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important
    }

    .column-gap-xl-4 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important
    }

    .column-gap-xl-5 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !important
    }

    .text-xl-start {
        text-align: left !important
    }

    .text-xl-end {
        text-align: right !important
    }

    .text-xl-center {
        text-align: center !important
    }
}

@media (min-width:1400px) {
    .float-xxl-start {
        float: left !important
    }

    .float-xxl-end {
        float: right !important
    }

    .float-xxl-none {
        float: none !important
    }

    .object-fit-xxl-contain {
        -o-object-fit: contain !important;
        object-fit: contain !important
    }

    .object-fit-xxl-cover {
        -o-object-fit: cover !important;
        object-fit: cover !important
    }

    .object-fit-xxl-fill {
        -o-object-fit: fill !important;
        object-fit: fill !important
    }

    .object-fit-xxl-scale {
        -o-object-fit: scale-down !important;
        object-fit: scale-down !important
    }

    .object-fit-xxl-none {
        -o-object-fit: none !important;
        object-fit: none !important
    }

    .d-xxl-inline {
        display: inline !important
    }

    .d-xxl-inline-block {
        display: inline-block !important
    }

    .d-xxl-block {
        display: block !important
    }

    .d-xxl-grid {
        display: grid !important
    }

    .d-xxl-inline-grid {
        display: inline-grid !important
    }

    .d-xxl-table {
        display: table !important
    }

    .d-xxl-table-row {
        display: table-row !important
    }

    .d-xxl-table-cell {
        display: table-cell !important
    }

    .d-xxl-flex {
        display: flex !important
    }

    .d-xxl-inline-flex {
        display: inline-flex !important
    }

    .d-xxl-none {
        display: none !important
    }

    .flex-xxl-fill {
        flex: 1 1 auto !important
    }

    .flex-xxl-row {
        flex-direction: row !important
    }

    .flex-xxl-column {
        flex-direction: column !important
    }

    .flex-xxl-row-reverse {
        flex-direction: row-reverse !important
    }

    .flex-xxl-column-reverse {
        flex-direction: column-reverse !important
    }

    .flex-xxl-grow-0 {
        flex-grow: 0 !important
    }

    .flex-xxl-grow-1 {
        flex-grow: 1 !important
    }

    .flex-xxl-shrink-0 {
        flex-shrink: 0 !important
    }

    .flex-xxl-shrink-1 {
        flex-shrink: 1 !important
    }

    .flex-xxl-wrap {
        flex-wrap: wrap !important
    }

    .flex-xxl-nowrap {
        flex-wrap: nowrap !important
    }

    .flex-xxl-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }

    .justify-content-xxl-start {
        justify-content: flex-start !important
    }

    .justify-content-xxl-end {
        justify-content: flex-end !important
    }

    .justify-content-xxl-center {
        justify-content: center !important
    }

    .justify-content-xxl-between {
        justify-content: space-between !important
    }

    .justify-content-xxl-around {
        justify-content: space-around !important
    }

    .justify-content-xxl-evenly {
        justify-content: space-evenly !important
    }

    .align-items-xxl-start {
        align-items: flex-start !important
    }

    .align-items-xxl-end {
        align-items: flex-end !important
    }

    .align-items-xxl-center {
        align-items: center !important
    }

    .align-items-xxl-baseline {
        align-items: baseline !important
    }

    .align-items-xxl-stretch {
        align-items: stretch !important
    }

    .align-content-xxl-start {
        align-content: flex-start !important
    }

    .align-content-xxl-end {
        align-content: flex-end !important
    }

    .align-content-xxl-center {
        align-content: center !important
    }

    .align-content-xxl-between {
        align-content: space-between !important
    }

    .align-content-xxl-around {
        align-content: space-around !important
    }

    .align-content-xxl-stretch {
        align-content: stretch !important
    }

    .align-self-xxl-auto {
        align-self: auto !important
    }

    .align-self-xxl-start {
        align-self: flex-start !important
    }

    .align-self-xxl-end {
        align-self: flex-end !important
    }

    .align-self-xxl-center {
        align-self: center !important
    }

    .align-self-xxl-baseline {
        align-self: baseline !important
    }

    .align-self-xxl-stretch {
        align-self: stretch !important
    }

    .order-xxl-first {
        order: -1 !important
    }

    .order-xxl-0 {
        order: 0 !important
    }

    .order-xxl-1 {
        order: 1 !important
    }

    .order-xxl-2 {
        order: 2 !important
    }

    .order-xxl-3 {
        order: 3 !important
    }

    .order-xxl-4 {
        order: 4 !important
    }

    .order-xxl-5 {
        order: 5 !important
    }

    .order-xxl-last {
        order: 6 !important
    }

    .m-xxl-0 {
        margin: 0 !important
    }

    .m-xxl-1 {
        margin: .25rem !important
    }

    .m-xxl-2 {
        margin: .5rem !important
    }

    .m-xxl-3 {
        margin: 1rem !important
    }

    .m-xxl-4 {
        margin: 1.5rem !important
    }

    .m-xxl-5 {
        margin: 3rem !important
    }

    .m-xxl-auto {
        margin: auto !important
    }

    .mx-xxl-0 {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .mx-xxl-1 {
        margin-right: .25rem !important;
        margin-left: .25rem !important
    }

    .mx-xxl-2 {
        margin-right: .5rem !important;
        margin-left: .5rem !important
    }

    .mx-xxl-3 {
        margin-right: 1rem !important;
        margin-left: 1rem !important
    }

    .mx-xxl-4 {
        margin-right: 1.5rem !important;
        margin-left: 1.5rem !important
    }

    .mx-xxl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important
    }

    .mx-xxl-auto {
        margin-right: auto !important;
        margin-left: auto !important
    }

    .my-xxl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .my-xxl-1 {
        margin-top: .25rem !important;
        margin-bottom: .25rem !important
    }

    .my-xxl-2 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important
    }

    .my-xxl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important
    }

    .my-xxl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .my-xxl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important
    }

    .my-xxl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important
    }

    .mt-xxl-0 {
        margin-top: 0 !important
    }

    .mt-xxl-1 {
        margin-top: .25rem !important
    }

    .mt-xxl-2 {
        margin-top: .5rem !important
    }

    .mt-xxl-3 {
        margin-top: 1rem !important
    }

    .mt-xxl-4 {
        margin-top: 1.5rem !important
    }

    .mt-xxl-5 {
        margin-top: 3rem !important
    }

    .mt-xxl-auto {
        margin-top: auto !important
    }

    .me-xxl-0 {
        margin-right: 0 !important
    }

    .me-xxl-1 {
        margin-right: .25rem !important
    }

    .me-xxl-2 {
        margin-right: .5rem !important
    }

    .me-xxl-3 {
        margin-right: 1rem !important
    }

    .me-xxl-4 {
        margin-right: 1.5rem !important
    }

    .me-xxl-5 {
        margin-right: 3rem !important
    }

    .me-xxl-auto {
        margin-right: auto !important
    }

    .mb-xxl-0 {
        margin-bottom: 0 !important
    }

    .mb-xxl-1 {
        margin-bottom: .25rem !important
    }

    .mb-xxl-2 {
        margin-bottom: .5rem !important
    }

    .mb-xxl-3 {
        margin-bottom: 1rem !important
    }

    .mb-xxl-4 {
        margin-bottom: 1.5rem !important
    }

    .mb-xxl-5 {
        margin-bottom: 3rem !important
    }

    .mb-xxl-auto {
        margin-bottom: auto !important
    }

    .ms-xxl-0 {
        margin-left: 0 !important
    }

    .ms-xxl-1 {
        margin-left: .25rem !important
    }

    .ms-xxl-2 {
        margin-left: .5rem !important
    }

    .ms-xxl-3 {
        margin-left: 1rem !important
    }

    .ms-xxl-4 {
        margin-left: 1.5rem !important
    }

    .ms-xxl-5 {
        margin-left: 3rem !important
    }

    .ms-xxl-auto {
        margin-left: auto !important
    }

    .p-xxl-0 {
        padding: 0 !important
    }

    .p-xxl-1 {
        padding: .25rem !important
    }

    .p-xxl-2 {
        padding: .5rem !important
    }

    .p-xxl-3 {
        padding: 1rem !important
    }

    .p-xxl-4 {
        padding: 1.5rem !important
    }

    .p-xxl-5 {
        padding: 3rem !important
    }

    .px-xxl-0 {
        padding-right: 0 !important;
        padding-left: 0 !important
    }

    .px-xxl-1 {
        padding-right: .25rem !important;
        padding-left: .25rem !important
    }

    .px-xxl-2 {
        padding-right: .5rem !important;
        padding-left: .5rem !important
    }

    .px-xxl-3 {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-xxl-4 {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-xxl-5 {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-xxl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .py-xxl-1 {
        padding-top: .25rem !important;
        padding-bottom: .25rem !important
    }

    .py-xxl-2 {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important
    }

    .py-xxl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .py-xxl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .py-xxl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important
    }

    .pt-xxl-0 {
        padding-top: 0 !important
    }

    .pt-xxl-1 {
        padding-top: .25rem !important
    }

    .pt-xxl-2 {
        padding-top: .5rem !important
    }

    .pt-xxl-3 {
        padding-top: 1rem !important
    }

    .pt-xxl-4 {
        padding-top: 1.5rem !important
    }

    .pt-xxl-5 {
        padding-top: 3rem !important
    }

    .pe-xxl-0 {
        padding-right: 0 !important
    }

    .pe-xxl-1 {
        padding-right: .25rem !important
    }

    .pe-xxl-2 {
        padding-right: .5rem !important
    }

    .pe-xxl-3 {
        padding-right: 1rem !important
    }

    .pe-xxl-4 {
        padding-right: 1.5rem !important
    }

    .pe-xxl-5 {
        padding-right: 3rem !important
    }

    .pb-xxl-0 {
        padding-bottom: 0 !important
    }

    .pb-xxl-1 {
        padding-bottom: .25rem !important
    }

    .pb-xxl-2 {
        padding-bottom: .5rem !important
    }

    .pb-xxl-3 {
        padding-bottom: 1rem !important
    }

    .pb-xxl-4 {
        padding-bottom: 1.5rem !important
    }

    .pb-xxl-5 {
        padding-bottom: 3rem !important
    }

    .ps-xxl-0 {
        padding-left: 0 !important
    }

    .ps-xxl-1 {
        padding-left: .25rem !important
    }

    .ps-xxl-2 {
        padding-left: .5rem !important
    }

    .ps-xxl-3 {
        padding-left: 1rem !important
    }

    .ps-xxl-4 {
        padding-left: 1.5rem !important
    }

    .ps-xxl-5 {
        padding-left: 3rem !important
    }

    .gap-xxl-0 {
        gap: 0 !important
    }

    .gap-xxl-1 {
        gap: .25rem !important
    }

    .gap-xxl-2 {
        gap: .5rem !important
    }

    .gap-xxl-3 {
        gap: 1rem !important
    }

    .gap-xxl-4 {
        gap: 1.5rem !important
    }

    .gap-xxl-5 {
        gap: 3rem !important
    }

    .row-gap-xxl-0 {
        row-gap: 0 !important
    }

    .row-gap-xxl-1 {
        row-gap: .25rem !important
    }

    .row-gap-xxl-2 {
        row-gap: .5rem !important
    }

    .row-gap-xxl-3 {
        row-gap: 1rem !important
    }

    .row-gap-xxl-4 {
        row-gap: 1.5rem !important
    }

    .row-gap-xxl-5 {
        row-gap: 3rem !important
    }

    .column-gap-xxl-0 {
        -moz-column-gap: 0 !important;
        column-gap: 0 !important
    }

    .column-gap-xxl-1 {
        -moz-column-gap: 0.25rem !important;
        column-gap: .25rem !important
    }

    .column-gap-xxl-2 {
        -moz-column-gap: 0.5rem !important;
        column-gap: .5rem !important
    }

    .column-gap-xxl-3 {
        -moz-column-gap: 1rem !important;
        column-gap: 1rem !important
    }

    .column-gap-xxl-4 {
        -moz-column-gap: 1.5rem !important;
        column-gap: 1.5rem !important
    }

    .column-gap-xxl-5 {
        -moz-column-gap: 3rem !important;
        column-gap: 3rem !important
    }

    .text-xxl-start {
        text-align: left !important
    }

    .text-xxl-end {
        text-align: right !important
    }

    .text-xxl-center {
        text-align: center !important
    }
}

@media (min-width:1200px) {
    .fs-1 {
        font-size: 2.5rem !important
    }

    .fs-2 {
        font-size: 2rem !important
    }

    .fs-3 {
        font-size: 1.75rem !important
    }

    .fs-4 {
        font-size: 1.5rem !important
    }
}

@media print {
    .d-print-inline {
        display: inline !important
    }

    .d-print-inline-block {
        display: inline-block !important
    }

    .d-print-block {
        display: block !important
    }

    .d-print-grid {
        display: grid !important
    }

    .d-print-inline-grid {
        display: inline-grid !important
    }

    .d-print-table {
        display: table !important
    }

    .d-print-table-row {
        display: table-row !important
    }

    .d-print-table-cell {
        display: table-cell !important
    }

    .d-print-flex {
        display: flex !important
    }

    .d-print-inline-flex {
        display: inline-flex !important
    }

    .d-print-none {
        display: none !important
    }
}
 /*# sourceMappingURL=bootstrap.min.css.map */

/* Source : assets/vendor/owl-carousel/owl.carousel.min.css */
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url("../../../vendor/owl-carousel/owl.video.play.html") no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

/* Source : assets/themes/genocost/css/modules/cms-legacy.css */
/* Source : assets/common/css/plugins.css */
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */
@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/* Source : assets/common/css/common.css */
:root {
    --hx-gray-25: #fcfcfc;
    --hx-gray-50: #fafafa;
    --hx-gray-75: #f7f7f8;
    --hx-gray-100: #f4f4f5;
    --hx-gray-125: #efeff1;
    --hx-gray-150: #ececee;
    --hx-gray-175: #e9e9eb;
    --hx-gray-200: #e4e4e7;
    --hx-gray-225: #e0e0e3;
    --hx-gray-250: #dcdce0;
    --hx-gray-275: #d8d8dc;
    --hx-gray-300: #d4d4d8;
    --hx-gray-325: #c8c8cd;
    --hx-gray-350: #bbbbc1;
    --hx-gray-375: #aeaeB6;
    --hx-gray-400: #a1a1aa;
    --hx-gray-425: #95959e;
    --hx-gray-450: #898992;
    --hx-gray-475: #7d7d86;
    --hx-gray-500: #71717a;
    --hx-gray-525: #6a6a73;
    --hx-gray-550: #62626b;
    --hx-gray-575: #5a5a63;
    --hx-gray-600: #52525b;
    --hx-gray-625: #4e4e56;
    --hx-gray-650: #494951;
    --hx-gray-675: #44444b;
    --hx-gray-700: #3f3f46;
    --hx-gray-725: #39393e;
    --hx-gray-750: #333338;
    --hx-gray-775: #2d2d31;
    --hx-gray-800: #27272a;
    --hx-gray-825: #242427;
    --hx-gray-850: #202023;
    --hx-gray-875: #1c1c1f;
    --hx-gray-900: #18181b;
    --hx-gray-925: #111113;
    --hx-gray-950: #09090b;
    --hx-gray-975: #050506;

    --hx-green-50: #f0fdf4;
    --hx-green-100: #dcfce7;
    --hx-green-200: #bbf7d0;
    --hx-green-300: #86efac;
    --hx-green-400: #4ade80;
    --hx-green-500: #22c55e;
    --hx-green-600: #16a34a;
    --hx-green-700: #15803d;
    --hx-green-800: #166534;
    --hx-green-900: #14532d;
    --hx-green-950: #052e16;

    --hx-emerald-50: #ecfdf5;
    --hx-emerald-100: #d1fae5;
    --hx-emerald-200: #a7f3d0;
    --hx-emerald-300: #6ee7b7;
    --hx-emerald-400: #34d399;
    --hx-emerald-500: #10b981;
    --hx-emerald-600: #059669;
    --hx-emerald-700: #047857;
    --hx-emerald-800: #065f46;
    --hx-emerald-900: #064e3b;
    --hx-emerald-950: #022c22;

    --hx-rose-50: #fff1f2;
    --hx-rose-100: #ffe4e6;
    --hx-rose-200: #fecdd3;
    --hx-rose-300: #fda4af;
    --hx-rose-400: #fb7185;
    --hx-rose-500: #f43f5e;
    --hx-rose-600: #e11d48;
    --hx-rose-700: #be123c;
    --hx-rose-800: #9f1239;
    --hx-rose-900: #881337;
    --hx-rose-950: #4c0519;

    --color-email-social: #ef4444;
    --color-rss: #ee802f;

    --hx-body-bg: #ffffff;
    --hx-text-danger: #F8285A;

    /*
        --hx-fs-base: 0.9375rem;
        --hx-fs-post-title: 2.25rem;
        --hx-fs-post-summary: 1.125rem;
        --hx-fs-content: 1.0625rem;
        --hx-fs-main-nav: 0.9375rem;
        --hx-fs-tiny: 0.6875rem;
        --hx-fs-xs: 0.75rem;
        --hx-fs-sm: 0.8125rem;
        --hx-fs-md: 0.875rem;
        --hx-fs-lg: 1rem;
        --hx-fs-xl: 1.125rem;
        --hx-fs-title-xs: 0.9375rem;
        --hx-fs-title-sm: 1rem;
        --hx-fs-title-md: 1.125rem;
        --hx-fs-title-lg: 1.25rem;
        --hx-fs-title-xl: 1.375rem;
        --hx-fs-title-2xl: 1.5rem;
        --hx-fs-title-3xl: 1.625rem;
        --hx-fs-title-4xl: 1.875rem;
        --hx-fs-title-5xl: 2rem;
     */
}

.text-theme-color {
    color: var(--hx-theme-color) !important;
}

.hx-fs-base {
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
}

.hx-fs-post-title {
    font-size: var(--hx-fs-post-title);
    line-height: var(--hx-lh-post-title);
}

.hx-fs-post-summary {
    font-size: var(--hx-fs-post-summary);
    line-height: var(--hx-lh-post-summary);
}

.hx-fs-content {
    font-size: var(--hx-fs-content);
    line-height: var(--hx-lh-content);
}

.hx-fs-main-nav {
    font-size: var(--hx-fs-main-nav);
    line-height: var(--hx-lh-main-nav);
}

.hx-fs-tiny {
    font-size: var(--hx-fs-tiny);
    line-height: var(--hx-lh-tiny);
}

.hx-fs-xs {
    font-size: var(--hx-fs-xs);
    line-height: var(--hx-lh-xs);
}

.hx-fs-sm {
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
}

.hx-fs-md {
    font-size: var(--hx-fs-md);
    line-height: var(--hx-lh-md);
}

.hx-fs-lg {
    font-size: var(--hx-fs-lg);
    line-height: var(--hx-lh-lg);
}

.hx-fs-xl {
    font-size: var(--hx-fs-xl);
    line-height: var(--hx-lh-xl);
}

.hx-fs-title-xs {
    font-size: var(--hx-fs-title-xs);
    line-height: var(--hx-lh-title-xs);
}

.hx-fs-title-sm {
    font-size: var(--hx-fs-title-sm);
    line-height: var(--hx-lh-title-sm);
}

.hx-fs-title-md {
    font-size: var(--hx-fs-title-md);
    line-height: var(--hx-lh-title-md);
}

.hx-fs-title-lg {
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
}

.hx-fs-title-xl {
    font-size: var(--hx-fs-title-xl);
    line-height: var(--hx-lh-title-xl);
}

.hx-fs-title-2xl {
    font-size: var(--hx-fs-title-2xl);
    line-height: var(--hx-lh-title-2xl);
}

.hx-fs-title-3xl {
    font-size: var(--hx-fs-title-3xl);
    line-height: var(--hx-lh-title-3xl);
}

.hx-fs-title-4xl {
    font-size: var(--hx-fs-title-4xl);
    line-height: var(--hx-lh-title-4xl);
}

.hx-fs-title-5xl {
    font-size: var(--hx-fs-title-5xl);
    line-height: var(--hx-lh-title-5xl);
}

.h-70px {
    height: 70px !important;
}

.h-80px {
    height: 80px !important;
}

.h-100px {
    height: 100px !important;
}

.h-200px {
    height: 200px !important;
}

.max-w-400 {
    max-width: 400px !important;
}

.max-w-500 {
    max-width: 500px !important;
}

.max-w-600 {
    max-width: 600px !important;
}

.pointer-events-none {
    pointer-events: none !important;
}

.pointer-events-auto {
    pointer-events: auto !important;
}

.hover-elevate-up {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-elevate-up:hover {
    transform: translateY(-5px);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
}

.js-hover-bg {
    transition: all 0.3s;
}

.js-hover-bg:hover {
    transform: translateY(-3px);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

.badge-soft-success {
    background-color: var(--hx-green-100) !important;
    color: var(--hx-green-600) !important;
    border: 1px solid var(--hx-green-200) !important;
    font-weight: 700;
    font-size: 0.813rem;
    transition: all 0.2s;
}

.badge-soft-success span {
    color: var(--hx-green-600) !important;
}

.link-hover-underline:hover {
    text-decoration: underline !important;
}

/* Prevent iOS Safari input zoom */
@media screen and (max-width: 768px) {
    input, textarea, select {
        font-size: 16px !important;
    }
}

[dir="rtl"] [type="email"],
[dir="rtl"] [type="number"],
[dir="rtl"] [type="tel"],
[dir="rtl"] [type="url"] {
    text-align: right !important;
    direction: ltr !important;
    unicode-bidi: plaintext;
}

/* Prevent text shifting inside ALL form controls (input, textarea, select) during validation */
.form-control.is-invalid,
.form-control.is-valid,
.was-validated .form-control:invalid,
.was-validated .form-control:valid {
    padding-right: 1rem !important;
    background-image: none !important;
}

/* Sandboxed fix for empty paragraphs and margin generated by WYSIWYG editors */
.entry-content p, .editor-content p {
    margin-bottom: 0.5rem;
}

.entry-content p:empty::after, .editor-content p:empty::after {
    content: "\00A0";
}

/*--------------------------------------------------------------
# Alert
--------------------------------------------------------------*/
.alert-custom {
    display: flex;
    padding: 0.813rem 1.25rem;
    margin-bottom: 1.5rem;
    border-radius: 0.375rem;
    border: 1px solid transparent;
    background-color: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
    position: relative;
    align-items: center;
}

.alert-custom.alert-multiline {
    align-items: flex-start;
}

.alert-custom .icon-box {
    flex-shrink: 0;
    width: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.alert-custom.alert-multiline .icon-box {
    height: 1.5rem;
    margin-top: 1px;
}

.alert-custom .icon-box svg {
    width: 1.5rem;
    height: 1.5rem;
    stroke-width: 2px;
}

.alert-custom .alert-content {
    flex: 1;
    font-weight: 500;
    line-height: 1.5;
    font-size: 15px;
}

.alert-custom .alert-heading {
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
    display: block;
    line-height: 1.4;
}

.alert-custom ul {
    margin: 0.25rem 0 0 0;
    padding-left: 1.25rem;
    font-size: 0.9rem;
}

.alert-custom li {
    margin-bottom: 0.25rem;
}

.alert-custom .btn-close-custom {
    background: transparent;
    border: none;
    margin-left: auto;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    opacity: 0.6;
    flex-shrink: 0;
}

.alert-custom.alert-multiline .btn-close-custom {
    margin-top: -0.25rem;
}

.alert-custom .btn-close-custom:hover {
    opacity: 1;
}

.alert-custom .btn-close-custom svg {
    width: 1.1rem;
    height: 1.1rem;
}

.alert-success-custom {
    background-color: #E8FFF3;
    border-color: #E8FFF3;
    color: #16a34a;
}

.alert-success-custom .icon-box,
.alert-success-custom .btn-close-custom {
    color: #16a34a;
}

.alert-danger-custom {
    background-color: #ffeef3;
    border-color: #ffeef3;
    color: #F8285A;
}

.alert-danger-custom .icon-box,
.alert-danger-custom .alert-heading,
.alert-danger-custom .btn-close-custom {
    color: #F8285A;
}

/*--------------------------------------------------------------
# Form Checkbox
--------------------------------------------------------------*/

.form-check-custom {
    min-height: 1.75rem;
    padding-left: 1.75rem;
}

.form-check-custom .form-check-input {
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.25rem;
    margin-left: -1.75rem;
    flex-shrink: 0;
    cursor: pointer;
    border: 1px solid #d1d5db;
    background-color: #f9fafb;
    transition: all .15s ease-in-out;
    outline: none !important;
}

.form-check-custom .form-check-label {
    cursor: pointer;
    user-select: none;
    line-height: 1.5;
    margin-top: 0;
    color: var(--hx-text-main) !important;
    position: relative;
    top: 2px;
}

.form-check-custom .form-check-input:checked {
    background-color: var(--hx-theme-color) !important;
    border-color: var(--hx-theme-color) !important;
}

.form-check-custom .form-check-input:focus {
    border-color: var(--hx-theme-color) !important;
    box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--hx-theme-color), transparent 85%) !important;
}

[dir="rtl"] .form-check-custom {
    padding-left: 0;
    padding-right: 1.75rem;
}

[dir="rtl"] .form-check-custom .form-check-input {
    float: right;
    margin-left: 0;
    margin-right: -1.75rem;
}

[dir="rtl"] .form-check-custom .form-check-label {
    text-align: right;
}

/*--------------------------------------------------------------
# Form Switch
--------------------------------------------------------------*/
.form-switch {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.form-switch .form-check-input {
    height: 1.375rem;
    width: 2.25rem;
    flex-shrink: 0;
    transition: background-position 0.2s ease-in-out;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer;
    background-color: #F1F1F4;
    border-color: #EDEDF0 !important;
    filter: none !important;
    color: var(--hx-gray-900) !important;
}

.form-switch .form-check-label {
    cursor: pointer;
    color: var(--hx-gray-900) !important;
}

.form-check-success .form-check-input {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
    transition: background-position .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.form-check-success .form-check-input:checked {
    background-color: var(--hx-green-500) !important;
    border-color: var(--hx-green-500) !important;
}

.form-check-success .form-check-input:checked:focus {
    border-color: var(--hx-green-500) !important;
    box-shadow: 0 0 0 0.25rem rgba(22, 163, 74, 0.25);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.form-check-success .form-check-input:focus:not(:checked) {
    background-color: #f3f4f6;
    border-color: #d1d5db;
    box-shadow: 0 0 0 0.25rem rgba(107, 114, 128, 0.15);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

/*--------------------------------------------------------------
# Vr Scrollbar
--------------------------------------------------------------*/
.hx-scrollbar {
    --hx-scrollbar-track: var(--hx-gray-50);
    --hx-scrollbar-thumb: var(--hx-gray-300);
    --hx-scrollbar-hover: var(--hx-gray-450);

    overflow-y: auto;
    scrollbar-gutter: stable;
    scrollbar-color: var(--hx-scrollbar-thumb) var(--hx-scrollbar-track);
    scrollbar-width: thin;
}

.hx-scrollbar::-webkit-scrollbar {
    width: 6px;
}

.hx-scrollbar::-webkit-scrollbar-track {
    background: var(--hx-scrollbar-track);
}

.hx-scrollbar::-webkit-scrollbar-thumb {
    background: var(--hx-scrollbar-thumb);
    border-radius: 4px;
    border: 2px solid var(--hx-scrollbar-track);
    background-clip: padding-box;
    transition: background-color 0.3s ease;
}

.hx-scrollbar::-webkit-scrollbar-thumb:hover {
    background: var(--hx-scrollbar-hover);
}

[data-bs-theme="dark"] .hx-scrollbar {
    --hx-scrollbar-track: var(--hx-gray-925);
    --hx-scrollbar-thumb: var(--hx-gray-750);
    --hx-scrollbar-hover: var(--hx-gray-650);
}

/*--------------------------------------------------------------
# Top Menu
--------------------------------------------------------------*/
.topbar {
    --tb-bg: var(--hx-theme-color);
    --tb-height: 40px;
    --tb-text: var(--hx-topbar-text-color);
    --tb-text-hover: var(--hx-topbar-text-color-hover);
    --tb-divider: rgba(255, 255, 255, 0.15);
    --tb-font-size: var(--hx-fs-sm);
    --tb-left-menu-gap: 1rem;
    --tb-img-width: 26px;
    --tb-img-height: 26px;
    --tb-dropdown-a-font-size: var(--hx-fs-md);
    --tb-dropdown-a-color: #222;

    background-color: var(--tb-bg);
    height: var(--tb-height);
    color: var(--tb-text);
    font-family: var(--tb-font);
    font-size: var(--tb-font-size);
    font-weight: 400;
    position: relative;
    z-index: 1050;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease;
}

.topbar a {
    color: var(--tb-text);
    text-decoration: none;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.topbar a:hover, .topbar a:active, .topbar a:focus {
    color: var(--tb-text-hover) !important;
}

.topbar .left-menu {
    display: flex;
    align-items: center;
    gap: var(--tb-left-menu-gap);
}

.topbar .dropdown-toggle::after {
    vertical-align: middle;
    font-size: 1em;
    margin-left: 0.3em;
}

.topbar .dropdown-menu {
    font-size: var(--tb-font-size);
    border: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    padding: 0.5rem;
    animation: fadeInDropdown 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.topbar .dropdown-menu-user {
    min-width: 180px;
}

.topbar .dropdown-menu li a {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--tb-dropdown-a-font-size) !important;
    color: var(--hx-gray-700) !important;
    border-radius: 2px;
    padding: .5rem 0.75rem !important;
}

.topbar .dropdown-menu li a .icon {
    width: 24px;
    color: var(--hx-gray-600);
}

.topbar .dropdown-menu li a .icon svg {
    color: var(--hx-gray-600);
}

.topbar .user-avatar-sm {
    width: var(--tb-img-width);
    height: var(--tb-img-height);
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.topbar .theme-toggle-btn {
    width: 17px;
    height: 17px;
}

.topbar .theme-toggle-btn .theme-icon {
    width: 17px;
    height: 17px;
    stroke-width: 2px;
    cursor: pointer;
}

/*--------------------------------------------------------------
# Main menu
--------------------------------------------------------------*/
.js-logo-dark {
    display: none;
}

.js-logo-light {
    display: block;
}

[data-bs-theme="dark"] .js-logo-light {
    display: none;
}

[data-bs-theme="dark"] .js-logo-dark {
    display: block;
}

.mega-menu-wrapper {
    --mn-bg-nav: #ffffff;
    --mn-bg-dropdown: #ffffff;
    --mn-bg-sidebar: #fbfbfb;
    --mn-bg-hover: #ffffff;
    --mn-bg-card: #f0f0f0;
    --mn-bg-input: #fbfbfb;
    --mn-text-main: #111111;
    --mn-text-sub: #555555;
    --mn-text-muted: #aaaaaa;
    --mn-border: var(--hx-gray-125);
    --mn-font-size-nav: var(--hx-fs-main-nav);
    --mn-font-weight-nav: 600;
    --mn-radius-s: 0px;
    --mn-radius-m: 0.125rem;
    --mn-shadow: 0 10px 15px rgba(0, 0, 0, 0.06);
    --mn-navbar-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    --mn-margin-bottom: 1.5rem;
    --mn-min-height: 64px;
    --mn-padding-nav-link: 1.5rem 0.875rem;
    --mn-border-bottom-nav-link: 0;

    background-color: var(--mn-bg-nav);
    border-bottom: 1px solid var(--hx-gray-150);
    position: relative;
    width: 100%;
    margin-bottom: var(--mn-margin-bottom);
}

#sticky-menu-wrapper {
    z-index: 1040;
    min-height: var(--mn-min-height);
}

.mega-menu-wrapper .mn-icon {
    width: 1.125rem;
    height: 1.125rem;
    fill: currentColor;
    display: inline-block;
}

.mega-menu-wrapper .navbar {
    padding: 0;
    position: relative;
    z-index: 100;
    min-height: var(--mn-min-height);
}

.mega-menu-wrapper .navbar-nav .nav-link {
    color: var(--mn-text-main);
    font-weight: var(--mn-font-weight-nav);
    font-size: var(--mn-font-size-nav);
    line-height: 1.5rem;
    padding: var(--mn-padding-nav-link) !important;
    position: relative;
    border-bottom: var(--mn-border-bottom-nav-link);
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.mega-menu-wrapper .dropdown-toggle::after {
    display: none;
}

.mega-menu-wrapper .navbar-brand .logo {
    object-fit: contain !important;
}

.mega-menu-wrapper .search-icon-btn {
    color: var(--mn-text-main);
    font-size: 1.125;
    padding: var(--mn-padding-nav-link);
    cursor: pointer;
    transition: color 0.3s;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
}

.mega-menu-wrapper .search-icon-btn:hover,
.mega-menu-wrapper .search-icon-btn.active {
    color: var(--hx-theme-color);
}

.mega-menu-wrapper .header-search-dropdown {
    position: absolute;
    top: 100%;
    inset-inline-end: 0;
    width: 300px;
    background-color: var(--mn-bg-dropdown);
    box-shadow: var(--mn-shadow);
    border-top: 3px solid var(--hx-theme-color);
    padding: 20px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.mega-menu-wrapper .header-search-dropdown.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.mega-menu-wrapper .search-form-control {
    border: 1px solid var(--mn-border);
    border-radius: var(--mn-radius-m);
    padding: 10px 15px;
    font-size: var(--hx-fs-md);
    height: 42px;
    background-color: var(--mn-bg-input);
    color: var(--mn-text-main);
}

.mega-menu-wrapper .header-search-dropdown .search-form-control:focus {
    box-shadow: none;
    border-color: var(--mn-border);
}

.mega-menu-wrapper .btn-search {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    padding: 0;
    background-color: var(--hx-theme-color) !important;
    color: var(--hx-gray-100);
    border: none;
    border-radius: var(--mn-radius-m);
}

@media (min-width: 992px) {
    .mega-menu-wrapper .has-megamenu {
        position: static;
    }

    .mega-menu-wrapper .megamenu {
        width: 100%;
        inset-inline-start: 0;
        inset-inline-end: 0;
        margin-top: 0;
        border: 1px solid var(--mn-border) !important;
        padding: 0;
        border-radius: 0 !important;
        box-shadow: var(--mn-shadow);
        background: var(--mn-bg-dropdown);
        overflow: hidden;
        display: none;
        opacity: 1;
        visibility: visible;
    }

    .mega-menu-wrapper .has-megamenu:hover .megamenu {
        display: block;
    }

    .mega-menu-wrapper .megamenu-inner {
        padding: 30px;
    }

    .mega-menu-wrapper .nav-item.dropdown:hover > .dropdown-menu {
        display: block;
        animation: none;
        margin-top: 0;
    }
}

.mega-menu-wrapper .standard-dropdown {
    margin-top: 0;
    border-radius: 0;
    border: 1px solid var(--mn-border);
    background-color: var(--mn-bg-dropdown);
    box-shadow: var(--mn-shadow);
    padding: 10px 0;
    min-width: 220px;
}

.mega-menu-wrapper .navbar-nav .dropdown-menu {
    top: 100% !important;
    margin-top: 0 !important;
}

.mega-menu-wrapper .dropdown-item {
    font-size: var(--hx-fs-sm);
    font-weight: 500;
    color: var(--mn-text-sub);
    padding: 0.625rem 1.25rem !important;
    position: relative;
    transition: all 0.2s;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mega-menu-wrapper .dropdown-item:hover {
    color: var(--hx-theme-color);
    background: transparent;
}

.mega-menu-wrapper .dropdown-submenu {
    position: relative;
}

.mega-menu-wrapper .dropdown-submenu > .dropdown-item .submenu-arrow {
    width: 0.8rem;
    height: 0.8rem;
    opacity: 0.5;
}

html[dir="rtl"] .mega-menu-wrapper .dropdown-submenu > .dropdown-item .submenu-arrow {
    transform: scaleX(-1);
}

.mega-menu-wrapper .dropdown-submenu .submenu {
    display: none;
    position: absolute;
    top: 0;
    inset-inline-start: 100%;
    margin-top: -12px;
    min-width: 220px;
    background-color: var(--mn-bg-dropdown);
    border: 1px solid var(--mn-border);
    box-shadow: var(--mn-shadow);
    padding: 10px 0;
    list-style: none;
    max-height: 400px;
}

.mega-menu-wrapper .dropdown-submenu:hover > .submenu {
    display: block;
    animation: none;
}

.mega-menu-wrapper .menu-sidebar-col {
    flex: 0 0 auto;
    height: 290px;
    width: 20%;
    background-color: var(--mn-bg-sidebar);
    padding: 20px 0;
    overflow-x: hidden !important;
}

.mega-menu-wrapper .subcat-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mega-menu-wrapper .subcat-link {
    display: block;
    font-size: var(--hx-fs-sm);
    font-weight: 600;
    color: var(--mn-text-sub);
    text-decoration: none;
    padding: 0.688rem 1.25rem;
    margin-bottom: 0;
    position: relative;
    transition: all 0.2s ease;
    border-radius: var(--nm-radius-s);
    border-width: 1px 0;
    border-style: solid;
    border-color: transparent;
}

.mega-menu-wrapper .subcat-link:hover,
.mega-menu-wrapper .subcat-link.active {
    color: var(--hx-theme-color);
    background-color: var(--mn-bg-hover);
    width: calc(100% + 1px);
    border-color: var(--mn-border);
    z-index: 2;
}

.mega-menu-wrapper .mega-posts-col {
    flex: 0 0 auto;
    width: 80%;
    padding: 30px;
}

.mega-menu-wrapper .mega-posts-container {
    position: relative;
    min-height: 200px;
    transition: opacity 0.3s ease;
}

.mega-menu-wrapper .mega-posts-container.loading-state {
    opacity: 0.4;
    pointer-events: none;
}

@keyframes fadeInUpSoft {
    0% {
        opacity: 0;
        transform: translateY(15px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.mega-menu-wrapper .animate-fade {
    animation: fadeInUpSoft 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.mega-menu-wrapper .menu-post-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

.mega-menu-wrapper .menu-post-img-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: var(--nm-radius-m);
    margin-bottom: 12px;
    background-color: var(--nm-bg-card);
}

.mega-menu-wrapper .menu-post-img-wrapper .ratio {
    aspect-ratio: 450 / 280;
}

.mega-menu-wrapper .menu-post-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.mega-menu-wrapper .menu-post-card:hover .menu-post-img {
    transform: scale(1.05);
}

.mega-menu-wrapper .menu-post-title {
    font-size: var(--hx-fs-sm);
    font-weight: 600;
    line-height: 1.4;
    color: var(--mn-text-main);
    margin-bottom: 5px;
    transition: color 0.2s;
}

.mega-menu-wrapper .menu-post-card:hover .menu-post-title {
    color: var(--hx-theme-color);
}

.mega-menu-wrapper.nav-shrink {
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.07);
    background-color: rgba(255, 255, 255, 0.96);
}

.mega-menu-wrapper .nav-shrink-transition {
    transition: all 0.3s ease-in-out;
}

.mega-menu-wrapper .minimal-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    display: none;
}

.mega-menu-wrapper .spinner-ring {
    width: 30px;
    height: 30px;
    border: 2px solid rgba(128, 128, 128, 0.2);
    border-inline-start-color: var(--hx-theme-color);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/*--------------------------------------------------------------
# Mobile Menu
--------------------------------------------------------------*/
.mobile-nav-wrapper {
    --header-height: 4.125rem;
    --bg-body: var(--hx-gray-50);
    --bg-surface: var(--hx-gray-25);
    --bg-subtle: var(--hx-gray-100);
    --bg-element: var(--hx-gray-200);
    --bg-input: var(--hx-gray-100);
    --text-main: var(--hx-gray-900);
    --text-muted: var(--hx-gray-500);
    --border-color: var(--hx-gray-200);
    --menu-color: var(--hx-theme-color);
    --menu-bg-subtle: color-mix(in srgb, var(--menu-color), transparent 92%);
    --menu-border-subtle: color-mix(in srgb, var(--menu-color), transparent 85%);
    --icon-box-bg: var(--hx-gray-50);
    --icon-box-border: var(--hx-gray-200);
    --icon-box-color: var(--hx-gray-700);
    --icon-box-active-bg: var(--menu-bg-subtle);
    --icon-box-active-color: var(--menu-color);
    --sub-menu-link-color: var(--hx-gray-700);
    color: var(--text-main);
}

html[data-bs-theme="dark"] .mobile-nav-wrapper {
    --bg-body: var(--hx-gray-925);
    --bg-surface: var(--hx-gray-925);
    --bg-subtle: var(--hx-gray-875);
    --bg-input: var(--hx-gray-900);
    --border-color: var(--hx-gray-800);
    --bg-element: var(--hx-gray-800);
    --text-main: var(--hx-gray-50);
    --text-muted: var(--hx-gray-400);
    --icon-box-bg: transparent;
    --icon-box-border: var(--hx-gray-700);
    --icon-box-color: var(--hx-gray-300);
    --sub-menu-link-color: var(--hx-gray-300);
}

.mobile-nav-wrapper .mobile-header {
    height: var(--header-height);
    background-color: var(--bg-surface);
    border-bottom: 1px solid var(--border-color);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0.5rem;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.mobile-nav-wrapper .mobile-header-spacer {
    height: var(--header-height);
    width: 100%;
    display: block;
    margin-bottom: 1.25rem;
}

.mobile-nav-wrapper .header-btn {
    background: transparent;
    border: none;
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-main);
    border-radius: 50%;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

.mobile-nav-wrapper .header-logo img {
    height: 3rem;
    width: auto;
    max-width: 12.5rem;
    max-height: 3rem;
    object-fit: contain;
}

.mobile-nav-wrapper .search-overlay {
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    background-color: var(--bg-surface);
    padding: 1rem;
    border-bottom: 1px solid var(--border-color);
    z-index: 1030;
    transform: translateY(-150%);
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 0 0.625rem 1.875rem -0.625rem rgba(0, 0, 0, 0.1);
}

.mobile-nav-wrapper .search-overlay.active {
    transform: translateY(0);
}

.mobile-nav-wrapper .search-input-group {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.mobile-nav-wrapper .search-input-group input {
    width: 100%;
    padding: 0.875rem 3rem 0.875rem 1.25rem;
    border-radius: 0.875rem;
    border: 1px solid var(--border-color);
    background-color: var(--bg-input);
    color: var(--text-main);
    font-size: 1rem;
    transition: all 0.2s;
}

.mobile-nav-wrapper .search-input-group input:focus {
    outline: none;
    background-color: var(--bg-surface);
    border-color: var(--menu-color);
    box-shadow: 0 0 0 0.25rem var(--menu-bg-subtle);
}

.mobile-nav-wrapper .search-submit-btn {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: var(--menu-color);
    padding: 0.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    transition: background 0.2s;
}

.mobile-nav-wrapper .search-submit-btn:hover {
    background-color: var(--menu-bg-subtle);
}

.mobile-nav-wrapper .custom-offcanvas {
    background-color: var(--bg-surface);
    color: var(--text-main);
    border-right: 1px solid var(--border-color);
    width: 20rem;
    max-width: 85vw;
}

.mobile-nav-wrapper .offcanvas-header {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
    align-items: center;
}

.mobile-nav-wrapper .offcanvas-logo img {
    height: 2.5rem;
    width: auto;
    max-width: 10rem;
    max-height: 2.5rem;
    object-fit: contain;
}

.mobile-nav-wrapper .offcanvas-header .btn-close {
    background: none !important;
    margin-bottom: 0 !important;
    width: 20px;
    height: 20px;
}

.mobile-nav-wrapper .offcanvas-header .btn-close:focus {
    box-shadow: none !important;
}

.mobile-nav-wrapper .user-section {
    padding: 1.5rem 1rem 1.25rem 1rem;
    border-bottom: 1px solid var(--border-color);
}

.mobile-nav-wrapper .user-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    padding: 0 .5rem;
}

.mobile-nav-wrapper .menu-avatar {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    object-fit: cover;
    border: 0.125rem solid var(--bg-surface);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
}

.mobile-nav-wrapper .user-details h6 {
    margin: 0;
    font-weight: 700;
    font-size: 1.0625rem;
    letter-spacing: -0.01875rem;
    color: var(--text-main);
}

.mobile-nav-wrapper .user-details span {
    font-size: var(--hx-fs-sm);
    color: var(--text-muted);
}

.mobile-nav-wrapper .user-actions-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem 0.75rem;
    padding-bottom: .5rem;
}

.mobile-nav-wrapper .action-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    color: var(--text-muted);
    gap: 0.625rem;
    transition: transform 0.1s ease;
    text-align: center;
    -webkit-tap-highlight-color: transparent;
}

.mobile-nav-wrapper .action-icon-box {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1rem;
    background-color: var(--icon-box-bg);
    border: 1px solid var(--icon-box-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--icon-box-color);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
    transition: all 0.2s ease;
}

.mobile-nav-wrapper .action-icon-box svg {
    width: 1.5rem;
    height: 1.5rem;
}

.mobile-nav-wrapper .action-item:active {
    transform: scale(0.96);
}

.mobile-nav-wrapper .action-item:active .action-icon-box,
.mobile-nav-wrapper .action-item:hover .action-icon-box,
.mobile-nav-wrapper .action-item:focus .action-icon-box {
    background-color: var(--icon-box-active-bg);
    color: var(--icon-box-active-color);
    border-color: var(--icon-box-active-color);
}

.mobile-nav-wrapper .action-item:active span,
.mobile-nav-wrapper .action-item:hover span,
.mobile-nav-wrapper .action-item:focus span {
    color: var(--primary-color);
}

.mobile-nav-wrapper .action-item span {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    display: block;
    width: 100%;
    letter-spacing: -0.01em;
    transition: color 0.2s;
    color: var(--text-main);
}

.mobile-nav-wrapper .guest-section {
    padding: 2.5rem 1.5rem 2rem 1.5rem;
    border-bottom: 1px solid var(--border-color);
    text-align: center;
}

.mobile-nav-wrapper .guest-title {
    font-weight: 800;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    color: var(--text-main);
    letter-spacing: -0.02em;
}

.mobile-nav-wrapper .guest-subtitle {
    font-size: 0.9375rem;
    color: var(--text-muted);
    margin-bottom: 1.5rem;
    display: block;
    line-height: 1.5;
    font-weight: 400;
}

.mobile-nav-wrapper .auth-buttons-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.mobile-nav-wrapper .auth-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    border-radius: 0.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    transition: all 0.2s;
}

.mobile-nav-wrapper .auth-btn-primary {
    background-color: var(--menu-color);
    color: var(--hx-color-white) !important;
    border: 1px solid var(--menu-color);
}

.mobile-nav-wrapper .auth-btn-outline {
    background-color: transparent;
    color: var(--text-main) !important;
    border: 1px solid var(--border-color);
}

.mobile-nav-wrapper .menu-nav {
    padding: 0.75rem 0;
    list-style: none;
    margin: 0;
}

.mobile-nav-wrapper .menu-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.5rem;
    color: var(--text-main);
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.2s;
    cursor: pointer;
}

.mobile-nav-wrapper .menu-link:hover {
    color: var(--menu-color);
}

.mobile-nav-wrapper .menu-link.active {
    color: var(--menu-color);
    font-weight: 700;
}

.mobile-nav-wrapper .menu-link .dropdown-arrow {
    transition: transform 0.3s ease;
}

.mobile-nav-wrapper .menu-link[aria-expanded="true"] {
    color: var(--menu-color);
}

.mobile-nav-wrapper .menu-link[aria-expanded="true"] .dropdown-arrow {
    transform: rotate(90deg);
}

.mobile-nav-wrapper .sub-menu-nav {
    list-style: none;
    margin: 0;
    padding: 0 0 0.5rem 0;
    background-color: rgba(0, 0, 0, 0.015);
}

html[data-bs-theme="dark"] .mobile-nav-wrapper .sub-menu-nav {
    background-color: rgba(255, 255, 255, 0.015);
}

.mobile-nav-wrapper .sub-menu-link {
    display: block;
    padding: 0.625rem 1.5rem 0.625rem 2.5rem;
    font-size: 0.9375rem;
    color: var(--sub-menu-link-color);
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s;
}

.mobile-nav-wrapper .sub-menu-link:hover {
    color: var(--menu-color);
    background-color: var(--bg-subtle);
}

.mobile-nav-wrapper .menu-footer {
    margin-top: auto;
    padding: 1.5rem;
    border-top: 1px solid var(--border-color);
}

.mobile-nav-wrapper .settings-label {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05rem;
    margin-bottom: 0.75rem;
    display: block;
}

.mobile-nav-wrapper .lang-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.mobile-nav-wrapper .lang-chip {
    flex: 0 0 auto;
    border: 1px solid var(--border-color);
    background: transparent;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.5rem 0.875rem;
    border-radius: 0.625rem;
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.2s;
}

.mobile-nav-wrapper .lang-chip.active {
    background-color: var(--menu-color);
    color: var(--hx-color-white);
    border-color: var(--menu-color);
    box-shadow: 0 0.25rem 0.625rem color-mix(in srgb, var(--menu-color), transparent 70%);
}

.mobile-nav-wrapper .lang-chip:hover:not(.active) {
    border-color: var(--text-muted);
    background-color: var(--bg-subtle);
}

.mobile-nav-wrapper .theme-btn-container {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    background: var(--bg-subtle);
    border: none;
    border-radius: 0.75rem;
    color: var(--text-main);
    font-weight: 600;
    font-size: 0.875rem;
    margin-bottom: 0.625rem;
}

.mobile-nav-wrapper .theme-switcher {
    position: relative;
    display: inline-block;
    width: 2.75rem;
    height: 1.375rem;
    margin-bottom: 0;
    vertical-align: middle;
}

.mobile-nav-wrapper .theme-switcher input {
    opacity: 0;
    width: 0;
    height: 0;
}

.mobile-nav-wrapper .theme-switcher .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--hx-gray-300);
    border: 1px solid transparent;
    border-radius: 1.25rem;
    transition: .3s;
}

html[data-bs-theme="dark"] .mobile-nav-wrapper .theme-switcher .slider {
    background-color: var(--hx-gray-600);
}

.mobile-nav-wrapper .theme-switcher .slider:before {
    position: absolute;
    content: "";
    height: 1rem;
    width: 1rem;
    left: 0.125rem;
    bottom: 0.125rem;
    background-color: #fff;
    border-radius: 50%;
    transition: .3s;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 0.625rem 0.625rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 20v2'/%3E%3Cpath d='m4.93 4.93 1.41 1.41'/%3E%3Cpath d='m17.66 17.66 1.41 1.41'/%3E%3Cpath d='M2 12h2'/%3E%3Cpath d='M20 12h2'/%3E%3Cpath d='m6.34 17.66-1.41 1.41'/%3E%3Cpath d='m19.07 4.93-1.41 1.41'/%3E%3C/svg%3E");
    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.2);
}

.mobile-nav-wrapper .theme-switcher input:checked + .slider {
    background-color: var(--menu-bg-subtle);
    border-color: var(--menu-color);
}

.mobile-nav-wrapper .theme-switcher input:checked + .slider:before {
    transform: translateX(1.375rem);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E");
}

.mobile-nav-wrapper .logout-btn {
    margin-top: 0.625rem;
    color: var(--hx-gray-700);
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 0;
    border-radius: 0.5rem;
    transition: all 0.2s;
}

.mobile-nav-wrapper .logout-btn:hover {
    color: #dc3545;
    background-color: rgba(220, 53, 69, 0.05);
}

.mobile-nav-wrapper .d-none {
    display: none !important;
}

.mobile-nav-wrapper .icon-close {
    fill: var(--text-main);
}

html[dir="rtl"] .mobile-nav-wrapper .search-input-group input {
    padding: 0.875rem 1.25rem 0.875rem 3rem;
}

html[dir="rtl"] .mobile-nav-wrapper .search-submit-btn {
    right: auto;
    left: 0.5rem;
}

html[dir="rtl"] .mobile-nav-wrapper .custom-offcanvas {
    border-right: none;
    border-left: 1px solid var(--border-color);
}

html[dir="rtl"] .mobile-nav-wrapper .menu-link .dropdown-arrow {
    transform: scaleX(-1);
}

html[dir="rtl"] .mobile-nav-wrapper .menu-link[aria-expanded="true"] .dropdown-arrow {
    transform: scaleX(-1) rotate(90deg);
}

html[dir="rtl"] .mobile-nav-wrapper .sub-menu-link {
    padding: 0.625rem 2.5rem 0.625rem 1.5rem;
}

.btn-nav-subscribe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.438rem 1rem;
    height: 36px;
    background-color: var(--hx-subscribe-button-color) !important;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 8px;
    border: 1px solid var(--hx-subscribe-button-color) !important;
    transition: all 0.25s ease-in-out;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}

.btn-nav-subscribe:hover,
.btn-nav-subscribe:active,
.btn-nav-subscribe:focus {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-1px);
    color: #ffffff !important;
}

.btn-nav-subscribe:active {
    transform: translateY(0);
}

.btn-nav-subscribe-mobile {
    width: 100%;
    padding: 0.75rem 1rem;
    height: auto;
}

/*--------------------------------------------------------------
# Premium Membership
--------------------------------------------------------------*/
.pricing-section {
    --primary-color: var(--hx-theme-color);
    --primary-hover: color-mix(in srgb, var(--primary-color) 80%, black);
    --bg-color: var(--hx-gray-50);
    --bg-gradient: radial-gradient(circle at top center, #ffffff, var(--hx-gray-50) 80%);
    --text-main: var(--hx-gray-900);
    --text-muted: var(--hx-gray-500);
    --text-desc: var(--hx-gray-500);
    --border-color: var(--hx-gray-200);
    --card-bg-gradient: linear-gradient(145deg, #ffffff 0%, var(--hx-gray-25) 100%);
    --card-feat-bg-gradient: linear-gradient(145deg, #ffffff 0%, color-mix(in srgb, var(--primary-color) 4%, #ffffff) 100%);
    --card-shadow: 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.02), 0 0.375rem 0.75rem -0.125rem rgba(0, 0, 0, 0.04);
    --card-highlight: inset 0 0.0625rem 0 rgba(255, 255, 255, 1);
    --divider-bg: linear-gradient(90deg, transparent, var(--hx-gray-225) 15%, var(--hx-gray-225) 85%, transparent);
    --btn-outline-bg: #ffffff;
    --btn-outline-shadow: 0 0.0625rem 0.125rem 0 rgba(0, 0, 0, 0.02);
    --icon-disabled-bg: var(--hx-gray-50);
    --feature-disabled-text: var(--hx-gray-400);
    --feature-disabled-icon: var(--hx-gray-300);
    max-width: 1150px;
    margin-bottom: 10rem;
}

[data-bs-theme="dark"] .pricing-section {
    --bg-color: var(--hx-body-bg);
    --bg-gradient: radial-gradient(circle at top center, var(--hx-body-secondary-bg), var(--hx-body-bg) 80%);
    --text-main: var(--hx-text-main);
    --text-muted: var(--hx-text-main-secondary);
    --text-desc: var(--hx-text-muted);
    --border-color: var(--hx-border-color);
    --card-bg-gradient: linear-gradient(145deg, var(--hx-body-secondary-bg) 0%, var(--hx-body-bg) 100%);
    --card-feat-bg-gradient: linear-gradient(145deg, var(--hx-body-secondary-bg) 0%, color-mix(in srgb, var(--primary-color) 6%, transparent) 100%);
    --card-shadow: 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.15), 0 0.375rem 0.75rem -0.125rem rgba(0, 0, 0, 0.3);
    --card-highlight: inset 0 0.0625rem 0 rgba(255, 255, 255, 0.03);
    --divider-bg: linear-gradient(90deg, transparent, var(--hx-border-color) 15%, var(--hx-border-color) 85%, transparent);
    --btn-outline-bg: transparent;
    --btn-outline-shadow: none;
    --icon-disabled-bg: var(--hx-body-active-bg);
    --feature-disabled-text: var(--hx-text-faint);
    --feature-disabled-icon: var(--hx-text-subtle);
}

.pricing-section .pricing-header {
    margin-bottom: 5rem;
}

.pricing-section .pricing-header h1 {
    font-size: 2.375rem;
    letter-spacing: -0.03em;
    color: var(--text-main);
    transition: color 0.3s ease;
}

.pricing-section .pricing-header p {
    color: var(--text-desc);
    font-size: var(--hx-fs-xl);
    line-height: var(--hx-lh-xl);
    transition: color 0.3s ease;
}

.pricing-section .row-pricing-cards {
    --bs-gutter-x: 2.5rem;
    --bs-gutter-y: 2.5rem;
}

.pricing-section .pricing-card {
    background: var(--card-bg-gradient);
    border: 0.0625rem solid var(--border-color);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: var(--card-shadow), var(--card-highlight);
    border-radius: 0.75rem;
}

.pricing-section .pricing-card:hover {
    transform: translateY(-0.25rem);
    border-color: var(--primary-color);
    box-shadow: 0 0.75rem 1.5rem -0.25rem color-mix(in srgb, var(--primary-color) 10%, transparent),
    0 0.25rem 0.5rem -0.125rem color-mix(in srgb, var(--primary-color) 5%, transparent),
    var(--card-highlight);
}

.pricing-section .pricing-card.featured {
    border: 0.125rem solid var(--primary-color);
    transform: scale(1.03);
    z-index: 2;
}

.pricing-section .pricing-card.featured:hover {
    transform: translateY(-0.25rem) scale(1.03);
    box-shadow: 0 1rem 2rem -0.5rem color-mix(in srgb, var(--primary-color) 15%, transparent), var(--card-highlight);
}

@keyframes pulse-badge {
    0% {
        box-shadow: 0 0 0 0 color-mix(in srgb, var(--primary-color) 40%, transparent);
    }
    70% {
        box-shadow: 0 0 0 4px transparent;
    }
    100% {
        box-shadow: 0 0 0 0 transparent;
    }
}

.pricing-section .custom-badge {
    background: var(--primary-color);
    color: #ffffff;
    font-size: 0.75rem;
    box-shadow: 0 0.125rem 0.375rem color-mix(in srgb, var(--primary-color) 30%, transparent);
    z-index: 10;
    animation: pulse-badge 2s infinite;
}

.pricing-section .plan-name {
    font-size: 1.35rem;
    letter-spacing: -0.01em;
    color: var(--text-main);
    transition: color 0.3s ease;
}

.pricing-section .featured .plan-name {
    color: var(--primary-color);
}

.pricing-section .plan-desc {
    color: var(--text-desc);
    min-height: 2.625rem;
    transition: color 0.3s ease;
}

.pricing-section .plan-price {
    font-size: 2.625rem;
    color: var(--text-main);
    letter-spacing: -0.03em;
    transition: color 0.3s ease;
}

.pricing-section .plan-price .price-period-suffix {
    font-size: 1rem;
    color: var(--text-muted);
    transition: color 0.3s ease;
}

.pricing-section .custom-divider {
    height: 0.0625rem;
    background: var(--divider-bg);
}

.pricing-section .featured .custom-divider {
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--primary-color) 20%, transparent) 15%, color-mix(in srgb, var(--primary-color) 20%, transparent) 85%, transparent);
}

.pricing-section .feature-item {
    color: var(--text-muted);
    transition: color 0.2s ease;
    font-size: 0.95rem;
}

.pricing-section .icon-wrapper {
    width: 1.625rem;
    height: 1.625rem;
    margin-top: -0.0625rem;
    transition: all 0.3s ease;
    background: color-mix(in srgb, var(--primary-color) 12%, transparent);
    color: var(--primary-color);
}

.pricing-section .feature-item:hover .icon-wrapper {
    transform: scale(1.1);
    background: color-mix(in srgb, var(--primary-color) 20%, transparent);
}

.pricing-section .feature-item svg {
    width: 0.875rem;
    height: 0.875rem;
}

.pricing-section .feature-item.disabled {
    color: var(--feature-disabled-text);
}

.pricing-section .feature-item.disabled .icon-wrapper {
    background: var(--icon-disabled-bg);
    border: 0.0625rem solid var(--border-color);
    color: var(--feature-disabled-icon);
}

.pricing-section .btn-plan {
    padding: 0.875rem 1.5rem !important;
    font-size: 1rem;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.pricing-section .btn-plan:active {
    transform: scale(0.97) translateY(-0.125rem) !important;
}

.pricing-section .btn-plan:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

.pricing-section .btn-primary-custom {
    background: var(--primary-color);
    color: #fff !important;
    box-shadow: 0 0.125rem 0.25rem -0.0625rem color-mix(in srgb, var(--primary-color) 25%, transparent), inset 0 0.0625rem 0 rgba(255, 255, 255, 0.15);
    border: 1px solid transparent;
}

.pricing-section .btn-primary-custom:hover {
    background: var(--primary-hover);
    box-shadow: 0 0.375rem 0.75rem -0.125rem color-mix(in srgb, var(--primary-color) 30%, transparent);
    transform: translateY(-0.125rem);
}

.pricing-section .btn-outline-custom {
    background: var(--btn-outline-bg);
    border: 0.0625rem solid var(--border-color);
    color: var(--text-main) !important;
    box-shadow: var(--btn-outline-shadow);
}

.pricing-section .btn-outline-custom:hover,
.pricing-section .btn-outline-custom:focus,
.pricing-section .btn-outline-custom:active {
    border-color: var(--primary-color);
    color: var(--primary-color) !important;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.5rem color-mix(in srgb, var(--primary-color) 10%, transparent);
}

html[dir="rtl"] .pricing-section .icon-wrapper {
    margin-right: 0 !important;
    margin-left: 0.875rem !important;
}

@media (max-width: 1024px) {
    .pricing-section .pricing-card.featured {
        transform: none;
    }

    .pricing-section .pricing-card.featured:hover {
        transform: translateY(-0.25rem);
    }
}

/*--------------------------------------------------------------
# Subcategories Nav
--------------------------------------------------------------*/
.subcategories-wrapper {
    width: 100%;
    --subcat-bg: var(--hx-gray-75);
    --subcat-border: var(--hx-gray-150);
    --subcat-text: var(--hx-gray-800);
    --subcat-text-hover: var(--hx-gray-900);
    --subcat-hover-bg: var(--hx-gray-50);
    --subcat-active-bg: var(--hx-theme-color);
    --subcat-active-text: #ffffff;
    --subcat-shadow: rgba(0, 0, 0, 0.04);
    --subcat-active-shadow: rgba(0, 0, 0, 0.15);
}

[data-bs-theme="dark"] .subcategories-wrapper {
    --subcat-bg: var(--hx-body-secondary-bg);
    --subcat-border: var(--hx-border-color);
    --subcat-text: var(--hx-gray-300);
    --subcat-text-hover: var(--hx-gray-50);
    --subcat-hover-bg: var(--hx-body-active-bg);
    --subcat-shadow: rgba(0, 0, 0, 0.2);
    --subcat-active-shadow: rgba(0, 0, 0, 0.4);
}

.subcategories-wrapper .subcategories-mobile-toggle {
    background-color: var(--subcat-bg);
    color: var(--subcat-text-hover);
    border: 1px solid var(--subcat-border);
    border-radius: 10px;
    padding: 0.75rem 0.5rem;
    font-size: 0.95rem;
    box-shadow: 0 2px 8px var(--subcat-shadow);
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.subcategories-wrapper .subcategories-mobile-toggle:hover,
.subcategories-wrapper .subcategories-mobile-toggle:focus,
.subcategories-wrapper .subcategories-mobile-toggle:active {
    background-color: var(--subcat-hover-bg) !important;
    color: var(--subcat-text-hover) !important;
    border-color: var(--subcat-border) !important;
    box-shadow: 0 4px 12px var(--subcat-shadow);
}

.subcategories-wrapper .subcategories-mobile-toggle .chevron-icon {
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.subcategories-wrapper .subcategories-mobile-toggle[aria-expanded="true"] .chevron-icon {
    transform: rotate(180deg);
}

.subcategories-wrapper .subcategories-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    padding-bottom: 0.5rem;
}

.subcategories-wrapper .subcategory-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 0.5rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.2px;
    color: var(--subcat-text);
    background-color: var(--subcat-bg);
    border: 1px solid var(--subcat-border);
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.subcategories-wrapper .subcategory-pill:hover {
    color: var(--subcat-text-hover);
    border-color: var(--subcat-border);
    background-color: var(--subcat-hover-bg);
    box-shadow: 0 4px 12px var(--subcat-shadow);
}

[dir="rtl"] .subcategories-wrapper .subcategory-pill svg.back-icon {
    transform: scaleX(-1);
}

@media (max-width: 768px) {
    .subcategories-wrapper .subcategories-container {
        padding: 1rem;
    }

    .subcategories-wrapper .single-back-button .subcategories-container {
        padding: 0 !important;
    }
}

.subcategories-wrapper .subcategory-swiper {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.subcategories-wrapper .subcategory-swiper.swiper-initialized {
    opacity: 1;
    visibility: visible;
}

.subcategories-wrapper .subcategory-swiper:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
}

.subcategories-wrapper .subcategory-swiper:not(.swiper-initialized) .swiper-slide {
    width: max-content;
}

/*--------------------------------------------------------------
# News Ticker
--------------------------------------------------------------*/
.section-newsticker {
    margin-bottom: 1.25rem !important;
}

.newsticker-wrapper {
    height: 2rem;
}

.newsticker-wrapper .ticker-label {
    background-color: var(--hx-block-color);
    font-size: var(--hx-fs-sm);
    font-weight: 400;
    padding: 0.375rem 0.625rem;
    border-radius: 0.125rem;
    min-height: 32px;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.newsticker-wrapper .news-list {
    position: relative;
    top: 0;
}

.newsticker-wrapper .news-item {
    height: 2rem;
    display: flex;
    align-items: center;
    font-weight: 600;
}

.nav-sm-buttons {
    display: flex;
    align-items: center;
    width: auto;
    position: relative;
    gap: 0.375rem;
}

.nav-sm-buttons button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    padding: 0;
    margin: 0;
    color: var(--hx-text-muted);
    border: 1px solid var(--hx-text-faint);
    font-size: var(--hx-fs-xs);
    line-height: var(--hx-lh-xs);
    background-color: transparent !important;
    position: relative;
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    border-radius: 0.125rem;
}

.nav-sm-buttons button i {
    height: 0.75rem;
    width: 0.75rem;
}

.nav-sm-buttons button:hover {
    color: var(--hx-theme-color) !important;
    border-color: var(--hx-theme-color) !important;
}

/*--------------------------------------------------------------
# Add Post Modal
--------------------------------------------------------------*/
.modal-genocost.post-format-modal {
    --pf-modal-bg: #ffffff;
    --pf-modal-shadow: 0 2.5rem 5rem -1.25rem rgba(0, 0, 0, 0.2);
    --pf-header-bg: #ffffff;
    --pf-text-title: var(--hx-gray-900);
    --pf-text-subtitle: var(--hx-gray-500);
    --pf-close-bg: var(--hx-gray-50);
    --pf-close-hover-bg: var(--hx-gray-100);
    --pf-card-bg: #ffffff;
    --pf-card-border: var(--hx-gray-100);
    --pf-card-shadow: 0 0.25rem 0.375rem -0.25rem rgba(0, 0, 0, 0.05);
    --pf-icon-box-bg: color-mix(in srgb, var(--hx-theme-color), transparent 92%);
    --pf-icon-color: var(--hx-theme-color);
    --pf-scroll-thumb: var(--hx-gray-200);
    --pf-scroll-thumb-hover: var(--hx-gray-300);
    --pf-card-radius: 1rem;
    --pf-modal-radius: 1.5rem;
    --pf-transition: cubic-bezier(0.34, 1.56, 0.64, 1);
}

[data-bs-theme="dark"] .modal-genocost.post-format-modal {
    --pf-modal-bg: var(--hx-gray-900);
    --pf-modal-shadow: 0 2.5rem 5rem -1.25rem rgba(0, 0, 0, 0.5);
    --pf-header-bg: var(--hx-gray-900);
    --pf-text-title: var(--hx-gray-50);
    --pf-text-subtitle: var(--hx-gray-400);
    --pf-close-bg: var(--hx-gray-800);
    --pf-close-hover-bg: var(--hx-gray-700);
    --pf-card-bg: var(--hx-gray-900);
    --pf-card-border: var(--hx-gray-800);
    --pf-card-shadow: none;
    --pf-icon-box-bg: color-mix(in srgb, var(--hx-theme-color), transparent 85%);
    --pf-scroll-thumb: var(--hx-gray-700);
    --pf-scroll-thumb-hover: var(--hx-gray-600);
}

.post-format-modal .modal-content {
    border: none;
    border-radius: var(--pf-modal-radius);
    box-shadow: var(--pf-modal-shadow);
    background-color: var(--pf-modal-bg);
    overflow: hidden;
}

.post-format-modal .modal-header {
    border-bottom: none;
    padding: 2.5rem 2.5rem 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: var(--pf-header-bg);
    flex-shrink: 0;
}

.post-format-modal .btn-close {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    margin: 0;
    background-color: var(--pf-close-bg);
    border-radius: 50%;
    opacity: 1;
    background-size: 0.875rem;
    background-position: center;
    transition: all 0.2s ease;
    z-index: 10;
    box-shadow: none;
}

.post-format-modal .btn-close:hover {
    background-color: var(--pf-close-hover-bg);
    transform: rotate(90deg);
    opacity: 1;
}

.post-format-modal .btn-close:focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--hx-theme-color-rgb), 0.25);
}

html[dir="rtl"] .post-format-modal .btn-close {
    right: auto;
    left: 1.5rem;
}

.post-format-modal .modal-title {
    font-weight: 700;
    color: var(--pf-text-title);
    font-size: var(--hx-fs-title-2xl);
    line-height: var(--hx-lh-title-2xl);
    margin-bottom: 0.375rem;
    letter-spacing: -0.03em;
    word-break: break-word;
}

.post-format-modal .modal-subtitle {
    color: var(--pf-text-subtitle);
    font-weight: 400;
    max-width: 37.5rem;
    text-align: center;
    word-break: break-word;
}

.post-format-modal .modal-body {
    padding: 1rem 2.5rem 2.5rem;
    background-color: var(--pf-modal-bg);
}

.post-format-modal .modal-body::-webkit-scrollbar {
    width: 0.5rem;
}

.post-format-modal .modal-body::-webkit-scrollbar-track {
    background: transparent;
}

.post-format-modal .modal-body::-webkit-scrollbar-thumb {
    background-color: var(--pf-scroll-thumb);
    border-radius: 0.625rem;
    border: 0.125rem solid transparent;
    background-clip: content-box;
}

.post-format-modal .modal-body::-webkit-scrollbar-thumb:hover {
    background-color: var(--pf-scroll-thumb-hover);
}

html[dir="rtl"] .post-format-modal .modal-body {
    direction: rtl;
}

.post-format-modal .format-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background-color: var(--pf-card-bg);
    padding: 1.5rem 1rem;
    border: 1px solid var(--pf-card-border);
    box-shadow: var(--pf-card-shadow);
    border-radius: var(--pf-card-radius);
    text-decoration: none !important;
    transition: all 0.4s var(--pf-transition);
    height: 100%;
    position: relative;
}

.post-format-modal .format-card .icon-wrapper {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--pf-icon-box-bg);
    color: var(--pf-icon-color);
    border-radius: 1.25rem;
    margin-bottom: 1rem;
}

.post-format-modal .format-card .icon-wrapper svg {
    width: 1.75rem;
    height: 1.75rem;
}

.post-format-modal .format-card .card-title {
    color: var(--pf-text-title);
    font-weight: 600;
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    margin-bottom: 0.375rem;
    transition: color 0.3s;
    word-break: break-word;
}

.post-format-modal .format-card .card-desc {
    color: var(--pf-text-subtitle);
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
    margin: 0;
    opacity: 0.9;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.post-format-modal .format-card:hover {
    border-color: transparent;
    transform: translateY(-0.375rem);
    box-shadow: 0 1rem 2rem -0.5rem color-mix(in srgb, var(--hx-theme-color), transparent 75%);
}

.post-format-modal .format-card:hover .icon-wrapper {
    background-color: var(--hx-theme-color);
    color: #ffffff;
    transform: scale(1.1);
    box-shadow: 0 0.5rem 1rem -0.25rem color-mix(in srgb, var(--hx-theme-color), transparent 70%);
}

.post-format-modal .format-card:hover .card-title {
    color: var(--hx-theme-color);
}

/*--------------------------------------------------------------
# Auth
--------------------------------------------------------------*/
.auth-module-container, #loginModal .auth-card {
    --auth-bg: #ffffff;
    --auth-input-bg: #f9fafb;
    --auth-input-border: #e5e7eb;
    --auth-border-color: #edf1f5;
    --auth-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    --auth-social-bg: #ffffff;
    --auth-social-border: #e5e7eb;
    --auth-social-hover-bg: #f9fafb;

    width: 100%;
    box-sizing: border-box;
}

[data-bs-theme="dark"] .auth-module-container, [data-bs-theme="dark"] #loginModal .auth-card {
    --auth-bg: var(--hx-gray-900);
    --auth-input-bg: var(--hx-gray-925);
    --auth-input-border: var(--hx-gray-850);
    --auth-border-color: var(--hx-gray-850);
    --auth-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
    --auth-social-bg: var(--hx-gray-900);
    --auth-social-border: var(--hx-gray-850);
    --auth-social-hover-bg: var(--hx-gray-875);
}

.auth-module-container .auth-card, #loginModal .auth-card {
    background: var(--auth-bg);
    border: 1px solid var(--auth-border-color);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--auth-shadow);
    padding: 2.5rem;
    width: 100%;
    position: relative;
    overflow: hidden;
    transition: background-color 0.3s, border-color 0.3s;
}

.auth-module-container {
    padding-top: 4rem;
    display: flex;
    justify-content: center;
}

.auth-module-container .auth-card {
    max-width: 480px;
}

.auth-module-container .auth-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--hx-theme-color), color-mix(in srgb, var(--hx-theme-color), white 30%));
    z-index: 2;
}

.auth-title {
    font-weight: 800;
    color: var(--hx-gray-900);
    margin-bottom: 0.5rem;
    letter-spacing: -0.5px;
    font-size: var(--hx-fs-title-3xl);
    line-height: var(--hx-lh-title-3xl);
}

[data-bs-theme="dark"] .auth-title {
    color: var(--hx-text-main);
}

.auth-subtitle {
    color: var(--hx-gray-500);
    font-size: var(--hx-fs-base);
    margin-bottom: 2rem;
}

[data-bs-theme="dark"] .auth-subtitle {
    color: var(--hx-text-muted);
}

.auth-card .form-floating {
    min-height: auto;
}

.auth-card .form-control {
    border: 1px solid var(--auth-input-border);
    background-color: var(--auth-input-bg);
    border-radius: var(--border-radius);
    font-size: var(--hx-fs-base);
    line-height: 1.25;
    height: 50px;
    min-height: 50px;
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    transition: all 0.2s ease;
    color: var(--hx-gray-900);
}

[data-bs-theme="dark"] .auth-card .form-control {
    color: var(--hx-text-main);
}

.auth-card .form-control::placeholder {
    color: transparent;
}

.auth-card .form-control:focus {
    background-color: var(--auth-bg);
    border-color: var(--hx-theme-color);
    box-shadow: 0 0 0 3px rgba(45, 101, 254, 0.1);
}

[data-bs-theme="dark"] .auth-card .form-control:-webkit-autofill,
[data-bs-theme="dark"] .auth-card .form-control:-webkit-autofill:hover,
[data-bs-theme="dark"] .auth-card .form-control:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--hx-text-main);
    -webkit-box-shadow: 0 0 0px 1000px var(--auth-input-bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

.auth-card .form-floating > label {
    padding: 0.875rem 1rem;
    color: #949aa3;
    height: 100%;
    font-size: var(--hx-fs-md);
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out;
    pointer-events: none;
}

[data-bs-theme="dark"] .auth-card .form-floating > label {
    color: var(--hx-text-muted);
}

.auth-card .form-control:focus ~ label, .auth-card .form-control:not(:placeholder-shown) ~ label {
    transform: scale(0.85) translateY(-0.7rem) translateX(0.15rem);
    color: var(--hx-gray-600);
    opacity: 0.8;
    font-weight: 500;
}

[data-bs-theme="dark"] .auth-card .form-control:focus ~ label,
[data-bs-theme="dark"] .auth-card .form-control:not(:placeholder-shown) ~ label {
    color: var(--hx-text-main-secondary);
}

.auth-card .btn {
    font-size: var(--hx-fs-base);
}

.auth-card .btn-auth-social {
    gap: 8px;
    border: 1px solid var(--auth-social-border) !important;
    background: var(--auth-social-bg);
    color: var(--hx-gray-900) !important;
    padding-top: 0;
    padding-bottom: 0;
    min-height: 50px;
}

.auth-card .spinner-border-sm {
    --bs-spinner-border-width: 0.1em;
}

.auth-card .btn-auth-social:hover,
.auth-card .btn-auth-social:active,
.auth-card .btn-auth-social:focus {
    background-color: var(--auth-social-hover-bg) !important;
    color: var(--hx-gray-900) !important;
}

[data-bs-theme="dark"] .btn-auth-social {
    color: var(--hx-text-main) !important;
}

[data-bs-theme="dark"] .btn-auth-social:hover,
[data-bs-theme="dark"] .btn-auth-social:active,
[data-bs-theme="dark"] .btn-auth-social:focus {
    color: var(--hx-text-main) !important;
}

.auth-divider {
    display: flex;
    align-items: center;
    text-align: center;
    color: var(--hx-gray-450);
    font-size: var(--hx-fs-xs);
    margin: 1.5rem 0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.auth-divider::before, .auth-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid var(--auth-border-color);
}

.auth-divider::before {
    margin-right: 1.5em;
}

.auth-divider::after {
    margin-left: 1.5em;
}

.auth-password-toggle {
    position: absolute;
    top: 50%;
    right: 0.438rem;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    padding: 0.5rem;
    color: var(--hx-gray-400);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
    z-index: 5;
}

.auth-password-toggle:hover {
    color: var(--hx-theme-color);
}

.auth-password-toggle svg {
    width: 1.25em;
    height: 1.25em;
    fill: currentColor;
}

.auth-password-toggle .icon-eye {
    display: block;
}

.auth-password-toggle .icon-eye-slash {
    display: none;
}

.auth-password-toggle.show-pass .icon-eye {
    display: none;
}

.auth-password-toggle.show-pass .icon-eye-slash {
    display: block;
}

html[dir="rtl"] .auth-password-toggle {
    right: auto;
    left: 0.938rem;
}

[data-bs-theme="dark"] .auth-password-toggle {
    color: var(--hx-gray-500);
}

[data-bs-theme="dark"] .auth-password-toggle:hover {
    color: var(--hx-text-main);
}

.auth-link {
    color: var(--hx-theme-color);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}

.auth-link:hover {
    color: color-mix(in srgb, var(--hx-theme-color), black 10%);
}

#loginModal .btn-close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 10;
    opacity: 0.3;
    transition: opacity 0.2s;
    outline: none !important;
    box-shadow: none !important;
}

#loginModal .btn-close:hover {
    opacity: 1;
}

#loginModal .alert-custom .alert-content {
    font-size: var(--hx-fs-md);
}

.auth-card .form-floating .form-control::placeholder {
    color: transparent !important;
}

.auth-card .form-floating .form-control::-webkit-input-placeholder {
    color: transparent !important;
}

.auth-card .form-floating .form-control::-moz-placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

.auth-card .form-floating .form-control:-ms-input-placeholder {
    color: transparent !important;
}

.auth-card .form-floating .form-control::-ms-input-placeholder {
    color: transparent !important;
}

html[dir="rtl"] .auth-module-container,
html[dir="rtl"] #loginModal .auth-card {
    text-align: right;
    direction: rtl;
}

html[dir="rtl"] .auth-card::before {
    left: auto;
    right: 0;
    background: linear-gradient(270deg, var(--hx-theme-color), color-mix(in srgb, var(--hx-theme-color), white 30%));
}

html[dir="rtl"] .form-floating > label {
    transform-origin: 100% 0;
}

html[dir="rtl"] .auth-card .form-control:focus ~ label,
html[dir="rtl"] .auth-card .form-control:not(:placeholder-shown) ~ label {
    transform: scale(0.85) translateY(-0.7rem) translateX(-0.15rem);
}

html[dir="rtl"] .auth-divider::before {
    margin-right: 0;
    margin-left: 1.5em;
}

html[dir="rtl"] .auth-divider::after {
    margin-left: 0;
    margin-right: 1.5em;
}

html[dir="rtl"] .auth-card .form-check .form-check-input {
    float: none;
    margin-left: 0.5rem;
    margin-right: 0;
}

html[dir="rtl"] .auth-card .form-check {
    padding-left: 0;
    padding-right: 0;
}

html[dir="rtl"] .auth-card .ps-1 {
    padding-left: 0 !important;
    padding-right: 0.25rem !important;
}

html[dir="rtl"] .auth-captcha-checkbox {
    margin-right: 0;
    margin-left: 12px;
}

/*--------------------------------------------------------------
# FAQ Accordion
--------------------------------------------------------------*/
.faq-section {
    --acc--theme-color: var(--hx-theme-color);
    --acc--body-bg: #ffffff;
    --acc--body-text: var(--hx-gray-700);
    --acc--heading-text: var(--hx-gray-900);
    --acc--sub-text: var(--hx-gray-500);
    --acc--bg: #ffffff;
    --acc--border: var(--hx-gray-200);
    --acc--hover-border: var(--hx-gray-300);
    --acc--btn-bg-hover: var(--hx-gray-50);
    --acc--icon-bg: var(--hx-gray-100);
    --acc--icon-color: var(--hx-gray-500);
    --acc--active-header-bg: transparent;
    margin-top: 3rem;
}

[data-bs-theme="dark"] .faq-section {
    --acc--body-bg: var(--hx-gray-925);
    --acc--body-secondary-bg: var(--hx-gray-875);
    --acc--input-bg: var(--hx-gray-900);
    --acc--border: var(--hx-gray-800);
    --acc--body-text: var(--hx-gray-400);
    --acc--heading-text: var(--hx-gray-100);
    --acc--sub-text: var(--hx-gray-300);
    --acc--bg: var(--acc--body-secondary-bg);
    --acc--hover-border: var(--hx-gray-700);
    --acc--btn-bg-hover: var(--hx-gray-850);
    --acc--icon-bg: var(--hx-gray-800);
    --acc--icon-color: var(--hx-gray-400);
}

.faq-section .faq-title {
    font-size: var(--hx-fs-title-2xl);
    line-height: var(--hx-lh-title-2xl);
    color: var(--acc--heading-text);
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.faq-accordion .accordion-item {
    background-color: var(--acc--bg);
    border: 0.0625rem solid var(--acc--border);
    border-radius: 0.75rem;
    margin-bottom: 1rem;
    overflow: hidden;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.faq-accordion .accordion-item:last-of-type,
.faq-accordion .accordion-item:first-of-type {
    border-radius: 0.75rem;
}

.faq-accordion .accordion-item:hover {
    border-color: var(--acc--hover-border);
}

.faq-accordion .accordion-item.active-item {
    border-color: var(--acc--theme-color);
    box-shadow: 0 0.5rem 1.5rem color-mix(in srgb, var(--acc--theme-color), transparent 88%);
}

.faq-accordion .accordion-button {
    background-color: transparent;
    color: var(--acc--heading-text);
    font-weight: 600;
    font-size: var(--hx-fs-title-sm);
    line-height: var(--hx-ls-title-sm);
    padding: 0.75rem 1.25rem;
    box-shadow: none;
    transition: background-color 0.2s ease, color 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.faq-accordion .accordion-button::after {
    display: none;
}

.faq-accordion .accordion-item:not(.active-item) .accordion-button:hover {
    background-color: var(--acc--btn-bg-hover);
}

.faq-accordion .accordion-button:not(.collapsed) {
    background-color: var(--acc--active-header-bg);
    color: var(--acc--theme-color);
}

.faq-accordion .accordion-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background-color: var(--acc--icon-bg);
    color: var(--acc--icon-color);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    margin-inline-start: 1rem;
}

.faq-accordion .accordion-button:not(.collapsed) .accordion-icon-wrapper {
    transform: rotate(180deg);
    background-color: color-mix(in srgb, var(--acc--theme-color), transparent 90%);
    color: var(--acc--theme-color);
}

.faq-accordion .accordion-body {
    padding: 0 1.25rem 1.25rem 1.25rem;
    color: var(--acc--body-text);
    background-color: transparent;
}

.faq-accordion.animating .accordion-button {
    pointer-events: none;
}

html[dir="rtl"] .faq-accordion .accordion-button {
    text-align: right;
}

/*--------------------------------------------------------------
# Gallery Page
--------------------------------------------------------------*/
.gallery-page {
    --primary-color: #222;
    --bg-light: #ffffff;
    --text-muted: #6c757d;
    --text-light: #f8f9fa;
    --btn-filter-border-color: #eee;
    --btn-filter-border-color-hover: #ddd;
    --transition-smooth: cubic-bezier(0.33, 1, 0.68, 1);

    color: var(--primary-color);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    width: 100%;
}

[data-bs-theme="dark"] .gallery-page {
    --primary-color: #fff;
    --bg-light: #ffffff;
    --text-muted: #6c757d;
    --text-light: #f8f9fa;
    --btn-filter-border-color: #4B4B4B;
    --btn-filter-border-color-hover: #4B4B4B;
}

.gallery-page .btn-back {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--primary-color);
    font-weight: 500;
    font-size: var(--hx-fs-md);
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    opacity: 0.7;
}

.gallery-page .btn-back:hover {
    color: var(--hx-theme-color);
    opacity: 1;
    transform: translateX(-5px);
}

.gallery-page .icon-svg {
    display: inline-block;
    vertical-align: middle;
    stroke-width: 1.5;
}

.gallery-page .header-line {
    width: 40px;
    height: 2px;
    background-color: var(--hx-theme-color);
    margin: 1rem auto;
    opacity: 0.7;
}

.gallery-page .gallery-header {
    padding: 4rem 0 3.5rem;
    text-align: center;
    position: relative;
}

.gallery-page .gallery-header h1 {
    font-size: var(--hx-fs-title-5xl);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.gallery-page .gallery-header h1 span {
    font-weight: 700;
}

.gallery-page .gallery-header p {
    font-size: var(--hx-fs-lg);
    color: #888;
    font-weight: 300;
    letter-spacing: 0.5px;
    max-width: 500px;
    margin: 0 auto;
}

.gallery-page .album-header {
    text-align: center;
    margin-bottom: 3rem;
    padding-top: 2rem;
}

.gallery-page .album-header h1 {
    font-size: var(--hx-fs-title-4xl);
    line-height: var(--hx-lh-title-4xl);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.gallery-page .album-header p {
    max-width: 600px;
    margin: 0 auto;
    color: #888;
    font-weight: 300;
    font-size: var(--hx-fs-title-md);
}

.gallery-page .gallery-item {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none;
    color: white;
    aspect-ratio: 3/4;
    width: 100%;
    border-radius: 8px;
    transform: translateZ(0);
    background-color: #f0f0f0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.5s var(--transition-smooth);
}

.gallery-page .gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform 0.9s var(--transition-smooth);
    backface-visibility: hidden;
}

.gallery-page .gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.9) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2.5rem 2rem 3rem 2rem;
    transition: background 0.5s ease;
    pointer-events: none;
}

.gallery-page .gallery-overlay:has(.album-title:empty),
.gallery-page .gallery-overlay:not(:has(.album-title)) {
    background: none;
}

.gallery-page .item-overlay:has(.item-title:empty),
.gallery-page .item-overlay:not(:has(.item-title)) {
    background: none;
}

.gallery-page .album-meta {
    display: block;
    font-size: var(--hx-fs-xs);
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--accent-on-dark, #c9a56d);
    margin-bottom: 0.75rem;
}

.gallery-page .album-title {
    font-size: var(--hx-fs-title-3xl);
    line-height: var(--hx-lh-title-3xl);
    font-weight: 400;
    color: #fff;
    margin-bottom: 0;
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.gallery-page .content-wrap {
    position: relative;
    z-index: 2;
}

.gallery-page .view-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -40%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    font-weight: 500;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 4px;
    background: transparent;
    border: none;
    opacity: 0;
    z-index: 10;
    transition: all 0.6s var(--transition-smooth);
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.6);
    pointer-events: none;
}

.gallery-page .view-text::after {
    content: "\2192";
    font-family: sans-serif;
    font-size: 1.2rem;
    font-weight: 300;
    display: block;
    transform: translateX(-5px);
    transition: transform 0.4s ease;
}

.gallery-page .gallery-item:hover {
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.gallery-page .gallery-item:hover .gallery-img {
    transform: scale(1.1);
}

.gallery-page .gallery-item:hover .view-text {
    opacity: 1;
    transform: translate(-50%, -50%);
}

.gallery-page .gallery-item:hover .view-text::after {
    transform: translateX(5px);
}

.gallery-page .filter-container {
    margin-bottom: 3rem;
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.gallery-page .btn-filter {
    border: 1px solid var(--btn-filter-border-color);
    color: var(--bs-gray-700) !important;
    border-radius: 50px;
    padding: 0.6rem 1.8rem;
    transition: all 0.3s ease;
    font-size: var(--hx-fs-md);
    line-height: var(--hx-lh-md);
    font-weight: 600;
    letter-spacing: 0.5px;
    cursor: pointer;
}

.gallery-page .btn-filter:hover {
    border-color: var(--btn-filter-border-color-hover) !important;
    color: var(--hx-theme-color) !important;
    transform: translateY(-2px);
}

.gallery-page .btn-filter.active {
    background-color: var(--hx-theme-color);
    color: #fff !important;
    border-color: var(--hx-theme-color);
    box-shadow: 0 5px 15px rgba(45, 101, 254, 0.3);
}

.gallery-page .masonry-grid {
    transition: height 0.3s ease-out;
    position: relative;
}

.gallery-page .masonry-grid-sizer,
.gallery-page .masonry-grid-item {
    width: calc(33.333% - 16px);
    margin-bottom: 24px;
}

.gallery-page .masonry-grid-item {
    display: block;
    border-radius: 4px;
    overflow: hidden;
    background-color: #f8f8f8;
    position: relative;
    cursor: zoom-in;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.4s ease-out, transform 0.4s ease-out, top 0.3s ease-out, left 0.3s ease-out, right 0.3s ease-out;
}

.gallery-page .masonry-grid-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.gallery-page .photo-img {
    width: 100%;
    height: auto;
    display: block;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.8s var(--transition-smooth);
    backface-visibility: hidden;
}

.gallery-page .photo-img.loaded {
    opacity: 1;
}

.gallery-page .item-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1.5rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.gallery-page .item-title {
    color: white;
    font-size: var(--hx-fs-base);
    font-weight: 500;
    margin: 0;
    transform: translateY(10px);
    transition: transform 0.3s ease;
}

.gallery-page .masonry-grid-item:hover .photo-img {
    transform: scale(1.05);
}

.gallery-page .masonry-grid-item:hover .item-overlay {
    opacity: 1;
}

.gallery-page .masonry-grid-item:hover .item-title {
    transform: translateY(0);
}

.gallery-page .row.g-4 {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
}

.gallery-page .d-none {
    display: none;
}

.gallery-page .fade-in-up {
    animation: fadeInUp 0.6s var(--transition-smooth) forwards;
    opacity: 0;
    transform: translateY(20px);
}

@media (max-width: 992px) {
    .gallery-page .masonry-grid-sizer,
    .gallery-page .masonry-grid-item {
        width: calc(50% - 12px);
    }
}

@media (max-width: 768px) {
    .gallery-page .gallery-item {
        aspect-ratio: 4/5;
    }

    .gallery-page .view-text {
        display: none;
    }

    .gallery-page .masonry-grid-sizer,
    .gallery-page .masonry-grid-item {
        width: 100%;
    }
}

@media (max-width: 576px) {
    .gallery-page .masonry-grid-sizer,
    .gallery-page .masonry-grid-item {
        width: 100%;
    }
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

[dir="rtl"] .gallery-page .btn-back .icon-svg {
    transform: scaleX(-1);
}

[dir="rtl"] .gallery-page .btn-back:hover {
    transform: translateX(5px);
}

[dir="rtl"] .gallery-page .view-text::after {
    content: "←";
    transform: translateX(5px);
}

[dir="rtl"] .gallery-page .gallery-item:hover .view-text::after {
    transform: translateX(-5px);
}

/*--------------------------------------------------------------
# Account Settings
--------------------------------------------------------------*/
.account-settings .profile-form-title {
    padding-bottom: 1.5rem;
    margin-bottom: 2.5rem;
    border-bottom: 1px solid var(--hx-gray-200);
}

.account-settings .profile-form-title h2 {
    font-size: var(--hx-fs-title-xl);
    font-weight: 600;
    color: var(--hx-text-main);
    letter-spacing: -0.02em;
    margin-bottom: 0.25rem;
}

.account-settings .profile-form-title p {
    color: var(--hx-gray-500);
    margin-bottom: 0;
}

.account-settings .ps-sidebar {
    padding-right: 1.5rem;
}

.account-settings .ps-sidebar-title {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--hx-gray-375);
    margin-bottom: 0.625rem;
    margin-top: 2.25rem;
    padding-left: 0.75rem;
}

.account-settings .ps-sidebar-title:first-child {
    margin-top: 0;
}

.account-settings .ps-menu {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.account-settings .ps-menu-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.375rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--hx-gray-700);
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid transparent;
}

.account-settings .ps-menu-item svg {
    color: var(--hx-gray-600);
    transition: all 0.2s ease;
    width: 1.188rem;
    height: 1.188rem;
}

.account-settings .ps-menu-item:hover,
.account-settings .ps-menu-item:focus,
.account-settings .ps-menu-item:active {
    background: var(--hx-gray-100) !important;
    color: var(--hx-gray-900) !important;
}

.account-settings .ps-menu-item:hover svg {
    color: var(--hx-gray-900);
    transform: scale(1.05);
}

.account-settings .ps-menu-item.active {
    background: var(--hx-gray-200);
    color: var(--hx-gray-900);
    font-weight: 600;
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
}

.account-settings .ps-menu-item.active svg {
    color: var(--hx-gray-900);
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1));
}

.account-settings .form-section-gap {
    margin-bottom: 2rem;
}

.account-settings .social-icon {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.375rem;
}

.account-settings .social-icon svg {
    width: 0.875rem;
    height: 0.875rem;
}

.password-wrapper {
    position: relative;
    width: 100%;
}

.password-wrapper .form-input {
    padding-right: 2.8125rem;
}

.account-settings .auth-password-toggle svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

.account-settings .btn-link-verification {
    color: var(--hx-text-main) !important;
    text-decoration: underline;
    font-size: 0.813rem;
    font-weight: 600;
}

.account-settings .btn-link-verification:hover {
    color: var(--hx-theme-color) !important;
}

.account-settings .edit-profile-cover {
    display: block;
    width: 100%;
    height: 240px;
    position: relative;
    margin-bottom: 45px;
    background-size: cover;
    background-position: center center;
    background-color: var(--hx-gray-100);
    border: 1px solid var(--hx-gray-150);
    border-radius: var(--border-radius-lg);
}

.account-settings .edit-profile-cover .edit-avatar {
    position: absolute;
    bottom: -40px;
    left: 15px;
    border-radius: 50%;
}

.account-settings .edit-profile-cover .edit-avatar img {
    border-radius: 50%;
    width: 180px;
    height: 180px;
    object-fit: cover;
}

.account-settings .edit-profile-cover .btn-edit-cover {
    border-radius: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: var(--border-radius-lg);
}

.account-settings .edit-profile-cover .edit-avatar .btn {
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    right: 15px;
    padding: 0 !important;
    margin: 0 !important;
}

.account-settings .btn-send-verification-email {
    color: var(--hx-theme-color) !important;
    font-size: var(--hx-fs-md);
    font-weight: 600;
}

.account-settings .btn-send-verification-email:hover,
.account-settings .btn-send-verification-email:focus,
.account-settings .btn-send-verification-email:active {
    color: var(--hx-theme-color) !important;
    text-decoration: underline;
}

.account-settings .billing-form {
    min-height: 0 !important;
}

.account-settings .account-table-container {
    background: #ffffff;
    border: 0.0625rem solid rgba(0, 0, 0, 0.06);
    border-radius: 0.75rem;
    box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.02), 0 0.25rem 0.75rem rgba(0, 0, 0, 0.02);
}

.account-settings .account-table-responsive {
    width: 100%;
    overflow-x: auto;
}

.account-settings .account-table-responsive::-webkit-scrollbar {
    height: 0.375rem;
}

.account-settings .account-table-responsive::-webkit-scrollbar-track {
    background: transparent;
}

.account-settings .account-table-responsive::-webkit-scrollbar-thumb {
    background: var(--hx-gray-200);
    border-radius: 0.625rem;
}

.account-settings .account-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.account-settings .account-table th {
    background: transparent;
    color: var(--hx-gray-500);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1.25rem 1.875rem;
    border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.04);
    white-space: nowrap;
}

.account-settings .account-table td {
    padding: 1.25rem 1.875rem;
    vertical-align: middle;
    border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.03);
}

.account-settings .account-table tbody tr:last-child td {
    border-bottom: none;
}

.account-settings .account-table tbody tr {
    transition: background-color 0.15s ease;
}

.account-settings .account-table tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.01);
}

.account-settings .tx-title {
    font-weight: 600;
    color: var(--hx-text-main);
    font-size: var(--hx-fs-md);
    margin-bottom: 0.15rem;
    display: block;
}

.account-settings .tx-meta {
    font-size: 0.8125rem;
    color: var(--hx-gray-500);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.account-settings .tx-amount {
    font-weight: 600;
    color: var(--hx-text-main);
    font-size: var(--hx-fs-md);
    white-space: nowrap;
}

.account-settings .tx-date {
    color: var(--hx-gray-500);
    font-size: var(--hx-fs-md);
    white-space: nowrap;
}

.account-settings .badge-status {
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 0.375rem;
    text-transform: capitalize;
    white-space: nowrap;
}

.account-settings .badge-status.success {
    background-color: #e8fff3;
    color: #50cd89;
}

.account-settings .badge-status.cancelled {
    background-color: #fff5f8;
    color: #f1416c;
}

.account-settings .badge-status.pending {
    background-color: #fff8dd;
    color: #e3a008;
}

.account-settings .badge-status.default {
    background-color: #f5f8fa;
    color: #7e8299;
}

.account-settings .btn-invoice-account {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.875rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--hx-gray-500);
    background-color: transparent;
    border: 0.0625rem solid var(--hx-gray-200);
    border-radius: 0.5rem;
    text-decoration: none;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.account-settings .btn-invoice-account:hover {
    background-color: var(--hx-gray-50);
    border-color: var(--hx-gray-300);
    color: var(--hx-gray-900);
    box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.02);
}

.account-settings .btn-invoice-account svg {
    width: 0.875rem;
    height: 0.875rem;
    stroke-width: 2;
}

.account-settings .empty-state {
    text-align: center;
    padding: 5rem 1rem;
}

.account-settings .premium-sub-card {
    background: #ffffff;
    border: 0.0625rem solid rgba(0, 0, 0, 0.08);
    border-radius: 1rem;
    box-shadow: 0 0.25rem 0.5rem -0.125rem rgba(0, 0, 0, 0.03), 0 0.125rem 0.25rem -0.125rem rgba(0, 0, 0, 0.02);
    position: relative;
    overflow: hidden;
    max-width: 45rem;
    margin: 0 auto;
}

.account-settings .card-active::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.3125rem;
    background: linear-gradient(90deg, var(--hx-theme-color), color-mix(in srgb, var(--hx-theme-color) 60%, transparent));
    z-index: 1;
}

.account-settings .card-inactive::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.3125rem;
    background: var(--hx-gray-200);
    z-index: 1;
}

.account-settings .sub-header {
    padding: 2.25rem 2rem 1.75rem;
    border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.04);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
}

.account-settings .sub-info h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--hx-gray-900);
    margin-bottom: 0.375rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    line-height: 1.2;
}

.account-settings .sub-info p {
    font-size: 0.9375rem;
    color: var(--hx-gray-500);
    margin-bottom: 0;
}

.account-settings .badge-status {
    display: inline-flex;
    align-items: center;
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 0.25rem 0.625rem;
    border-radius: 0.375rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transform: translateY(-1px);
}

.account-settings .badge-active {
    background-color: #e8fff3;
    color: #50cd89;
}

.account-settings .badge-inactive {
    background-color: #fff5f8;
    color: var(--hx-text-danger);
}

.account-settings .sub-price {
    text-align: right;
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}

.account-settings .sub-price .amount {
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--hx-gray-900);
    line-height: 1;
    letter-spacing: -0.04em;
}

.account-settings .sub-price .period {
    font-size: 0.875rem;
    color: var(--hx-gray-500);
    font-weight: 500;
}

.account-settings .sub-body {
    padding: 1.75rem 2rem 2.25rem;
    background-color: #ffffff;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 2rem;
}

.account-settings .detail-group {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.account-settings .detail-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--hx-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.account-settings .detail-value {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--hx-gray-800);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.account-settings .detail-value svg {
    color: var(--hx-gray-400);
}

.account-settings .sub-footer {
    padding: 1.25rem 2rem;
    border-top: 0.0625rem solid rgba(0, 0, 0, 0.04);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background-color: var(--hx-gray-50);
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
}

.account-settings .empty-subscription {
    padding: 4rem 2rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
}

.account-settings .empty-icon-wrapper {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background-color: var(--hx-gray-50);
    color: var(--hx-gray-400);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.account-settings .empty-subscription h3 {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--hx-gray-900);
    margin-bottom: 0.75rem;
    letter-spacing: -0.02em;
}

.account-settings .empty-subscription p {
    font-size: 0.9375rem;
    color: var(--hx-gray-500);
    max-width: 32rem;
    margin: 0 auto 2rem auto;
    line-height: 1.6;
}

.account-settings .btn-sub-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    cursor: pointer;
}

.account-settings .btn-change {
    background-color: #ffffff;
    color: var(--hx-gray-800);
    border: 0.0625rem solid var(--hx-gray-200);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.account-settings .btn-change:hover {
    background-color: #ffffff;
    color: var(--hx-gray-900);
    border-color: var(--hx-gray-300);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
    transform: translateY(-1px);
}

.account-settings .btn-cancel {
    background-color: transparent;
    color: var(--hx-gray-500);
    border: 0.0625rem solid transparent;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.account-settings .btn-cancel:hover,
.account-settings .btn-cancel:focus,
.account-settings .btn-cancel:active {
    color: var(--hx-text-danger) !important;
}

[data-bs-theme="dark"] .account-settings .edit-profile-cover {
    background-color: var(--hx-gray-850);
    border: 1px solid var(--hx-border-color);
}

[data-bs-theme="dark"] .account-settings .profile-form-title {
    border-color: var(--hx-border-color);
}

[data-bs-theme="dark"] .account-settings .profile-form-title p {
    color: var(--hx-text-muted);
}

[data-bs-theme="dark"] .account-settings .ps-menu-item {
    color: var(--hx-gray-300);
}

[data-bs-theme="dark"] .account-settings .ps-menu-item svg {
    color: var(--hx-gray-400);
}

[data-bs-theme="dark"] .account-settings .ps-menu-item:hover,
[data-bs-theme="dark"] .account-settings .ps-menu-item:focus {
    background: var(--hx-body-active-bg) !important;
    color: var(--hx-text-main) !important;
}

[data-bs-theme="dark"] .account-settings .ps-menu-item:hover svg {
    color: var(--hx-text-main);
}

[data-bs-theme="dark"] .account-settings .ps-menu-item.active {
    background: var(--hx-gray-800) !important;
    color: #ffffff !important;
    text-shadow: none;
}

[data-bs-theme="dark"] .account-settings .ps-menu-item.active svg {
    color: #ffffff;
    filter: none;
}

[data-bs-theme="dark"] .account-settings .account-table-container {
    background: var(--hx-body-bg);
    border-color: rgba(255, 255, 255, 0.06);
    box-shadow: none;
}

[data-bs-theme="dark"] .account-settings .account-table th {
    border-color: rgba(255, 255, 255, 0.04);
    color: var(--hx-gray-400);
}

[data-bs-theme="dark"] .account-settings .account-table td {
    border-color: rgba(255, 255, 255, 0.03);
}

[data-bs-theme="dark"] .account-settings .account-table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.02);
}

[data-bs-theme="dark"] .account-settings .tx-title,
[data-bs-theme="dark"] .account-settings .tx-amount {
    color: var(--hx-gray-300);
}

[data-bs-theme="dark"] .account-settings .badge-status.success {
    background-color: rgba(80, 205, 137, 0.1);
    color: #50cd89;
}

[data-bs-theme="dark"] .account-settings .badge-status.pending {
    background-color: rgba(241, 65, 108, 0.1);
    color: #f1416c;
}

[data-bs-theme="dark"] .account-settings .btn-invoice-account {
    border-color: var(--hx-gray-700);
    color: var(--hx-gray-300);
}

[data-bs-theme="dark"] .account-settings .btn-invoice-account:hover {
    background-color: rgba(255, 255, 255, 0.05);
    border-color: var(--hx-gray-600);
    color: #ffffff;
}

[dir="rtl"] .account-settings .ps-sidebar {
    padding-right: 0;
    padding-left: 1.5rem;
}

[dir="rtl"] .account-settings .ps-sidebar-title {
    padding-left: 0;
    padding-right: 0.75rem;
}

[data-bs-theme="dark"] .account-settings .premium-sub-card {
    background: var(--hx-body-bg);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

[data-bs-theme="dark"] .account-settings .card-active::before {
    background: linear-gradient(90deg, var(--hx-theme-color), color-mix(in srgb, var(--hx-theme-color) 40%, transparent));
}

[data-bs-theme="dark"] .account-settings .card-inactive::before {
    background: var(--hx-gray-700);
}

[data-bs-theme="dark"] .account-settings .sub-header {
    border-color: rgba(255, 255, 255, 0.04);
}

[data-bs-theme="dark"] .account-settings .sub-body,
[data-bs-theme="dark"] .account-settings .empty-subscription {
    background-color: transparent;
}

[data-bs-theme="dark"] .account-settings .sub-footer {
    background-color: rgba(0, 0, 0, 0.15);
    border-color: rgba(255, 255, 255, 0.04);
}

[data-bs-theme="dark"] .account-settings .sub-info h3,
[data-bs-theme="dark"] .account-settings .sub-price .amount,
[data-bs-theme="dark"] .account-settings .detail-value,
[data-bs-theme="dark"] .account-settings .empty-subscription h3 {
    color: var(--hx-text-main);
}

[data-bs-theme="dark"] .account-settings .empty-icon-wrapper {
    background-color: rgba(255, 255, 255, 0.03);
    color: var(--hx-gray-500);
}

[data-bs-theme="dark"] .account-settings .badge-active {
    background-color: rgba(80, 205, 137, 0.1);
    color: #50cd89;
}

[data-bs-theme="dark"] .account-settings .badge-inactive {
    background-color: rgba(255, 255, 255, 0.05);
    color: var(--hx-gray-400);
}

[data-bs-theme="dark"] .account-settings .btn-change {
    background-color: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--hx-gray-300);
    box-shadow: none;
}

[data-bs-theme="dark"] .account-settings .btn-change:hover {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    color: #ffffff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2);
}

[data-bs-theme="dark"] .account-settings .btn-cancel {
    color: var(--hx-gray-400);
}

[data-bs-theme="dark"] .account-settings .btn-cancel:hover {
    color: #f87171;
    background-color: rgba(248, 113, 113, 0.1);
}

[dir="rtl"] .password-wrapper .form-input {
    padding-right: 1rem;
    padding-left: 2.8125rem;
}

@media (max-width: 575.98px) {
    .account-settings .sub-footer {
        flex-direction: column-reverse;
        justify-content: center;
        text-align: center;
    }

    .account-settings .btn-sub-action {
        width: 100%;
    }
}

/*--------------------------------------------------------------
# Become an Author
--------------------------------------------------------------*/
.author-app-wrapper {
    --hx-gray-25: #fcfcfc;
    --hx-gray-50: #fafafa;
    --hx-gray-100: #f4f4f5;
    --hx-gray-200: #e4e4e7;
    --hx-gray-300: #d4d4d8;
    --hx-gray-400: #a1a1aa;
    --hx-gray-500: #71717a;
    --hx-gray-800: #27272a;
    --hx-gray-900: #18181b;
    --hx-gray-925: #111113;

    --app-bg: #ffffff;
    --app-surface: #ffffff;
    --app-surface-alt: var(--hx-gray-50);
    --app-border: var(--hx-gray-200);
    --app-border-step: var(--hx-gray-300);
    --app-text-title: var(--hx-gray-900);
    --app-text-body: var(--hx-gray-500);

    --app-primary: var(--hx-theme-color);
    --app-primary-soft: rgba(var(--hx-theme-color-rgb, 0, 0, 0), 0.04);

    --app-shadow-premium: 0 1rem 3rem rgba(0, 0, 0, 0.03);
    --app-input-bg: var(--hx-gray-25);
    --app-input-border: var(--hx-gray-200);
    --app-line: var(--hx-gray-200);

    --app-pending-bg: #eff6ff;
    --app-pending-color: #3b82f6;
    --app-danger-bg: #fef2f2;
    --app-danger-color: #ef4444;
    --app-warning-bg: #fffbeb;
    --app-warning-border: #fde68a;
    --app-warning-title: #92400e;
    --app-warning-text: #b45309;

    padding-top: 3rem;
    padding-bottom: 6rem;
    background-color: var(--app-bg);
}

[data-bs-theme="dark"] .author-app-wrapper {
    --app-bg: var(--hx-body-bg);
    --app-surface: var(--hx-body-secondary-bg);
    --app-surface-alt: var(--hx-gray-900);
    --app-border: var(--hx-border-color);
    --app-text-title: var(--hx-text-main);
    --app-text-body: var(--hx-text-muted);

    --app-primary-soft: rgba(var(--hx-theme-color-rgb, 255, 255, 255), 0.05);

    --app-shadow-premium: 0 1rem 3rem rgba(0, 0, 0, 0.2);
    --app-input-bg: var(--hx-input-bg);
    --app-input-border: var(--hx-input-border-color);
    --app-line: var(--hx-border-color);
    --app-border-step: var(--hx-gray-700);

    --app-pending-bg: rgba(59, 130, 246, 0.1);
    --app-pending-color: #60a5fa;
    --app-danger-bg: rgba(239, 68, 68, 0.1);
    --app-danger-color: #f87171;
    --app-warning-bg: rgba(245, 158, 11, 0.05);
    --app-warning-border: rgba(245, 158, 11, 0.2);
    --app-warning-title: #fcd34d;
    --app-warning-text: #fbbf24;
}

.author-app-wrapper .app-container {
    max-width: 80rem;
}

.author-app-wrapper .app-hero {
    max-width: 50rem;
    margin-block-end: 7rem;
}

.author-app-wrapper .app-hero-title {
    color: var(--app-text-title);
    font-size: 2.375rem;
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.1;
}

.author-app-wrapper .app-hero-desc {
    color: var(--app-text-body);
    font-size: var(--hx-fs-xl);
    line-height: var(--hx-lh-xl);
    transition: color .3s ease;
}

.author-app-wrapper .app-hero-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 1.25rem 0.375rem 0.375rem;
    background-color: var(--app-surface);
    border: 0.0625rem solid var(--app-border);
    border-radius: 6.25rem;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.03);
    margin-block-end: 1.75rem;
    cursor: default;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.author-app-wrapper .app-hero-badge:hover {
    border-color: var(--app-primary);
    box-shadow: 0 0.5rem 1.25rem var(--app-primary-soft);
    transform: translateY(-0.125rem);
}

.author-app-wrapper .app-badge-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    background-color: var(--app-primary);
    color: #ffffff;
    border-radius: 50%;
    margin-inline-end: 0.75rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.author-app-wrapper .app-badge-text {
    color: var(--app-text-title);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
}

.author-app-wrapper .app-status-card {
    background-color: var(--app-surface);
    border: 0.0625rem solid var(--app-border);
    border-radius: 1rem;
    padding: 3.5rem 2.5rem;
    box-shadow: var(--app-shadow-premium);
    max-width: 36rem;
}

.author-app-wrapper .app-status-icon-wrap {
    width: 4.5rem;
    height: 4.5rem;
    position: relative;
}

.author-app-wrapper .app-status-icon-wrap::before {
    content: '';
    position: absolute;
    inset: -0.75rem;
    border-radius: 50%;
    opacity: 0.2;
    z-index: 0;
}

.author-app-wrapper .app-status-icon-wrap.success::before {
    background-color: #10b981;
}

.author-app-wrapper .app-status-icon-wrap.success {
    background-color: rgba(16, 185, 129, 0.1);
    color: #10b981;
}

[data-bs-theme="dark"] .author-app-wrapper .app-status-icon-wrap.success {
    background-color: rgba(16, 185, 129, 0.15);
    color: #34d399;
}

.author-app-wrapper .app-status-icon-wrap.pending::before {
    background-color: var(--app-pending-color);
}

.author-app-wrapper .app-status-icon-wrap.danger::before {
    background-color: var(--app-danger-color);
}

.author-app-wrapper .app-status-icon-wrap.pending {
    background-color: var(--app-pending-bg);
    color: var(--app-pending-color);
}

.author-app-wrapper .app-status-icon-wrap.danger {
    background-color: var(--app-danger-bg);
    color: var(--app-danger-color);
}

.author-app-wrapper .app-status-icon {
    width: 2rem;
    height: 2rem;
    stroke-width: 0.125rem;
    position: relative;
    z-index: 1;
}

.author-app-wrapper .app-status-title {
    color: var(--app-text-title);
    font-size: 1.5rem;
    letter-spacing: -0.02rem;
}

.author-app-wrapper .app-status-desc {
    color: var(--app-text-body);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.author-app-wrapper .app-status-back-btn {
    background-color: var(--app-surface-alt);
    color: var(--app-text-title);
    border: 0.0625rem solid var(--app-border);
    transition: all 0.3s ease;
    font-size: 0.9375rem;
}

.author-app-wrapper .app-status-back-btn:hover {
    color: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
    transform: translateY(-0.125rem);
}

.author-app-wrapper .app-timeline-section {
    margin-block-end: 8rem;
}

.author-app-wrapper .app-timeline-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    position: relative;
}

@keyframes flowLine {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 2rem 0;
    }
}

@media (min-width: 992px) {
    .author-app-wrapper .app-timeline-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }

    .author-app-wrapper .app-timeline-grid::before {
        content: '';
        position: absolute;
        top: 3rem;
        left: 16.66%;
        right: 16.66%;
        height: 0.0625rem;
        background-image: linear-gradient(90deg, var(--app-border-step) 50%, transparent 50%);
        background-size: 0.5rem 100%;
        opacity: 0.6;
        z-index: 1;
        animation: flowLine 20s linear infinite;
    }
}

.author-app-wrapper .app-step-icon-wrap {
    position: relative;
    width: 6rem;
    height: 6rem;
    margin-inline: auto;
    margin-block-end: 2.5rem;
    background-color: var(--hx-gray-100);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--app-text-title);
    z-index: 2;
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-bs-theme="dark"] .author-app-wrapper .app-step-icon-wrap {
    background-color: var(--hx-gray-900);
}

.author-app-wrapper .app-step-icon {
    width: 1.8rem;
    height: 1.8rem;
    stroke-width: 0.1rem;
    transition: transform 0.4s ease, color 0.4s ease;
}

.author-app-wrapper .app-step:hover .app-step-icon-wrap {
    transform: translateY(-0.5rem);
    box-shadow: 0 1rem 2.5rem -0.5rem rgba(0, 0, 0, 0.05);
}

.author-app-wrapper .app-step:hover .app-step-icon {
    transform: scale(1.1);
    color: var(--app-primary);
}

.author-app-wrapper .app-step-title {
    color: var(--app-text-title);
    font-size: 1.25rem;
    letter-spacing: -0.01rem;
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
}

.author-app-wrapper .app-step-desc {
    color: var(--app-text-body);
    font-size: var(--hx-fs-lg);
    line-height: var(--hx-lh-lg);
    max-width: 18rem;
    opacity: 0.9;
}

.author-app-wrapper .app-split-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
}

@media (min-width: 992px) {
    .author-app-wrapper .app-split-grid {
        grid-template-columns: 1.25fr 1fr;
        gap: 4rem;
    }

    .author-app-wrapper .app-form-plate {
        padding: 4rem;
    }
}

.author-app-wrapper .app-form-plate {
    background-color: var(--app-surface);
    border-radius: 1.5rem;
    border: 0.0625rem solid var(--app-border);
    box-shadow: var(--app-shadow-premium);
    padding: 3rem;
}

.author-app-wrapper .app-form-header {
    margin-bottom: 3rem;
}

.author-app-wrapper .app-form-title {
    color: var(--app-text-title);
    letter-spacing: -0.03rem;
    margin-bottom: 0.75rem;
    font-size: var(--hx-fs-title-3xl);
    line-height: var(--hx-lh-title-3xl);
}

.author-app-wrapper .app-form-subtitle {
    color: var(--app-text-body);
}

.author-app-wrapper .app-input-wrap {
    margin-block-end: 1.75rem;
}

.author-app-wrapper .app-input-wrap.grid-input {
    margin-block-end: 0;
}

.author-app-wrapper .form-input {
    background-color: var(--app-input-bg);
    border: 0.0625rem solid var(--app-input-border);
    color: var(--app-text-title);
    transition: all 0.2s ease;
}

.author-app-wrapper .form-input:focus {
    outline: none;
    border-color: var(--app-primary);
    box-shadow: 0 0 0 0.25rem var(--app-primary-soft);
    background-color: var(--app-surface);
}

.author-app-wrapper .form-input::placeholder {
    color: var(--hx-gray-400);
    font-weight: 400;
}

.author-app-wrapper .app-hint {
    font-size: 0.8125rem;
    color: var(--app-text-body);
    line-height: 1.5;
    margin-block-start: 0.5rem;
    opacity: 0.8;
}

.author-app-wrapper .app-submit-btn {
    padding: 1.125rem;
    border-radius: 0.75rem;
    -moz-transition: all .2s ease-in-out 0s;
    -webkit-transition: all .2s ease-in-out 0s;
    transition: all .2s ease-in-out 0s;
    font-weight: 600;
    font-size: var(--hx-fs-lg);
}

.author-app-wrapper .app-submit-btn:hover {
    box-shadow: 0 0.5rem 1rem var(--app-primary-soft);
}

.author-app-wrapper .app-soft-alert {
    background-color: var(--app-warning-bg);
    border: 0.0625rem solid var(--app-warning-border);
    border-radius: 1rem;
}

.author-app-wrapper .app-soft-alert-icon {
    color: var(--app-warning-text);
    width: 1.75rem;
    height: 1.75rem;
}

.author-app-wrapper .app-soft-alert-title {
    color: var(--app-warning-title);
    font-size: 1.0625rem;
}

.author-app-wrapper .app-soft-alert-desc {
    color: var(--app-warning-text);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.author-app-wrapper .app-admin-note {
    background-color: var(--app-surface);
    border-inline-start: 0.25rem solid var(--app-warning-text);
    color: var(--app-text-title);
}

.author-app-wrapper .app-guidelines-plate {
    padding-block-start: 3rem;
}

.author-app-wrapper .app-gl-title {
    color: var(--app-text-title);
    letter-spacing: -0.02rem;
    font-size: var(--hx-fs-title-3xl);
    line-height: var(--hx-lh-title-3xl);
}

.author-app-wrapper .app-gl-list {
    position: relative;
}

.author-app-wrapper .app-gl-list::before {
    content: '';
    position: absolute;
    top: 1rem;
    bottom: 1rem;
    inset-inline-start: 0.625rem;
    width: 0.0625rem;
    background-color: var(--app-line);
    z-index: 1;
}

.author-app-wrapper .app-gl-dot {
    width: 1.25rem;
    height: 1.25rem;
    background-color: var(--app-bg);
    border: 0.25rem solid var(--app-primary);
    transition: transform 0.3s ease;
    position: relative;
    z-index: 2;
}

.author-app-wrapper .app-gl-item:hover .app-gl-dot {
    transform: scale(1.2);
}

.author-app-wrapper .app-gl-heading {
    color: var(--app-text-title);
    font-size: var(--hx-fs-title-md);
    line-height: var(--hx-lh-title-md);
}

.author-app-wrapper .app-gl-desc {
    color: var(--app-text-body);
    opacity: 0.9;
}

.author-app-wrapper .app-editor-content {
    margin-block-start: 6rem;
    padding-block-start: 3rem;
    border-block-start: 0.0625rem solid var(--app-border);
    color: var(--app-text-body);
}

.author-app-wrapper .app-editor-content h1,
.author-app-wrapper .app-editor-content h2,
.author-app-wrapper .app-editor-content h3,
.author-app-wrapper .app-editor-content h4 {
    color: var(--app-text-title);
    font-weight: 700;
    margin-block-end: 1rem;
    margin-block-start: 1.5rem;
}

.author-app-wrapper .app-editor-content p {
    margin-block-end: 1.25rem;
}

.author-app-wrapper .app-editor-content ul,
.author-app-wrapper .app-editor-content ol {
    margin-block-end: 1.25rem;
    padding-inline-start: 1.5rem;
}

.author-app-wrapper .app-editor-content a {
    color: var(--app-primary);
    text-decoration: none;
}

.author-app-wrapper .app-editor-content a:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .author-app-wrapper {
        padding-top: 1rem;
        padding-bottom: 3rem;
    }

    .author-app-wrapper .app-hero {
        margin-block-end: 3rem;
    }

    .author-app-wrapper .app-form-plate {
        padding: 2rem;
    }

    .author-app-wrapper .app-soft-alert svg {
        display: none;
    }
}

html[dir="rtl"] .author-app-wrapper .app-hero-badge {
    padding: 0.375rem 0.375rem 0.375rem 1.25rem;
}


/*--------------------------------------------------------------
# Checkout
--------------------------------------------------------------*/
.checkout-section {
    --primary-color: var(--hx-theme-color);
    --primary-hover: color-mix(in srgb, var(--primary-color) 85%, black);
    --primary-light: color-mix(in srgb, var(--primary-color) 8%, transparent);
    --success-color: #10b981;
    --success-light: color-mix(in srgb, var(--success-color) 10%, transparent);
    --warning-color: #e37400;
    --bg-color: #ffffff;
    --surface-bg: #ffffff;
    --surface-secondary: var(--hx-gray-25);
    --text-main: var(--hx-gray-900);
    --text-muted: var(--hx-gray-500);
    --border-color: var(--hx-gray-200);
    --card-border-radius: 0.75rem;
    --input-border: var(--hx-gray-200);
    --card-shadow: 0 0.25rem 1.25rem -0.125rem rgba(0, 0, 0, 0.03), 0 0.625rem 0.9375rem -0.1875rem rgba(0, 0, 0, 0.02);
    --card-highlight: inset 0 0.0625rem 0 rgba(255, 255, 255, 1);

    background-color: var(--bg-color);
    color: var(--text-main);
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    transition: background-color 0.3s ease, color 0.3s ease;
}

[data-bs-theme="dark"] .checkout-section {
    --hx-body-bg: var(--hx-gray-925);
    --hx-body-secondary-bg: var(--hx-gray-900);
    --hx-body-active-bg: var(--hx-gray-850);
    --hx-input-bg: var(--hx-gray-900);
    --hx-border-color: var(--hx-gray-850);
    --hx-text-main: var(--hx-gray-200);
    --hx-text-main-secondary: var(--hx-gray-350);
    --hx-text-muted: var(--hx-gray-500);

    --bg-color: var(--hx-body-bg);
    --surface-bg: var(--hx-body-secondary-bg);
    --surface-secondary: var(--hx-body-active-bg);
    --text-main: var(--hx-text-main);
    --text-muted: var(--hx-text-main-secondary);
    --border-color: var(--hx-border-color);

    --input-border: var(--hx-border-color);

    --card-shadow: 0 0.625rem 1.875rem -0.3125rem rgba(0, 0, 0, 0.4);
    --card-highlight: inset 0 0.0625rem 0 rgba(255, 255, 255, 0.03);

    --success-light: color-mix(in srgb, var(--success-color) 15%, transparent);
}

.checkout-section h1,
.checkout-section h2,
.checkout-section h3,
.checkout-section h4,
.checkout-section h5,
.checkout-section h6 {
    font-weight: 700;
    color: var(--text-main);
    letter-spacing: -0.02em;
}

.checkout-section .sr-only {
    position: absolute;
    width: 0.0625rem;
    height: 0.0625rem;
    padding: 0;
    margin: -0.0625rem;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.checkout-section .theme-svg-text {
    fill: var(--text-main);
    transition: fill 0.3s ease;
}

.checkout-section .checkout-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 0;
    gap: 1.5rem;
}

.checkout-section .step {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--text-muted);
    font-weight: 600;
    opacity: 0.7;
    transition: all 0.3s ease;
}

.checkout-section .step.active,
.checkout-section .step.completed {
    color: var(--text-main);
    opacity: 1;
}

.checkout-section .step-number {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: var(--surface-secondary);
    border: 0.0625rem solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    transition: all 0.3s ease;
}

.checkout-section .step.active .step-number {
    background-color: var(--primary-color);
    color: #ffffff;
    border-color: var(--primary-color);
    box-shadow: 0 0.25rem 0.75rem var(--primary-light);
}

.checkout-section .step.completed .step-number {
    background-color: var(--success-color);
    border-color: var(--success-color);
    color: #ffffff;
    box-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--success-color) 25%, transparent);
}

.checkout-section .step-line {
    height: 0.125rem;
    width: 3rem;
    background-color: var(--border-color);
    border-radius: 0.125rem;
    transition: background-color 0.3s ease;
}

.checkout-section .step-line.active {
    background-color: var(--primary-color);
}

.checkout-section .checkout-card {
    background-color: var(--surface-bg);
    border: 0.0625rem solid var(--border-color);
    border-radius: var(--card-border-radius);
    padding: 2.5rem;
    box-shadow: var(--card-shadow), var(--card-highlight);
    text-align: left;
}

.checkout-section .summary-card {
    background: linear-gradient(145deg, var(--surface-bg) 0%, var(--surface-secondary) 100%);
}

.checkout-section .card-title {
    font-size: var(--hx-fs-title-lg);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.checkout-section .title-icon {
    color: var(--primary-color);
    background: var(--primary-light);
    padding: 0.5rem;
    border-radius: 0.625rem;
    display: flex;
}

.checkout-section .form-control,
.checkout-section .form-select {
    border: 0.0625rem solid var(--input-border);
    padding: 0.75rem 1rem;
    color: var(--text-main);
    transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: none !important;
}

.checkout-section .form-control:focus,
.checkout-section .form-select:focus {
    border-color: var(--primary-color);
}

.checkout-section .form-control::placeholder {
    color: var(--hx-gray-400);
    font-weight: 400;
}

.checkout-section .optional-tag {
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--hx-gray-400);
    text-transform: none;
    letter-spacing: 0;
    margin-left: 0.25rem;
}

.checkout-section .payment-methods {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.checkout-section .payment-method-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border: 0.125rem solid var(--border-color);
    border-radius: 0.75rem;
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: var(--surface-bg);
    position: relative;
    gap: 0.5rem;
    min-height: 60px;
}

.checkout-section .payment-method-card:hover {
    border-color: var(--hx-gray-300);
}

.checkout-section .payment-method-card.active {
    border-color: var(--primary-color);
}

.checkout-section .payment-method-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.checkout-section .radio-circle {
    width: 1.125rem;
    height: 1.125rem;
    border: 0.125rem solid var(--border-color);
    border-radius: 50%;
    display: inline-block;
    position: relative;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.checkout-section .payment-method-card.active .radio-circle {
    border-color: var(--primary-color);
}

.checkout-section .payment-method-card.active .radio-circle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.625rem;
    height: 0.625rem;
    background-color: var(--primary-color);
    border-radius: 50%;
    box-shadow: 0 0.125rem 0.25rem color-mix(in srgb, var(--primary-color) 40%, transparent);
}

.checkout-section .method-title {
    font-weight: 600;
    color: var(--text-main);
    font-size: 0.95rem;
    margin-bottom: 0;
}

.checkout-section .method-logos {
    justify-content: flex-end;
}

.checkout-section .method-logos img {
    height: 1.25rem;
    width: auto;
}

.checkout-section .payment-method-card-nowpayments .method-logos img {
    height: 1.5rem;
    width: auto;
}

.checkout-section .payment-info-box {
    background-color: var(--primary-light);
    border: 0.0625rem dashed var(--primary-color);
    padding: 1.25rem;
    border-radius: 0.875rem;
    color: var(--text-main);
    font-weight: 500;
    text-align: center;
    transition: all 0.3s ease;
}

.checkout-section .custom-divider {
    height: 0.0625rem;
    background: var(--border-color);
    margin: 2rem 0;
}

.checkout-section .summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    gap: 1rem;
}

.checkout-section .summary-item.total {
    font-size: var(--hx-fs-title-md);
    font-weight: 700;
    color: var(--text-main);
    margin-top: 1.5rem;
    margin-bottom: 0;
    padding-top: 1.5rem;
}

.checkout-section .summary-item span:first-child {
    color: var(--text-muted);
    font-weight: 500;
}

.checkout-section .summary-item span:last-child {
    color: var(--text-main);
    font-weight: 600;
}

.checkout-section .summary-holders {
    margin: -0.25rem 0 1rem;
    padding: 0.85rem;
    border: 1px dashed var(--border-color);
    border-radius: 8px;
    background: var(--bg-light);
}

.checkout-section .summary-holders-title {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.checkout-section .summary-holders ul {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    padding-left: 1rem;
}

.checkout-section .summary-holders li {
    color: var(--text-main);
}

.checkout-section .summary-holders strong {
    margin-right: 0.35rem;
}

.checkout-section .summary-holders em {
    display: block;
    color: var(--text-muted);
    font-style: normal;
    font-size: 0.9rem;
}

.checkout-section .review-label {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-muted);
    margin-bottom: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.checkout-section .review-value {
    font-size: var(--hx-fs-lg);
    color: var(--text-main);
    margin-bottom: 1.25rem;
}

.checkout-section .edit-link {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.2s ease;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.checkout-section .edit-link:hover {
    color: var(--primary-hover);
    text-decoration: underline;
}

.checkout-section .success-header {
    max-width: 37.5rem;
    margin: 0 auto 3rem;
}

.checkout-section .success-header h1 {
    font-size: var(--hx-fs-title-5xl);
    line-height: var(--hx-lh-title-5xl);
    margin-bottom: 1rem;
}

.checkout-section .success-header p {
    color: var(--text-muted);
    font-size: 1.125rem;
    line-height: 1.6;
}

.checkout-section .status-badge {
    background-color: var(--success-light);
    color: var(--success-color);
    padding: 0.25rem 0.75rem;
    border-radius: 99rem;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.checkout-section .support-link {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
}

.checkout-section .support-link:hover {
    text-decoration: underline;
}

.checkout-section .success-icon-wrapper {
    width: 6rem;
    height: 6rem;
    background-color: var(--success-light);
    color: var(--success-color);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    box-shadow: 0 0 0 0.75rem color-mix(in srgb, var(--success-color) 5%, transparent);
    animation: popIn 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
    transform: scale(0);
}

.checkout-section .success-icon-wrapper svg {
    width: 3rem;
    height: 3rem;
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    animation: drawCheck 0.6s 0.3s ease-out forwards;
}

.checkout-section .success-card {
    max-width: 500px;
}

.checkout-section .badge-icon {
    width: 56px;
    height: 56px;
    background-color: var(--primary-light);
    color: var(--primary-color);
    border-radius: 16px;
}

.checkout-section .bg-pending-soft {
    background-color: #fef7e0 !important;
}

.checkout-section .success-icon-wrapper.bg-pending-soft {
    box-shadow: 0 0 0 0.75rem color-mix(in srgb, var(--warning-color) 6%, transparent);
}

.checkout-section .text-pending {
    color: #e37400 !important;
}

.checkout-section .border-pending {
    border-color: #fce8b2 !important;
}

.checkout-section .callout-primary {
    background-color: #eff6ff;
    border-inline-start: 4px solid #3b82f6;
}

.checkout-section .callout-primary-text {
    color: #1e40af;
}

.checkout-section .reference-badge {
    letter-spacing: 2px;
}

[data-bs-theme="dark"] .checkout-section .bg-pending-soft {
    background-color: rgba(227, 116, 0, 0.15) !important;
}

[data-bs-theme="dark"] .checkout-section .text-pending {
    color: #ffb05c !important;
}

[data-bs-theme="dark"] .checkout-section .border-pending {
    border-color: rgba(227, 116, 0, 0.3) !important;
}

[data-bs-theme="dark"] .checkout-section .callout-primary {
    background-color: var(--hx-body-secondary-bg);
    border-inline-start-color: #3b82f6;
}

[data-bs-theme="dark"] .checkout-section .callout-primary-text {
    color: var(--hx-text-main);
}

[data-bs-theme="dark"] .checkout-section .reference-badge.bg-white {
    background-color: var(--hx-body-bg) !important;
    border-color: var(--hx-border-color) !important;
    color: var(--hx-text-main) !important;
}

.checkout-section .item-title {
    font-size: 1.15rem;
    color: var(--text-muted);
    font-weight: 600;
}

.checkout-section .price-display {
    font-size: 3rem;
    line-height: 1;
    font-weight: 700;
    color: var(--text-main);
    letter-spacing: -0.03em;
}

.checkout-section .dashed-divider {
    border-top: 2px dashed var(--border-color);
    margin: 0;
}

.checkout-section .details-grid {
    background-color: var(--surface-secondary);
    text-align: left;
}

.checkout-section .detail-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
}

.checkout-section .detail-value {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-main);
}

.checkout-section .detail-value-mono {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-main);
    font-family: monospace;
}

.checkout-section .success-action-group {
    max-width: 600px;
}

.checkout-section .footer-note {
    font-size: 0.9rem;
    max-width: 500px;
    line-height: 1.6;
}

.checkout-section .title-confirm {
    font-size: var(--hx-fs-title-lg);
}

@keyframes popIn {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    80% {
        transform: scale(1.1);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes drawCheck {
    100% {
        stroke-dashoffset: 0;
    }
}

.checkout-section .btn-primary-custom {
    background-color: var(--primary-color);
    color: #ffffff;
    border: none;
    padding: 0.875rem 1.25rem;
    border-radius: 0.625rem;
    font-weight: 600;
    font-size: 1rem;
    width: 100%;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
}

.checkout-section .btn-primary-custom:hover,
.checkout-section .btn-primary-custom:focus,
.checkout-section .btn-primary-custom:active {
    background-color: var(--primary-hover);
    transform: translateY(-0.125rem);
    box-shadow: 0 0.625rem 1.25rem -0.3125rem color-mix(in srgb, var(--primary-color) 40%, transparent);
    color: #ffffff !important;
}

.checkout-section .btn-secondary-custom {
    background-color: transparent;
    color: var(--text-main);
    border: 0.0625rem solid var(--border-color);
    padding: 0.875rem 1.25rem;
    border-radius: 0.625rem;
    font-weight: 600;
    font-size: 1rem;
    width: 100%;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
}

.checkout-section .btn-secondary-custom:hover {
    background-color: var(--surface-secondary);
    border-color: var(--hx-gray-300);
    color: var(--text-main);
    transform: translateY(-0.125rem);
}

.checkout-section .text-secure-checkout {
    color: var(--success-color);
    font-size: var(--hx-fs-sm);
}

.checkout-section .form-select.is-valid:not([multiple]):not([size]),
.checkout-section .form-select.is-valid:not([multiple])[size="1"],
.checkout-section .was-validated .form-select:valid:not([multiple]):not([size]),
.checkout-section .was-validated .form-select:valid:not([multiple])[size="1"] {
    border-color: var(--bs-border-color) !important;
    box-shadow: none !important;
    background-image: var(--bs-form-select-bg-img) !important;
}

.checkout-section .payment-selected-method {
    background-color: var(--surface-secondary);
    border-color: var(--border-color) !important;
}

.checkout-section .payment-selected-method .title {
    font-weight: 600;
}

.checkout-section .payment-selected-method p {
    font-size: var(--hx-fs-md);
}

.checkout-section .payment-selected-method .gateway-logo {
    width: 100px;
    height: 80px;
}

.checkout-section .payment-selected-method .gateway-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

html[dir="rtl"] .checkout-section .step {
    flex-direction: row-reverse;
}

html[dir="rtl"] .checkout-section .btn-primary-custom svg {
    transform: scaleX(-1);
}

html[dir="rtl"] .checkout-section .btn-secondary-custom svg {
    transform: scaleX(-1);
}

html[dir="rtl"] .checkout-section .title-icon {
    margin-left: 0.75rem;
    margin-right: 0;
}

html[dir="rtl"] .checkout-section .checkout-card {
    text-align: right;
}

@media (max-width: 991px) {
    .checkout-section .summary-card {
        margin-top: 1.5rem;
        position: static;
    }
}

@media (max-width: 576px) {
    .checkout-section .checkout-card {
        padding: 1.5rem;
    }

    .checkout-section .payment-method-card {
        flex-direction: column;
        justify-content: flex-start;
    }

    .checkout-section .payment-method-card .method-logos {
        justify-content: center;
    }

    .checkout-section .checkout-stepper {
        flex-direction: column;
        gap: 0.75rem;
        align-items: flex-start;
        padding: 1.25rem;
    }

    .checkout-section .step-line {
        display: none;
    }

    .checkout-section .payment-method-card {
        padding: 1rem;
    }

    .checkout-section .btn-action-group {
        flex-direction: column;
    }

    .checkout-section .summary-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/*--------------------------------------------------------------
# Premium
--------------------------------------------------------------*/
.paywall {
    --hx-body-bg: var(--hx-gray-25);
    --hx-border-color: var(--hx-gray-200);
    --hx-text-main: var(--hx-gray-900);
    --hx-text-main-secondary: var(--hx-gray-700);
    --pw-bg-glass: rgba(255, 255, 255, 0.85);
    --pw-accent-highlight: var(--accent-on-light, #76571f);
    --pw-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.05);
    --pw-inner-glow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 1px 0 0 rgba(255, 255, 255, 0.4);
    width: 100%;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
    margin: 2rem 0;
}

[data-bs-theme="dark"] .paywall {
    --hx-body-bg: var(--hx-gray-925);
    --hx-border-color: rgba(255, 255, 255, 0.08);
    --hx-text-main: var(--hx-gray-200);
    --hx-text-main-secondary: var(--hx-gray-350);
    --pw-bg-glass: rgba(24, 24, 27, 0.65);
    --pw-accent-highlight: var(--accent-on-dark, #c9a56d);
    --pw-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.7);
    --pw-inner-glow: inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 1px 0 0 rgba(255, 255, 255, 0.05);
}

.paywall * {
    box-sizing: border-box;
}

.paywall .paywall-card {
    pointer-events: auto;
    position: relative;
    z-index: 20;
    width: 90%;
    max-width: 480px;
    background: var(--pw-bg-glass);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--hx-border-color);
    border-radius: 20px;
    box-shadow: var(--pw-shadow), var(--pw-inner-glow);
    padding: 2.5rem;
    text-align: center;
    transform: translateY(20px);
    opacity: 0;
    animation: pwSlideUpFade 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
}

@keyframes pwSlideUpFade {
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.paywall .paywall-card h3 {
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--hx-text-main);
    margin: 0 0 0.75rem 0;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.paywall .paywall-card p {
    font-size: 0.95rem;
    color: var(--hx-text-main-secondary);
    margin: 0 0 1.5rem 0;
    line-height: 1.5;
}

.paywall .paywall-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 6px 12px;
    border-radius: 100px;
    margin-bottom: 1.25rem;
    color: var(--pw-accent-highlight);
    background: rgba(118, 87, 31, 0.1);
}

[data-bs-theme="dark"] .paywall .paywall-badge {
    background: rgba(201, 165, 109, 0.1);
}

.paywall .benefit-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
    text-align: left;
}

.paywall .benefit-list li {
    font-size: 0.9rem;
    color: var(--hx-text-main-secondary);
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.paywall .benefit-list li svg {
    color: var(--pw-accent-highlight);
    flex-shrink: 0;
}

.paywall .btn-paywall {
    border: none;
    border-radius: 10px;
    padding: 0.875rem 1.5rem;
    font-weight: 600;
    font-size: 1rem;
    width: 100%;
    transition: all 0.2s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    background-color: var(--hx-subscribe-button-color);
    color: #ffffff;
    display: inline-block;
}

.paywall .btn-paywall:hover,
.paywall .btn-paywall:active,
.paywall .btn-paywall:focus {
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15)
}

[data-bs-theme="dark"] .paywall .btn-paywall {
    color: #ffffff !important;
    font-weight: 700;
}

.paywall .btn-login {
    background: transparent;
    color: var(--hx-text-main-secondary);
    border: none;
    font-size: 0.9rem;
    font-weight: 500;
    margin-top: 1rem;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
    cursor: pointer;
}

.paywall .btn-login:hover {
    color: var(--hx-text-main);
    text-decoration-color: currentColor;
}

@media (max-width: 768px) {
    .paywall .paywall-card {
        width: 95%;
        padding: 1.75rem 1.5rem;
    }

    .paywall .paywall-card h3 {
        font-size: 1.25rem;
    }
}

@media (max-width: 480px) {
    .paywall-container {
        height: 570px;
    }
}

html[dir="rtl"] .paywall .benefit-list {
    text-align: right;
}

html[dir="rtl"] .paywall .paywall-card {
    border-left: 1px solid var(--hx-border-color);
    border-right: 1px solid var(--pw-border-glass);
}

.premium-modal-content {
    background: var(--pw-bg-glass, rgba(255, 255, 255, 0.95));
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--hx-border-color, #e4e4e7);
    border-top: 1px solid var(--pw-border-glass, rgba(255, 255, 255, 0.6));
    border-left: 1px solid var(--pw-border-glass, rgba(255, 255, 255, 0.6));
    border-radius: 20px;
    box-shadow: var(--pw-shadow, 0 20px 40px -15px rgba(0, 0, 0, 0.1));
    text-align: center;
    padding: 2.5rem 2rem;
    position: relative;
}

[data-bs-theme="dark"] .premium-modal-content {
    background: var(--pw-bg-glass, rgba(17, 17, 19, 0.85));
    border-color: var(--hx-border-color, #202023);
    border-top-color: var(--pw-border-glass, rgba(255, 255, 255, 0.05));
    border-left-color: var(--pw-border-glass, rgba(255, 255, 255, 0.05));
}

.premium-modal-content .btn-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    z-index: 10;
    opacity: 0.3;
    transition: opacity 0.2s;
    outline: none !important;
    box-shadow: none !important;
}

.premium-modal-content .btn-close:hover {
    opacity: 1;
}

.premium-modal-content .modal-title {
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--hx-text-main, #18181b);
    margin-bottom: 0.75rem;
}

.premium-modal-content p {
    color: var(--hx-text-main-secondary, #71717a);
    margin-bottom: 1.5rem;
    line-height: 1.55;
}

/*--------------------------------------------------------------
# RSS Feeds
--------------------------------------------------------------*/
.rss-feeds {
    --bg-featured: #fff5eb;
    --border-color-featured: rgba(238, 128, 47, 0.2);
    --primary-dark: #1a1f2c;
    --text-muted: #6c757d;
    --bg-light: #f8f9fa;
    --bg-light-hover: #fff;
    --bg-white: #fff;
    --card-border-color: rgba(0, 0, 0, 0.06);
    --card-border-radius: 12px;
    --transition-speed: 0.2s;
    --input-color: #222;
    --input-bg-color: #fff;
    --text-color: #222;
    --bg-copy-btn-hover: rgba(26, 31, 44, 0.05);
    -webkit-font-smoothing: antialiased;
}

[data-bs-theme="dark"] .rss-feeds {
    --bg-featured: #171717;
    --border-color-featured: #2c2c2c;
    --primary-dark: #fff;
    --text-muted: #6c757d;
    --bg-light: #f8f9fa;
    --card-border-color: #2c2c2c;
    --input-color: #222;
    --bg-light: #171717;
    --bg-light-hover: #171717;
    --bg-white: #171717;
    --text-color: #fff;
}

.rss-feeds .rss-card {
    background-color: transparent;
    border: 1px solid var(--card-border-color);
    border-radius: var(--card-border-radius);
    padding: 1.25rem;
    transition: all var(--transition-speed) ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rss-feeds .rss-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    border-color: rgba(238, 128, 47, 0.3);
}

.rss-feeds .rss-card.featured {
    background: var(--bg-featured);
    border-color: var(--border-color-featured);
}

.rss-feeds .rss-card.featured .url-input-group {
    background-color: var(--bg-white);
}

.rss-feeds .card-header-flex {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.rss-feeds .icon-box {
    width: 42px;
    height: 42px;
    background-color: rgba(26, 31, 44, 0.05);
    color: var(--text-color);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    transition: all var(--transition-speed);
}

.rss-feeds .icon-box-latest-posts {
    background-color: var(--color-rss);
    color: #fff;
}

.rss-feeds .icon-box svg {
    width: 20px;
    height: 20px;
    stroke-width: 2.5px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rss-feeds .rss-card:hover .icon-box {
    background-color: var(--color-rss);
    color: white;
}

.rss-feeds .card-title {
    font-weight: 700;
    font-size: var(--hx-fs-title-sm);
    line-height: var(--hx-lh-title-sm);
    margin: 0;
}

.rss-feeds .url-input-group {
    background-color: var(--bg-light);
    border-radius: 8px;
    padding: 4px;
    border: 1px solid var(--card-border-color);
    display: flex;
    align-items: center;
    width: 100%;
}

.rss-feeds .rss-card:hover .url-input-group {
    background-color: var(--bg-light-hover);
    border-color: #dee2e6;
}

.rss-feeds .url-input {
    border: none;
    background: transparent;
    font-size: var(--hx-fs-md);
    color: var(--text-muted);
    width: 100%;
    padding: 4px 10px;
    outline: none;
}

.rss-feeds .copy-btn {
    border: none;
    background-color: var(--bg-white);
    color: var(--primary-dark);
    border-radius: 6px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    flex-shrink: 0;
}

.rss-feeds .copy-btn svg {
    width: 16px;
    height: 16px;
    stroke-width: 2.5px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rss-feeds .copy-btn:hover {
    background-color: var(--bg-copy-btn-hover);
    color: var(--text-color);
}

.rss-feeds .copy-btn.success {
    background-color: #16a34a !important;
    color: white !important;
}

/*--------------------------------------------------------------
# Emoji Reactions
--------------------------------------------------------------*/
.reaction-wrapper {
    --bg-btn-default: var(--hx-gray-50);
    --bg-btn-hover: #ffffff;
    --bg-btn-active: #ffffff;
    --bg-btn-disabled: var(--hx-gray-100);
    --border-btn-default: transparent;
    --border-btn-hover: var(--hx-gray-200);
    --border-btn-active: var(--hx-gray-300);
    --text-label: var(--hx-gray-700);
    --text-count: var(--hx-gray-450);
    --shadow-btn-default: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-btn-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    border-radius: 24px;
    padding-bottom: 2rem;
    max-width: 850px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: background-color 0.3s ease;
}

[data-bs-theme="dark"] .reaction-wrapper {
    --bg-btn-default: var(--hx-gray-900);
    --bg-btn-hover: var(--hx-gray-850);
    --bg-btn-active: var(--hx-gray-825);
    --bg-btn-disabled: var(--hx-gray-925);
    --border-btn-default: var(--hx-gray-800);
    --border-btn-hover: var(--hx-gray-700);
    --border-btn-active: var(--hx-gray-600);
    --text-label: var(--hx-gray-100);
    --text-count: var(--hx-gray-400);
    --shadow-btn-default: 0 1px 0 rgba(0, 0, 0, 0.2);
    --shadow-btn-hover: 0 10px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
}

.reaction-wrapper-title {
    text-align: left;
    font-size: var(--hx-fs-base);
    font-weight: 600;
    text-transform: uppercase;
    color: var(--text-label);
    margin-bottom: 1.5rem;
    letter-spacing: 0.5px;
}

.reaction-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
}

.reaction-btn {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--bg-btn-default);
    border: 1px solid var(--border-btn-default);
    box-shadow: var(--shadow-btn-default);
    border-radius: 16px;
    padding: 14px 18px;
    min-width: 84px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.reaction-btn:hover {
    transform: translateY(-3px);
    background: var(--bg-btn-hover);
    border-color: var(--border-btn-hover);
    box-shadow: var(--shadow-btn-hover);
}

[data-bs-theme="dark"] .reaction-btn:hover .reaction-img {
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.2));
}

.reaction-img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    margin-bottom: 10px;
    filter: opacity(0.9);
    transition: transform 0.2s ease, filter 0.3s ease;
    will-change: transform;
}

[data-bs-theme="dark"] .reaction-img {
    filter: opacity(1);
}

.reaction-btn:hover .reaction-img {
    transform: scale(1.12);
}

.reaction-label {
    font-size: var(--hx-fs-xs);
    font-weight: 600;
    color: var(--text-label);
    text-transform: capitalize;
    transition: color 0.2s ease;
}

.reaction-count {
    font-size: var(--hx-fs-tiny);
    color: var(--text-count);
    font-weight: 500;
    margin-top: 4px;
    transition: color 0.2s ease;
}

.reaction-btn.active {
    background: var(--bg-btn-active);
    border-color: var(--active-color, var(--border-btn-active));
    transform: translateY(-1px);
}

[data-bs-theme="dark"] .reaction-btn.active {
    background: var(--hx-gray-875);
    box-shadow: 0 0 20px -5px var(--shadow-color, rgba(255, 255, 255, 0.1));
}

.reaction-btn.active .reaction-label {
    color: var(--active-color, var(--text-label));
}

.reaction-btn.active .reaction-count {
    color: var(--active-color, var(--text-label));
    opacity: 1;
    font-weight: 700;
}

.reaction-btn.disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
    background: var(--bg-btn-disabled);
    box-shadow: none;
    border-color: transparent;
}

.reaction-btn.disabled .reaction-img {
    filter: grayscale(100%) opacity(0.3);
}

@media (max-width: 768px) {
    .reaction-wrapper {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 1rem !important;
    }
}

@media (max-width: 576px) {
    .reaction-grid {
        overflow-x: auto;
        padding: 4px;
        padding-bottom: 20px;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
        mask-image: linear-gradient(to right, black 95%, transparent 100%);
    }

    .reaction-btn {
        min-width: 72px;
        padding: 10px;
        flex-shrink: 0;
    }

    .reaction-img {
        width: 38px;
        height: 38px;
    }

    .reaction-grid::-webkit-scrollbar {
        height: 3px;
    }

    .reaction-grid::-webkit-scrollbar-track {
        background: transparent;
    }

    .reaction-grid::-webkit-scrollbar-thumb {
        background: var(--hx-gray-300);
        border-radius: 10px;
    }

    [data-bs-theme="dark"] .reaction-grid::-webkit-scrollbar-thumb {
        background: var(--hx-gray-700);
    }
}

/*--------------------------------------------------------------
# Sidebar Polls
--------------------------------------------------------------*/
#sidebar-poll-widget {
    --poll-accent: var(--hx-theme-color);
    --poll-option-hover-bg: color-mix(in srgb, var(--poll-accent), transparent 94%);
    --poll-option-hover-border: var(--poll-accent);
    --poll-option-hover-text: var(--poll-accent);
    --poll-spinner-track: color-mix(in srgb, var(--poll-accent), transparent 80%);
    --poll-bg: #ffffff;
    --poll-text-primary: var(--hx-gray-900);
    --poll-text-secondary: var(--hx-gray-500);
    --poll-border: var(--hx-gray-200);
    --poll-option-bg: var(--hx-gray-50);
    --poll-option-border: var(--hx-gray-200);
    --poll-option-text: var(--hx-gray-600);
    --poll-success: var(--hx-green-500);

    width: 100%;
    display: block;
}

[data-bs-theme="dark"] #sidebar-poll-widget {
    --poll-bg: var(--hx-gray-900);
    --poll-text-primary: var(--hx-gray-100);
    --poll-text-secondary: var(--hx-gray-400);
    --poll-border: var(--hx-gray-800);
    --poll-option-bg: var(--hx-gray-925);
    --poll-option-border: var(--hx-gray-800);
    --poll-option-text: var(--hx-gray-300);
    --poll-option-hover-bg: color-mix(in srgb, var(--poll-accent), transparent 85%);
}

[dir="rtl"] #sidebar-poll-widget .icon-flip-rtl {
    transform: scaleX(-1);
}

[dir="rtl"] #sidebar-poll-widget .voted-check-icon {
    margin-left: 0;
    margin-right: 0.375rem;
}

#sidebar-poll-widget .icon-svg {
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.15em;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#sidebar-poll-widget .poll-item-wrapper {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--poll-border);
}

#sidebar-poll-widget .poll-item-wrapper:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

#sidebar-poll-widget .poll-question {
    font-size: var(--hx-fs-title-xs);
    font-weight: 600;
    color: var(--poll-text-primary);
    margin-bottom: 1rem;
}

#sidebar-poll-widget .poll-option {
    display: flex;
    align-items: center;
    padding: 0.625rem 1rem;
    margin-bottom: 0.5rem;
    background-color: var(--poll-option-bg);
    border: 1px solid var(--poll-option-border);
    border-radius: 0.5rem;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    font-size: var(--hx-fs-md);
    font-weight: 500;
    color: var(--poll-option-text);
    position: relative;
}

#sidebar-poll-widget .poll-option:hover {
    background-color: var(--poll-option-hover-bg);
    border-color: var(--poll-option-hover-border);
    color: var(--poll-option-hover-text);
}

#sidebar-poll-widget .poll-option.voting {
    background-color: var(--poll-option-hover-bg);
    border-color: var(--poll-option-hover-border);
    color: transparent !important;
    cursor: wait;
    opacity: 0.8;
    pointer-events: none;
}

#sidebar-poll-widget .poll-option.voting::after {
    content: '';
    position: absolute;
    inset-inline-start: 1.25rem;
    top: 50%;
    width: 1.125rem;
    height: 1.125rem;
    margin-top: -0.5625rem;
    border: 0.125rem solid var(--poll-spinner-track);
    border-top: 0.125rem solid var(--poll-accent);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

[dir="rtl"] #sidebar-poll-widget .poll-option.voting::after {
    border-top: 0.125rem solid var(--poll-spinner-track);
    border-left: 0.125rem solid var(--poll-accent);
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

#sidebar-poll-widget .result-row {
    margin-bottom: 0.875rem;
}

#sidebar-poll-widget .result-meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.375rem;
    font-size: var(--hx-fs-md);
    color: var(--poll-text-primary);
    font-weight: 600;
}

#sidebar-poll-widget .result-meta span:first-child {
    flex: 1;
    word-break: break-word;
}

#sidebar-poll-widget .result-meta span:last-child {
    white-space: nowrap;
}

#sidebar-poll-widget .progress {
    height: 0.375rem;
    border-radius: 0.625rem;
    background-color: var(--poll-border);
    overflow: hidden;
}

#sidebar-poll-widget .progress-bar {
    background-color: var(--poll-accent);
    border-radius: 0.625rem;
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

#sidebar-poll-widget .poll-footer-text {
    color: var(--poll-text-secondary);
    font-size: var(--hx-fs-sm);
}

#sidebar-poll-widget .btn-back-vote {
    font-size: var(--hx-fs-sm);
    color: var(--poll-text-secondary);
    text-decoration: none;
    transition: color 0.2s;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

#sidebar-poll-widget .btn-back-vote:hover {
    color: var(--poll-accent);
    text-decoration: underline;
}

#sidebar-poll-widget .voted-check-icon {
    color: var(--poll-success);
    margin-left: 0.375rem;
    animation: popIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

#sidebar-poll-widget .fade-in {
    animation: fadeIn 0.4s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(0.3125rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes popIn {
    from {
        transform: scale(0);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

/*--------------------------------------------------------------
# Social Sharing Buttons
--------------------------------------------------------------*/
.btn-social-share {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    width: 40px;
    height: 40px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background: transparent;
    border: none;
    border-radius: 0.188rem;
    cursor: pointer;
    padding: 0;
    color: var(--hx-color-white) !important;
}

.btn-social-share:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    opacity: 0.9;
}

.btn-social-share svg {
    color: var(--hx-color-white) !important;
    fill: var(--hx-color-white) !important;
    width: 18px;
    height: 18px;
}

.bg-color-rss {
    background-color: var(--color-rss) !important;
}

.color-bg-email {
    background-color: var(--color-email-social) !important;
}

.btn-action-icon {
    background-color: #6b7280 !important;
    background-color: var(--hx-gray-600) !important;
}

.btn-action-icon:hover {
    background-color: var(--hx-gray-800) !important;
}

.btn-reading-list.active {
    background-color: #22c55e !important;
}

.btn-reading-list.active:hover {
    background-color: #16a34a !important;
}

@media (max-width: 576px) {
    .share-flex-wrapper {
        justify-content: flex-start !important;
        gap: 0.375rem !important;
    }

    .share-flex-wrapper .left, .share-flex-wrapper .right {
        gap: 0.375rem !important;
    }

    .btn-social-share {
        width: 36px;
        height: 36px;
    }

    .btn-social-share svg {
        width: 16px;
        height: 16px;
    }
}

/*--------------------------------------------------------------
# Comments Module
--------------------------------------------------------------*/
.comments-module {
    --brand-color: var(--hx-theme-color);
    --brand-dark: color-mix(in srgb, var(--brand-color) 75%, black 20%);
    --border-error: #dc3545;
    --bg-component: #ffffff;
    --bg-component-alt: var(--hx-gray-50);
    --bg-modal: #ffffff;
    --text-heading: var(--hx-gray-750);
    --text-body: var(--hx-gray-650);
    --text-meta: var(--hx-gray-500);
    --text-placeholder: var(--hx-gray-400);
    --border-color: var(--hx-gray-200);
    --thread-line: var(--hx-gray-200);
    --thread-line-hover: var(--hx-gray-325);
    --shadow-soft: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.04);
}

[data-bs-theme="dark"] .comments-module {
    --bg-component: var(--hx-body-bg);
    --bg-component-alt: var(--hx-body-secondary-bg);
    --bg-modal: var(--hx-body-bg);
    --text-heading: var(--hx-gray-50);
    --text-body: var(--hx-gray-300);
    --text-meta: var(--hx-gray-400);
    --text-placeholder: var(--hx-gray-500);
    --border-color: var(--hx-border-color);
    --thread-line: var(--hx-border-color);
    --thread-line-hover: var(--hx-gray-600);
}

.comments-module .vri {
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-size: contain;
    vertical-align: -0.125em;
}

.comments-module .vri-heart {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m8 2.748-.717-.737C5.6.281 2.514.878 1.4 3.053c-.523 1.023-.641 2.5.314 4.385.92 1.815 2.834 3.989 6.286 6.357 3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z'/%3E%3C/svg%3E");
}

.comments-module .vri-heart-fill {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z'/%3E%3C/svg%3E");
}

.comments-module .vri-reply {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.921 11.9 1.353 8.62a.719.719 0 0 1 0-1.238L5.921 4.1A.716.716 0 0 1 7 4.719V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z'/%3E%3C/svg%3E");
}

.comments-module .vri-trash {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z'/%3E%3Cpath fill-rule='evenodd' d='M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z'/%3E%3C/svg%3E");
}

.comments-module .vri-shield {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z'/%3E%3C/svg%3E");
}

@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-0.25rem);
    }
    20%, 40%, 60%, 80% {
        transform: translateX(0.25rem);
    }
}

.comments-module .shake {
    animation: shake 0.4s cubic-bezier(.36, .07, .19, .97) both;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(0.3125rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.comments-module .processing-overlay {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}

.comments-module .dropdown-menu {
    background-color: var(--bg-component);
    border-color: var(--border-color);
}

.comments-module .dropdown-item {
    color: var(--text-body);
}

.comments-module .dropdown-item:hover {
    background-color: var(--bg-component-alt);
    color: var(--text-heading);
}

.comments-module .dropdown-toggle {
    color: var(--text-heading) !important;
    font-size: var(--hx-fs-md);
}

.comments-module .dropdown-toggle:hover,
.comments-module .dropdown-toggle:focus,
.comments-module .dropdown-toggle:active {
    color: var(--text-heading) !important;
}

.comments-module .dropdown .dropdown-menu-sort-comments .dropdown-item {
    font-size: var(--hx-fs-sm);
}

.comments-module .modern-editor-wrapper {
    position: relative;
    margin-bottom: 3rem;
}

.comments-module .editor-container {
    border: 0.0625rem solid var(--border-color);
    border-radius: 0.75rem;
    background: var(--bg-component);
    position: relative;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.comments-module .editor-container.focused {
    border-color: var(--brand-color) !important;
}

.comments-module .editor-container.is-invalid {
    border-color: var(--border-error) !important;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.1) !important;
}

[data-bs-theme="dark"] .comments-module .editor-container {
    border-color: var(--hx-gray-750);
}

.comments-module .editor-textarea {
    width: 100%;
    border: none;
    resize: none;
    padding: 0.875rem 1.125rem;
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    color: var(--text-heading);
    min-height: 6rem;
    outline: none;
    background: transparent;
    transition: min-height 0.3s ease-in-out;
}

.comments-module .guest-details-row {
    display: flex;
    padding: 0.625rem 1.125rem;
    background: var(--bg-component-alt);
    border-top: 0.0625rem solid var(--border-color);
    gap: 0.625rem;
}

.comments-module .input-minimal {
    flex: 1;
    border: 0.0625rem solid var(--border-color);
    border-radius: 0.5rem;
    padding: 0.5rem 0.75rem;
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    outline: none;
    background: var(--bg-component);
    color: var(--text-heading);
    transition: all 0.2s;
}

.comments-module .input-minimal:focus {
    border-color: var(--brand-color);
}

.comments-module .input-minimal.is-invalid {
    border-color: var(--border-error) !important;
}

.comments-module .btn-post-comment {
    gap: 0.5rem;
}

.comments-module .btn-post-comment i {
    width: 1.063rem;
    height: 1.063rem;
}

.comments-module .form-footer-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}

.comments-module .load-more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.875rem;
    background: var(--bg-component);
    border: 0.0625rem solid var(--border-color);
    color: var(--text-heading);
    font-weight: 600;
    border-radius: 0.75rem;
    margin-top: 1.875rem;
    font-size: var(--hx-fs-md);
    transition: all 0.2s ease;
    box-shadow: var(--shadow-soft);
    gap: 0.625rem;
}

.comments-module .load-more-btn:hover {
    background: var(--bg-component-alt);
    border-color: var(--brand-color);
    color: var(--brand-color);
}

.comments-module .load-more-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

.comments-module .btn-icon-svg {
    width: 1.125rem;
    height: 1.125rem;
    display: inline-block;
    vertical-align: middle;
    fill: currentColor;
    flex-shrink: 0;
}

.comments-module .icon-spin {
    animation: spin 1.2s linear infinite;
}

.comments-module .validation-error-msg {
    color: var(--border-error);
    font-size: var(--hx-fs-md);
    font-weight: 600;
    display: none;
    animation: fadeIn 0.3s ease;
    margin-inline-end: 0.9375rem;
}

.comments-module .comment-item {
    display: flex;
    margin-bottom: 1.5rem;
    position: relative;
}

.comments-module .comment-item[data-level="2"],
.comments-module .comment-item[data-level="3"] {
    margin-bottom: 1rem;
}

.comments-module .avatar-img {
    width: 2.375rem;
    height: 2.375rem;
    border-radius: 0.625rem;
    object-fit: cover;
}

.comments-module .avatar-container {
    margin-inline-end: 0.875rem;
    flex-shrink: 0;
}

.comments-module .comment-body {
    flex-grow: 1;
}

.comments-module .comment-body .comment-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.comments-module .author-name {
    font-weight: 700;
    font-size: var(--hx-fs-base);
    color: var(--text-heading);
    cursor: pointer;
}

.comments-module .owner-badge {
    background: #eef2ff;
    color: var(--brand-color);
    font-size: var(--hx-fs-tiny);
    padding: 0.0625rem 0.375rem;
    border-radius: 0.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
}

[data-bs-theme="dark"] .comments-module .owner-badge {
    background: rgba(45, 101, 254, 0.2);
    color: #60a5fa;
}

.comments-module .timestamp {
    font-size: var(--hx-fs-xs);
    color: var(--text-meta);
    font-weight: 500;
}

.comments-module .comment-content {
    font-size: var(--hx-fs-base);
    line-height: 1.6;
    color: var(--text-body);
    margin-bottom: 0.5rem;
}

.comments-module .comment-footer {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.comments-module .footer-action {
    background: none;
    border: none;
    padding: 0;
    font-size: var(--hx-fs-sm);
    font-weight: 600;
    color: var(--text-meta);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.3125rem;
    transition: color 0.2s;
}

.comments-module .footer-action .vri {
    font-size: 1.15em;
}

.comments-module .footer-action:hover {
    color: var(--brand-color);
}

.comments-module .footer-action.liked {
    color: #dc3545;
}

.comments-module .separator {
    color: var(--border-color);
    font-size: var(--hx-fs-tiny);
}

.comments-module .thread-line-container {
    position: relative;
    padding-inline-start: 2.625rem;
}

.comments-module .thread-line-container::before {
    content: "";
    position: absolute;
    top: 0;
    inset-inline-start: 1.125rem;
    bottom: 1.25rem;
    width: 0.125rem;
    background: var(--thread-line);
    z-index: 1;
    border-radius: 0.125rem;
}

.comments-module .thread-line-container:hover::before {
    background: var(--thread-line-hover);
}

.comments-module .replies-list {
    padding-inline-start: 0;
    margin-top: 0.9375rem;
}

.comments-module .btn-show-replies {
    background: none;
    border: none;
    color: var(--brand-color);
    font-weight: 700;
    font-size: var(--hx-fs-md);
    padding: 0.375rem 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.375rem;
}

.comments-module .btn-show-replies:hover {
    text-decoration: underline;
}

.comments-module .btn-show-replies::before {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 0.125rem;
    background: var(--thread-line);
    margin-inline-end: 0.3125rem;
    vertical-align: middle;
}

.comments-module .inline-reply-wrapper {
    margin-top: 0.9375rem;
    display: none;
    background: transparent;
    padding: 0;
    transition: all 0.2s ease-in-out;
}

.comments-module .inline-guest-inputs {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0;
    padding: 0.625rem 1.125rem;
    border-top: 0.0625rem solid var(--border-color);
    background: var(--bg-component-alt);
}

.comments-module .inline-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.8rem;
    padding: 0 0.125rem;
}

.comments-module .btn-group-right {
    margin-inline-start: auto;
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.comments-module .inline-footer .btn-cancel-reply {
    color: var(--text-meta);
    font-weight: 600;
}

.comments-module .inline-footer .btn-cancel-reply:hover {
    color: var(--brand-color) !important;
}

.comments-module .modal-content {
    background-color: var(--bg-modal);
    border: 0.0625rem solid var(--border-color);
}

.modal-captcha-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.9375rem;
    min-height: 7.5rem;
    padding: 0.625rem 0;
}

.modal-captcha-container .captcha-error {
    color: var(--border-error);
    font-size: var(--hx-fs-md);
    font-weight: 600;
    background-color: rgba(220, 53, 69, 0.05);
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    border: 0.0625rem solid rgba(220, 53, 69, 0.2);
    width: 100%;
    text-align: center;
    animation: fadeIn 0.3s ease;
}

.modal-captcha-container .captcha-spinner {
    width: 2.5rem;
    height: 2.5rem;
    color: var(--brand-color);
}

@media (max-width: 768px) {
    .comments-module .thread-line-container {
        padding-inline-start: 0.75rem !important;
    }

    .comments-module .thread-line-container::before {
        inset-inline-start: 0 !important;
    }

    .comments-module .avatar-img {
        width: 2rem !important;
        height: 2rem !important;
        border-radius: 0.5rem !important;
    }

    .comments-module .avatar-container {
        margin-inline-end: 0.5rem !important;
    }

    .comments-module .author-name {
        font-size: 0.9rem !important;
    }

    .comments-module .timestamp {
        font-size: 0.75rem !important;
    }

    .comments-module .replies-list {
        margin-top: 0.5rem !important;
    }

    .comments-module .modern-editor-wrapper {
        margin-bottom: 2rem;
    }
}

@media (max-width: 576px) {
    .comments-module .comment-item[data-level="3"] .avatar-container {
        margin-inline-end: 0.35rem !important;
    }

    .comments-module .comment-item[data-level="3"] .avatar-img {
        width: 1.75rem !important;
        height: 1.75rem !important;
    }
}

@media (max-width: 480px) {
    .comments-module .btn-delete span {
        display: none;
    }
}

/*--------------------------------------------------------------
# Event
--------------------------------------------------------------*/
.event-wrapper {
    --ev-body-bg: var(--hx-gray-100);
    --ev-card-bg: var(--hx-gray-25);
    --ev-text-main: var(--hx-gray-700);
    --ev-text-heading: var(--hx-gray-900);
    --ev-text-muted: var(--hx-gray-500);
    --ev-border-color: var(--hx-gray-150);
    --ev-border-color-light: var(--hx-gray-50);
    --ev-input-bg: var(--hx-gray-25);
    --ev-icon-bg: var(--hx-gray-50);
    --ev-radius: 0.75rem;
}

[data-bs-theme="dark"] .event-wrapper {
    --ev-body-bg: var(--hx-gray-925);
    --ev-card-bg: var(--hx-gray-900);
    --ev-text-main: var(--hx-gray-300);
    --ev-text-heading: var(--hx-gray-100);
    --ev-text-muted: var(--hx-gray-400);
    --ev-border-color: var(--hx-gray-800);
    --ev-border-color-light: var(--hx-gray-800);
    --ev-input-bg: var(--hx-gray-800);
    --ev-icon-bg: rgba(79, 70, 229, 0.15);
}

.event-wrapper .text-muted {
    color: var(--ev-text-muted) !important;
}

.event-wrapper svg {
    display: inline-block;
    vertical-align: middle;
}

.event-wrapper .event-info-bar {
    background: var(--ev-card-bg);
    border: 1px solid var(--ev-border-color);
    border-radius: var(--ev-radius);
    padding: 1.5625rem;
    margin-bottom: 3rem;
    box-shadow: 0 0.625rem 1.5625rem -0.3125rem rgba(0, 0, 0, 0.04);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.25rem;
    align-items: center;
}

.event-wrapper .event-meta-group {
    display: flex;
    align-items: center;
    gap: 0.9375rem;
    padding-right: 0.9375rem;
    border-right: 1px solid var(--ev-border-color);
}

.event-wrapper .event-meta-group:last-child {
    border-right: none;
    padding-right: 0;
}

.event-wrapper .event-icon {
    width: 3rem;
    height: 3rem;
    background-color: color-mix(in srgb, var(--hx-theme-color), transparent 92%);
    color: var(--hx-theme-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    flex-shrink: 0;
}

.event-wrapper .event-icon svg {
    width: 1.5rem;
    height: 1.5rem;
}

.event-wrapper .meta-content {
    display: flex;
    flex-direction: column;
}

.event-wrapper .meta-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: var(--ev-text-muted);
    font-weight: 700;
    letter-spacing: 0.0313rem;
    margin-bottom: 0.25rem;
    display: block;
}

.event-wrapper .meta-value {
    font-weight: 700;
    color: var(--ev-text-heading);
    line-height: 1.3;
    font-size: 1rem;
}

.event-wrapper .meta-sub {
    font-size: 0.85rem;
    color: var(--ev-text-muted);
    font-weight: 500;
}

.event-wrapper .event-section-title {
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
    font-weight: 700;
    color: var(--ev-text-heading);
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 0.125rem solid var(--ev-border-color);
    margin-top: 3rem;
}

.event-wrapper .event-section-title:first-of-type {
    margin-top: 0;
}

.event-wrapper .event-text {
    font-size: 1.1rem;
    line-height: 1.8;
    margin-bottom: 3rem;
    color: var(--ev-text-main);
}

.event-wrapper .highlights-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.9375rem;
    margin-bottom: 3rem;
}

@media (min-width: 768px) {
    .event-wrapper .highlights-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.event-wrapper .highlight-item {
    background-color: var(--ev-card-bg);
    border: 1px solid var(--ev-border-color);
    padding: 0.9375rem;
    border-radius: 0.625rem;
    display: flex;
    align-items: center;
    gap: 0.9375rem;
    font-size: 0.95rem;
    color: var(--ev-text-main);
    transition: transform 0.2s;
}

.event-wrapper .highlight-item .highlight-title {
    display: block;
    font-weight: 600;
    font-size: var(--hx-fs-base);
}

.event-wrapper .highlight-item:hover {
    border-color: var(--hx-theme-color);
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.375rem -0.0625rem rgba(0, 0, 0, 0.05);
}

.event-wrapper .highlight-icon {
    color: var(--hx-theme-color);
    opacity: 0.9;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.event-wrapper .highlight-icon svg {
    width: 1.25rem;
    height: 1.25rem;
}

.event-wrapper .speaker-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
    gap: 0.9375rem;
    margin-bottom: 2.5rem;
}

.event-wrapper .speaker-list-item {
    background: var(--ev-card-bg);
    border: 1px solid var(--ev-border-color);
    border-radius: 0.75rem;
    padding: 0.9375rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.9375rem;
    transition: all 0.2s;
}

.event-wrapper .speaker-list-item:hover {
    border-color: var(--hx-theme-color);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.05);
    transform: translateY(-0.125rem);
}

.event-wrapper .speaker-avatar-container {
    width: 3.375rem;
    height: 3.375rem;
    border-radius: 50%;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
}

.event-wrapper .speaker-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-wrapper .speaker-avatar-initials {
    background-color: var(--ev-icon-bg);
    color: var(--hx-theme-color);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ev-border-color);
}

.event-wrapper .speaker-avatar-icon {
    background-color: var(--ev-body-bg);
    color: var(--ev-text-muted);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.event-wrapper .speaker-list-item .small {
    color: var(--ev-text-muted);
}

.event-wrapper .schedule-section {
    padding: 1rem 0 1.5rem 0;
}

.event-wrapper .schedule-timeline {
    position: relative;
    padding-left: 2rem;
    margin-left: 0.5rem;
}

.event-wrapper .schedule-timeline::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.5rem;
    bottom: 0;
    width: 0.125rem;
    background-color: var(--ev-border-color);
}

.event-wrapper .schedule-item {
    position: relative;
    margin-bottom: 2.5rem;
}

.event-wrapper .schedule-item:last-child {
    margin-bottom: 0;
}

.event-wrapper .schedule-item::before {
    content: '';
    position: absolute;
    left: -2.375rem;
    top: 0.25rem;
    width: 0.875rem;
    height: 0.875rem;
    background-color: var(--ev-card-bg);
    border: 0.1875rem solid var(--hx-theme-color);
    border-radius: 50%;
    z-index: 1;
}

.event-wrapper .schedule-time-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    background-color: var(--ev-body-bg);
    color: var(--ev-text-heading);
    border-radius: 0.5rem;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    border: 1px solid var(--ev-border-color);
}

.event-wrapper .schedule-item-title {
    color: var(--ev-text-heading);
    font-weight: 700;
    font-size: var(--hx-fs-title-sm);
    line-height: var(--hx-lh-title-sm);
    margin-bottom: 0.375rem;
}

.event-wrapper .schedule-item-desc {
    color: var(--ev-text-main);
    font-size: 0.95rem;
    line-height: 1.6;
}

.event-wrapper .bottom-info-stack {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    margin-top: 2.5rem;
}

.event-wrapper .card-organizer {
    background-color: var(--ev-card-bg);
    border: 1px solid var(--ev-border-color-light) !important;
}

.event-wrapper .icon-organizer {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    background-color: var(--hx-gray-800);
    color: #ffffff;
    border-radius: 50%;
    flex-shrink: 0;
}

.event-wrapper .card-organizer .title {
    color: var(--ev-text-muted);
    text-transform: uppercase;
    font-size: var(--hx-fs-md);
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.event-wrapper .card-organizer .sub-title {
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
    font-weight: 700;
}

.event-wrapper .map-card {
    border: 0;
    box-shadow: 0 0.25rem 0.375rem -0.0625rem rgba(0, 0, 0, 0.05);
    border-radius: 0.75rem;
    overflow: hidden;
    border: 1px solid var(--ev-border-color);
    position: relative;
    margin-bottom: 2rem;
}

.event-wrapper .map-placeholder-content {
    background-color: var(--ev-body-bg);
    height: 400px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem;
    color: var(--ev-text-muted);
}

.event-wrapper #googleMapContainer {
    width: 100%;
    height: 400px;
}

.map-card .map-warning-text {
    max-width: 400px;
}

.map-card .map-warning-text a {
    text-decoration: underline;
}

.event-wrapper .map-footer {
    background-color: var(--ev-body-bg);
    border-top: 1px solid var(--ev-border-color);
    color: var(--ev-text-main);
}

.event-wrapper .faq-section {
    margin-bottom: 3rem;
}

html[dir="rtl"] .event-wrapper .event-meta-group {
    padding-right: 0;
    padding-left: 0.9375rem;
    border-right: none;
    border-left: 1px solid var(--ev-border-color);
}

html[dir="rtl"] .event-wrapper .event-meta-group:last-child {
    border-left: none;
    padding-left: 0;
}

html[dir="rtl"] .event-wrapper .schedule-timeline {
    padding-left: 0;
    padding-right: 2rem;
    margin-left: 0;
    margin-right: 0.5rem;
}

html[dir="rtl"] .event-wrapper .schedule-timeline::before {
    left: auto;
    right: 0;
}

html[dir="rtl"] .event-wrapper .schedule-item::before {
    left: auto;
    right: -2.375rem;
}

html[dir="rtl"] .event-wrapper .me-1 {
    margin-left: 0.25rem !important;
    margin-right: 0 !important;
}

html[dir="rtl"] .event-wrapper .me-3 {
    margin-left: 1rem !important;
    margin-right: 0 !important;
}

@media (max-width: 768px) {
    .event-wrapper {
        padding: 0;
    }

    .event-wrapper .event-info-bar {
        grid-template-columns: 1fr;
        gap: 0.9375rem;
    }

    .event-wrapper .event-meta-group {
        border-right: none;
        border-bottom: 1px solid var(--ev-border-color);
        padding-bottom: 0.9375rem;
        padding-right: 0;
    }

    html[dir="rtl"] .event-wrapper .event-meta-group {
        border-left: none !important;
        padding-left: 0 !important;
    }

    .event-wrapper .event-meta-group:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
}

.event-wrapper .event-registration-cta {
    background: linear-gradient(145deg, var(--ev-card-bg), color-mix(in srgb, var(--ev-border-color) 40%, var(--ev-card-bg)));
    border: 1px solid var(--ev-border-color);
    border-radius: var(--ev-radius);
    padding: 2rem 2.5rem;
    margin: 2.5rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 0.5rem 1.5rem -0.5rem rgba(0, 0, 0, 0.05);
}

[data-bs-theme="dark"] .event-wrapper .event-registration-cta {
    background: linear-gradient(145deg, var(--ev-card-bg), color-mix(in srgb, var(--hx-theme-color) 6%, var(--ev-card-bg)));
    box-shadow: 0 1rem 3rem -1rem rgba(0, 0, 0, 0.25);
    border-color: var(--ev-border-color-light);
}

.event-wrapper .event-registration-cta::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 25rem;
    height: 25rem;
    background: radial-gradient(circle, color-mix(in srgb, var(--hx-theme-color) 10%, transparent) 0%, transparent 60%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.event-wrapper .cta-content {
    position: relative;
    z-index: 1;
    max-width: 65%;
}

.event-wrapper .cta-title {
    font-size: var(--hx-fs-title-xl);
    font-weight: 800;
    color: var(--ev-text-heading);
    margin-bottom: 0.375rem;
    letter-spacing: -0.01em;
}

.event-wrapper .cta-desc {
    font-size: 0.95rem;
    color: var(--ev-text-main);
    line-height: 1.5;
    margin: 0;
}

.event-wrapper .cta-action {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
}

.event-wrapper .btn-register-event {
    background-color: var(--hx-theme-color);
    color: var(--ev-body-bg) !important;
    border: 1px solid var(--hx-theme-color);
    padding: 0.75rem 1.75rem;
    border-radius: 50rem;
    font-weight: 600;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    text-decoration: none;
    cursor: pointer;
}

.event-wrapper .btn-register-event:hover {
    box-shadow: 0 0.35rem 0.7rem -0.3rem color-mix(in srgb, var(--ev-text-heading) 25%, transparent);
    color: var(--ev-body-bg);
}

.event-wrapper .btn-register-event svg {
    transition: transform 0.3s ease;
}

.event-wrapper .btn-register-event:hover svg {
    transform: translateX(4px);
}

.event-wrapper .registration-status-badge {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 1.25rem 0.5rem 0.5rem;
    background-color: var(--ev-body-bg);
    border: 1px solid var(--ev-border-color);
    border-radius: 50rem;
    opacity: 0.9;
}

[data-bs-theme="dark"] .event-wrapper .registration-status-badge {
    background-color: var(--ev-card-bg);
    border-color: var(--hx-gray-800);
}

.event-wrapper .registration-status-badge .icon-box {
    background-color: var(--ev-border-color);
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

[data-bs-theme="dark"] .event-wrapper .registration-status-badge .icon-box {
    background-color: var(--hx-gray-800);
}

.event-wrapper .registration-status-badge span {
    font-size: 0.95rem;
}

.event-wrapper .registration-confirmed {
    background-color: var(--ev-body-bg) !important;
    border: 1px solid var(--ev-border-color) !important;
    transition: all 0.3s ease;
}

[data-bs-theme="dark"] .event-wrapper .registration-confirmed {
    background-color: var(--ev-card-bg) !important;
    border-color: var(--hx-gray-800) !important;
}

.event-wrapper .registration-confirmed .icon-box {
    background: color-mix(in srgb, #198754, transparent 90%);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.event-wrapper .cta-deadline {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.25rem;
    padding: 0.625rem 1.125rem;
    background-color: var(--ev-body-bg);
    border: 1px solid var(--ev-border-color);
    border-radius: 0.5rem;
    transition: all 0.3s ease;
}

[data-bs-theme="dark"] .event-wrapper .cta-deadline {
    background-color: var(--hx-gray-900);
    border-color: var(--hx-gray-800);
}

.event-wrapper .cta-deadline:hover {
    border-color: var(--hx-theme-color);
    box-shadow: 0 0.25rem 0.5rem -0.125rem rgba(0, 0, 0, 0.05);
}

.event-wrapper .cta-deadline .deadline-icon {
    color: var(--hx-theme-color);
    opacity: 0.8;
}

.event-wrapper .cta-deadline .deadline-text {
    display: flex;
    align-items: baseline;
    gap: 0.375rem;
}

.event-wrapper .cta-deadline .deadline-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ev-text-muted);
    font-weight: 600;
}

.event-wrapper .cta-deadline .deadline-value {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--ev-text-heading);
}

.modal-registration .modal-header {
    padding: 2.5rem 2.5rem 1.5rem;
}

.event-registration-form .form-control,
.event-registration-form .form-select {
    background-color: var(--pf-card-bg);
    color: var(--pf-text-title);
    border-radius: 0.75rem;
    padding: 0.75rem 1.125rem;
    font-size: var(--hx-fs-base);
    transition: all 0.3s var(--pf-transition);
}

[data-bs-theme="dark"] .event-registration-form .form-input,
[data-bs-theme="dark"] .event-registration-form textarea,
[data-bs-theme="dark"] .event-registration-form select {
    border-color: var(--hx-gray-800);
}

.event-registration-form .form-control:focus,
.event-registration-form .form-select:focus {
    border-color: var(--hx-theme-color);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--hx-theme-color), transparent 85%);
    background-color: var(--pf-modal-bg);
    outline: none;
}

.event-registration-form .form-label {
    color: var(--pf-text-title);
    font-weight: 600;
    font-size: var(--hx-fs-sm);
    margin-bottom: 0.5rem;
}

.event-registration-form .form-divider {
    border-top: 1px dashed var(--pf-card-border);
    opacity: 1;
}

html[dir="rtl"] .event-wrapper .event-registration-cta::before {
    right: auto;
    left: -10%;
}

html[dir="rtl"] .event-wrapper .btn-register-event:hover svg {
    transform: translateX(-4px);
}

html[dir="rtl"] .event-wrapper .btn-register-event {
    flex-direction: row;
}

@media (max-width: 768px) {
    .event-wrapper .event-registration-cta {
        flex-direction: column;
        text-align: center;
        padding: 1.5rem;
        gap: 1.25rem;
    }

    .event-wrapper .cta-content {
        max-width: 100%;
    }

    .event-wrapper .cta-action {
        width: 100%;
    }

    .event-wrapper .btn-register-event {
        width: 100%;
        justify-content: center;
    }

    .event-wrapper .cta-deadline {
        justify-content: center;
        width: 100%;
        margin-top: 1.5rem;
    }
}

/*--------------------------------------------------------------
# Recipe
--------------------------------------------------------------*/
.recipe-container {
    --brand-accent: var(--hx-theme-color);
    --rc-pill-bg: color-mix(in srgb, white 60%, var(--hx-theme-color) 40%);
    --rc-bg-surface: var(--hx-gray-25);
    --rc-bg-surface-alt: var(--hx-gray-50);
    --rc-text-main: var(--hx-gray-800);
    --rc-text-muted: var(--hx-gray-500);
    --rc-border: var(--hx-gray-150);
    --rc-check-border: var(--hx-gray-300);
    --rc-shadow: 0 15px 40px rgba(0, 0, 0, 0.04);
    color: var(--rc-text-main);
    line-height: 1.7;
    max-width: 100%;
    overflow: hidden !important;
}

[data-bs-theme="dark"] .recipe-container {
    --rc-bg-surface: var(--hx-gray-900);
    --rc-bg-surface-alt: var(--hx-gray-850);
    --rc-text-main: var(--hx-gray-200);
    --rc-text-muted: var(--hx-gray-400);
    --rc-border: var(--hx-gray-850);
    --rc-check-border: var(--hx-gray-500);
    --rc-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    --rc-pill-bg: rgba(45, 101, 254, 0.15);
}

.recipe-container,
.recipe-container * {
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.recipe-container .text-accent {
    color: var(--brand-accent) !important;
}

.recipe-container .text-muted {
    color: var(--rc-text-muted) !important;
}

.recipe-container .border-bottom {
    border-bottom-color: var(--rc-border) !important;
}

.recipe-container .recipe-meta-card {
    background-color: var(--rc-bg-surface);
    border: 1px solid var(--rc-border);
    position: relative;
    border-radius: 0.75rem;
    margin: 2rem 0 1.5rem 0;
    box-shadow: 0 0.625rem 1.5625rem -0.3125rem rgba(0, 0, 0, 0.04) !important;
}

.recipe-container .meta-divider {
    border-inline-end: 1px solid var(--rc-border);
}

.recipe-container .recipe-meta-card .meta-label {
    letter-spacing: 1px;
    font-size: var(--hx-fs-xs);
}

.recipe-container .recipe-meta-card .meta-value {
    font-size: var(--hx-fs-title-md);
}

@media (max-width: 768px) {
    .recipe-container .meta-divider {
        border-inline-end: none;
    }

    .recipe-container .recipe-meta-card .row > div:nth-child(1),
    .recipe-container .recipe-meta-card .row > div:nth-child(2) {
        border-bottom: 1px solid var(--rc-border);
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }

    .recipe-container .recipe-meta-card .row > div:nth-child(3),
    .recipe-container .recipe-meta-card .row > div:nth-child(4) {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
}

.recipe-container .title-recipe-info {
    font-size: var(--hx-fs-title-2xl);
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.recipe-container .ingredient-list {
    list-style: none;
    padding-inline-start: 0;
    margin-bottom: 0;
}

.recipe-container .ingredient-list li {
    padding: 1rem 0;
    border-bottom: 1px solid var(--rc-border);
    font-size: var(--hx-fs-lg);
}

.recipe-container .ingredient-list li:last-child {
    border-bottom: none;
}

.recipe-container .custom-check-circle {
    width: 1.35rem;
    height: 1.35rem;
    border: 2px solid var(--rc-check-border);
    border-radius: 50%;
    margin-inline-end: 0.75rem;
    margin-top: 0.25rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.recipe-container .custom-check-circle svg {
    width: 0.8rem;
    height: 0.8rem;
    color: white;
    opacity: 0;
    transform: scale(0.2) translateY(5px);
    transition: all 0.2s ease-in-out;
}

.recipe-container .ingredient-checkbox:checked + .custom-check-circle {
    background-color: var(--brand-accent);
    border-color: var(--brand-accent);
    box-shadow: 0 4px 12px rgba(45, 101, 254, 0.25);
}

.recipe-container .ingredient-checkbox:checked + .custom-check-circle svg {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.recipe-container .ingredient-checkbox:checked ~ .ingredient-text {
    text-decoration: line-through;
    color: var(--rc-text-muted);
    opacity: 0.7;
}

.recipe-container .nutrition-card {
    background-color: var(--rc-bg-surface-alt);
    border: 1px solid var(--rc-border);
    box-shadow: var(--rc-shadow);
    border-radius: 0.75rem;
    width: 100%;
    max-width: 360px;
}

.recipe-container .nutrition-card .title-recipe-info {
    font-size: var(--hx-fs-title-md);
}

.recipe-container .nutrition-row {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    border-bottom: 1px dashed var(--rc-border);
    font-size: var(--hx-fs-base);
    gap: 10px;
}

.recipe-container .nutrition-row:last-child {
    border-bottom: none;
}

.recipe-container .icon-md {
    width: 1.5rem;
    height: 1.5rem;
}

.recipe-container .directions-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.recipe-container .direction {
    margin-bottom: 2.5rem;
}

.recipe-container .direction:last-child {
    margin-bottom: 1rem;
}

.recipe-container .direction .step-title {
    font-size: var(--hx-fs-title-md);
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--rc-heading);
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.recipe-container .direction .step-description {
    color: var(--hx-gray-600);
}

@media (max-width: 768px) {
    .recipe-container .direction {
        margin-bottom: 2rem;
    }
}

/*--------------------------------------------------------------
# Video Player
--------------------------------------------------------------*/

#plyr-wrapper {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

#plyr-wrapper.visible {
    opacity: 1;
    visibility: visible;
}

#plyr-wrapper .plyr {
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

#plyr-wrapper .plyr--video .plyr__control--overlaid {
    background: var(--hx-theme-color);
    opacity: 0.9;
    color: white;
}

#plyr-wrapper .plyr--video .plyr__control--overlaid:hover {
    background: var(--hx-theme-color);
    opacity: 1;
}

/*--------------------------------------------------------------
# Audio Player
--------------------------------------------------------------*/
.amp-player-wrapper {
    --ap-bg-player: var(--hx-gray-25);
    --ap-bg-panel: var(--hx-gray-50);
    --ap-text-main: var(--hx-gray-900);
    --ap-text-sub: var(--hx-gray-500);
    --ap-border: var(--hx-gray-100);
    --ap-hover-bg: var(--hx-gray-100);
    --ap-slider-track: var(--hx-gray-150);
    --ap-shadow: 0 1.25rem 2.5rem -0.3125rem rgba(0, 0, 0, 0.1);
    --ap-radius: 1rem;

    width: 100%;
    max-width: 56.25rem;
    margin: 0 auto;
    box-sizing: border-box;
    color: var(--ap-text-main);
}

:root[data-bs-theme="dark"] .amp-player-wrapper,
[data-bs-theme="dark"] .amp-player-wrapper {
    --ap-bg-player: var(--hx-gray-900);
    --ap-bg-panel: var(--hx-gray-875);
    --ap-text-main: var(--hx-gray-50);
    --ap-text-sub: var(--hx-gray-400);
    --ap-border: var(--hx-gray-700);
    --ap-hover-bg: var(--hx-gray-800);
    --ap-slider-track: var(--hx-gray-300);
    --ap-shadow: 0 1.25rem 2.5rem -0.3125rem rgba(0, 0, 0, 0.6);
}

.amp-player-wrapper * {
    box-sizing: border-box;
}

html[dir="rtl"] .amp-player-wrapper .control-btn#previous svg,
html[dir="rtl"] .amp-player-wrapper .control-btn#next svg {
    transform: scaleX(-1);
}

html[dir="rtl"] .amp-player-wrapper input[type=range] {
    direction: rtl;
}

.amp-player-wrapper #amplitude-player {
    background-color: var(--ap-bg-player);
    box-shadow: var(--ap-shadow);
    border-radius: var(--ap-radius);
    display: flex;
    flex-direction: row;
    overflow: hidden;
    border: 1px solid var(--ap-border);
    min-height: 30.625rem;
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

@media screen and (max-width: 48rem) {
    .amp-player-wrapper #amplitude-player {
        flex-direction: column;
        height: auto;
    }

    .amp-player-wrapper #amplitude-left,
    .amp-player-wrapper #amplitude-right {
        width: 100% !important;
    }

    .amp-player-wrapper #amplitude-left {
        border-inline-end: none !important;
        border-bottom: 1px solid var(--ap-border);
    }

    .amp-player-wrapper #amplitude-left img.album-art {
        max-height: 21.875rem;
        min-height: 15.625rem;
    }

    .amp-player-wrapper #amplitude-right {
        height: 25rem;
    }
}

.amp-player-wrapper #amplitude-left {
    width: 50%;
    display: flex;
    flex-direction: column;
    background-color: var(--ap-bg-player);
    border-inline-end: 1px solid var(--ap-border);
}

.amp-player-wrapper #amplitude-left img.album-art {
    width: 100%;
    height: auto;
    min-height: 18.75rem;
    max-height: 18.75rem;
    object-fit: cover;
    display: block;
    background-color: var(--hx-gray-200);
}

.amp-player-wrapper #player-left-bottom {
    flex: 1;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.amp-player-wrapper #meta-container {
    text-align: center;
    margin-bottom: 1rem;
}

.amp-player-wrapper span.song-name {
    display: block;
    color: var(--ap-text-main);
    font-size: 1rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.amp-player-wrapper div.song-artist-album {
    color: var(--ap-text-sub);
    font-size: 0.9rem;
    font-weight: 500;
    margin-top: 0.25rem;
}

.amp-player-wrapper #time-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    color: var(--ap-text-sub);
    font-size: 0.75rem;
    font-weight: 600;
}

.amp-player-wrapper #time-container .current-time, .amp-player-wrapper #time-container .duration {
    min-width: 2.8125rem;
}

.amp-player-wrapper #progress-container {
    flex-grow: 1;
    position: relative;
    height: 0.375rem;
    cursor: pointer;
    margin: 0 0.625rem;
    background: var(--ap-slider-track);
    border-radius: 0.625rem;
}

.amp-player-wrapper input[type=range] {
    -webkit-appearance: none;
    width: 100%;
    margin: 0;
    position: absolute;
    z-index: 2;
    top: -0.4375rem;
    height: 1.25rem;
    cursor: pointer;
    background-color: transparent;
}

.amp-player-wrapper input[type=range]:focus {
    outline: none;
}

.amp-player-wrapper progress#song-played-progress {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    z-index: 1;
    -webkit-appearance: none;
    appearance: none;
    height: 0.375rem;
    border-radius: 0.625rem;
    background: transparent;
    border: none;
}

.amp-player-wrapper progress#song-played-progress::-webkit-progress-bar {
    background-color: transparent;
}

.amp-player-wrapper progress#song-played-progress[value]::-webkit-progress-value {
    background-color: var(--hx-theme-color);
    border-radius: 0.625rem;
}

.amp-player-wrapper progress#song-played-progress::-moz-progress-bar {
    background-color: var(--hx-theme-color);
}

.amp-player-wrapper #control-container {
    margin-top: 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 3.75rem;
}

.amp-player-wrapper #repeat-container {
    flex: 1;
    display: flex;
    gap: 1rem;
    justify-content: flex-start;
    align-items: center;
}

.amp-player-wrapper #central-control-container {
    flex: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}

.amp-player-wrapper #central-controls {
    display: flex;
    align-items: center;
    gap: 0.125rem;
}

.amp-player-wrapper #volume-container {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
}

.amp-player-wrapper .volume-controls {
    display: flex;
    align-items: center;
}

.amp-player-wrapper .svg-icon {
    width: 100%;
    height: 100%;
    fill: currentColor;
    display: block;
}

.amp-player-wrapper .control-btn {
    cursor: pointer;
    color: var(--ap-text-sub);
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.amp-player-wrapper .control-btn:hover {
    color: var(--ap-text-main);
    transform: scale(1.1);
}

.amp-player-wrapper .amplitude-shuffle-on,
.amp-player-wrapper .amplitude-repeat-on {
    color: var(--hx-theme-color) !important;
    opacity: 1 !important;
}

.amp-player-wrapper #previous, .amp-player-wrapper #next {
    width: 2.5rem;
    height: 2.5rem;
    background-color: var(--ap-text-main);
    color: var(--ap-bg-player);
    border-radius: 50%;
}

.amp-player-wrapper #previous:hover, .amp-player-wrapper #next:hover {
    transform: scale(1.05);
    background-color: var(--hx-theme-color);
    color: #ffffff;
}

.amp-player-wrapper #previous svg, .amp-player-wrapper #next svg {
    width: 1.375rem;
    height: 1.375rem;
}

.amp-player-wrapper #repeat, .amp-player-wrapper #shuffle {
    width: 1.5rem;
    height: 1.5rem;
}

.amp-player-wrapper #repeat svg, .amp-player-wrapper #shuffle svg {
    width: 1.125rem;
    height: 1.125rem;
}

.amp-player-wrapper #play-pause {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 50%;
    background-color: var(--ap-text-main);
    color: var(--ap-bg-player);
    transition: transform 0.2s, background-color 0.3s;
}

.amp-player-wrapper #play-pause:hover {
    transform: scale(1.05);
    background-color: var(--hx-theme-color);
    color: #ffffff;
}

.amp-player-wrapper #play-pause svg {
    width: 1.75rem;
    height: 1.75rem;
}

.amp-player-wrapper #play-pause .icon-pause {
    display: none;
}

.amp-player-wrapper #play-pause.amplitude-playing .icon-play {
    display: none;
}

.amp-player-wrapper #play-pause.amplitude-playing .icon-pause {
    display: block;
}

.amp-player-wrapper .amplitude-mute {
    width: 1.5rem;
    height: 1.5rem;
    cursor: pointer;
    color: var(--ap-text-sub);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    right: -0.75rem;
}

html[dir="rtl"] .amp-player-wrapper .amplitude-mute {
    right: auto;
    left: -0.75rem;
    transform: scaleX(-1);
}

.amp-player-wrapper .amplitude-mute:hover {
    color: var(--ap-text-main);
}

.amp-player-wrapper .amplitude-mute svg {
    width: 1.25rem;
    height: 1.25rem;
}

.amp-player-wrapper .amplitude-mute .icon-mute {
    display: none;
}

.amp-player-wrapper .amplitude-mute.amplitude-muted .icon-volume {
    display: none;
}

.amp-player-wrapper .amplitude-mute.amplitude-muted .icon-mute {
    display: block;
    color: #ef4444;
}

.amp-player-wrapper input[type=range].amplitude-volume-slider {
    position: static;
    width: 100%;
    margin-inline-start: 0.75rem;
    height: 0.25rem;
    background: var(--ap-slider-track);
    border-radius: 0.25rem;
    -webkit-appearance: none;
    margin-top: 0;
}

.amp-player-wrapper #amplitude-right {
    width: 50%;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    background-color: var(--ap-bg-panel);
    border-inline-start: 1px solid var(--ap-border);
    padding: 1.25rem;
    max-height: 30.625rem;
    overflow-y: auto;
}

.amp-player-wrapper #amplitude-right::-webkit-scrollbar {
    width: 0.375rem;
}

.amp-player-wrapper .song {
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
    border-radius: 0.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: all 0.2s ease;
    background-color: var(--ap-bg-player);
    border: 1px solid transparent;
}

.amp-player-wrapper .song:hover {
    background-color: var(--ap-hover-bg);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.06);
    border-color: var(--ap-border);
    transform: translateY(-1px);
}

.amp-player-wrapper .song.amplitude-active-song-container {
    background-color: var(--ap-hover-bg);
    border: 1px solid var(--hx-theme-color);
    box-shadow: 0 0.125rem 0.5rem color-mix(in srgb, var(--hx-theme-color), transparent 85%);
}

.amp-player-wrapper .song-now-playing-icon-container {
    width: 1.5rem;
    height: 1.5rem;
    margin-inline-end: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--ap-text-sub);
}

.amp-player-wrapper .song-now-playing-icon-container svg {
    width: 1.125rem;
    height: 1.125rem;
}

.amp-player-wrapper .song .icon-playing,
.amp-player-wrapper .song .icon-list-play {
    display: none;
}

.amp-player-wrapper .song .icon-music {
    display: block;
    opacity: 0.5;
}

.amp-player-wrapper .song:hover .icon-music {
    display: none;
}

.amp-player-wrapper .song:hover .icon-list-play {
    display: block;
    color: var(--ap-text-main);
}

.amp-player-wrapper .song.amplitude-active-song-container .icon-music {
    display: block;
    color: var(--hx-theme-color);
}

.amp-player-wrapper .song.amplitude-active-song-container:hover .icon-list-play {
    display: none;
}

.amp-player-wrapper .song.amplitude-active-song-container.amplitude-playing .icon-music {
    display: none;
}

.amp-player-wrapper .song.amplitude-active-song-container.amplitude-playing .icon-playing {
    display: block;
    color: var(--hx-theme-color);
    animation: pulse 1.5s infinite ease-in-out;
}

@keyframes pulse {
    0% {
        transform: scale(0.95);
        opacity: 0.7;
    }
    50% {
        transform: scale(1.1);
        opacity: 1;
    }
    100% {
        transform: scale(0.95);
        opacity: 0.7;
    }
}

.amp-player-wrapper .song-meta-data {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.amp-player-wrapper span.song-title {
    color: var(--ap-text-main);
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.amp-player-wrapper .song.amplitude-active-song-container span.song-title {
    color: var(--hx-theme-color);
}

.amp-player-wrapper span.song-artist {
    color: var(--ap-text-sub);
    font-size: 0.8rem;
    margin-top: 0.25rem;
    font-weight: 500;
}

.amp-player-wrapper .download-btn {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ap-text-sub);
    margin-inline-start: 0.75rem;
    transition: all 0.2s;
    background-color: transparent;
    border: 1px solid transparent;
}

.amp-player-wrapper .download-btn:hover {
    background-color: var(--ap-hover-bg);
    color: var(--hx-theme-color);
}

.amp-player-wrapper .download-btn svg {
    width: 1rem;
    height: 1rem;
}

.amp-player-wrapper span.song-duration {
    color: var(--ap-text-sub);
    font-size: 0.85rem;
    font-weight: 600;
    min-width: 2.8125rem;
    text-align: end;
}

.amp-player-wrapper .amplitude-wave-form,
.amp-player-wrapper #large-visualization,
.amp-player-wrapper #song-buffered-progress {
    display: none;
}

.amp-player-wrapper input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 0.875rem;
    height: 0.875rem;
    border-radius: 50%;
    background: var(--hx-gray-200);
    border-color: var(--hx-gray-200);
    cursor: pointer;
}

.amp-player-wrapper input[type=range]::-moz-range-thumb {
    width: 0.875rem;
    height: 0.875rem;
    border-radius: 50%;
    background: var(--hx-gray-200);
    border-color: var(--hx-gray-200);
    cursor: pointer;
}

.amp-player-wrapper input[type=range]::-webkit-slider-thumb:hover,
.amp-player-wrapper input[type=range]::-moz-range-thumb:hover {
    transform: scale(1.3);
    background: var(--hx-theme-color);
}

/*--------------------------------------------------------------
# Newsletter Popup
--------------------------------------------------------------*/
.newsletter-popup-container {
    --nsp-accent-color: var(--accent-on-light, #76571f);
    --nsp-error-color: #dc3545;
    --nsp-heading-color: var(--hx-gray-900);
    --nsp-bg-color: #ffffff;
    --nsp-text-color: var(--hx-gray-500);
    --nsp-input-border: var(--hx-gray-200);
    --nsp-input-placeholder: var(--hx-gray-350);
    --nsp-radius: 6px;
    --nsp-font-primary: var(--hx-font-secondary);
    --nsp-font-secondary: var(--hx-font-primary);
    --nsp-btn-bg: var(--hx-gray-900);
    --nsp-btn-text: #ffffff;
    --nsp-btn-border: var(--hx-gray-900);
}

[data-bs-theme="dark"] .newsletter-popup-container {
    --nsp-heading-color: var(--hx-gray-100);
    --nsp-bg-color: var(--hx-gray-900);
    --nsp-text-color: var(--hx-gray-400);
    --nsp-accent-color: var(--accent-on-dark, #c9a56d);
    --nsp-input-border: var(--hx-gray-700);
    --nsp-input-placeholder: var(--hx-gray-500);
    --nsp-btn-bg: var(--hx-gray-800);
    --nsp-btn-text: var(--hx-gray-200);
    --nsp-btn-border: var(--hx-gray-700);
}

.newsletter-popup-container .modal {
    padding-right: 0 !important;
}

.newsletter-popup-container .modal-content {
    border: none;
    border-radius: var(--nsp-radius);
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.15);
    background-color: var(--nsp-bg-color);
    overflow: hidden;
    font-family: var(--nsp-font-secondary);
    transition: background-color 0.3s ease;
}

.newsletter-popup-container .modal-body {
    padding: 0;
}

.newsletter-popup-container .image-wrapper {
    min-height: 370px;
    height: 100%;
    width: 100%;
    background-color: var(--hx-gray-100);
    position: relative;
    overflow: hidden;
}

.newsletter-popup-container .image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 2s ease, filter 0.3s ease;
}

[data-bs-theme="dark"] .newsletter-popup-container .image-wrapper img {
    filter: brightness(0.85);
}

.newsletter-popup-container .modal-content:hover .image-wrapper img {
    transform: scale(1.05);
}

.newsletter-popup-container .image-wrapper::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent);
    pointer-events: none;
}

.newsletter-popup-container h2.premium-heading {
    font-family: var(--nsp-font-primary);
    font-size: var(--hx-fs-title-4xl);
    line-height: var(--hx-lh-title-4xl);
    color: var(--nsp-heading-color);
    margin-bottom: 0.5rem;
    font-weight: 800;
    letter-spacing: -1px;
}

.newsletter-popup-container .premium-text {
    color: var(--nsp-text-color);
    font-family: var(--nsp-font-secondary);
    font-weight: 400;
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    margin-bottom: 1.25rem;
}

.newsletter-popup-container .exclusive-badge {
    font-family: var(--nsp-font-primary);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: var(--hx-fs-xs);
    font-weight: 700;
    color: var(--nsp-accent-color);
    margin-bottom: 0.5rem;
    display: inline-block;
}

.newsletter-popup-container .form-group-lux {
    position: relative;
    margin-bottom: 1rem;
}

.newsletter-popup-container .form-input-lux {
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--nsp-input-border);
    padding: 14px 0;
    font-family: var(--nsp-font-primary);
    font-size: var(--hx-fs-lg);
    font-weight: 500;
    background: transparent;
    border-radius: 0;
    outline: none;
    transition: all 0.3s ease;
    color: var(--nsp-heading-color);
}

.newsletter-popup-container .form-input-lux::placeholder {
    color: var(--nsp-input-placeholder);
    font-family: var(--nsp-font-secondary);
    font-size: var(--hx-fs-md);
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    transition: color 0.3s;
}

.newsletter-popup-container .form-input-lux:focus::placeholder {
    color: var(--nsp-text-color);
}

.newsletter-popup-container .form-input-lux:focus {
    border-bottom-color: var(--nsp-accent-color);
}

[data-bs-theme="dark"] .newsletter-popup-container .form-input-lux:focus {
    border-bottom-color: var(--nsp-input-border);
}

.newsletter-popup-container .form-input-lux.input-error {
    border-bottom-color: var(--nsp-error-color) !important;
    color: var(--nsp-error-color);
}

.newsletter-popup-container .form-input-lux.input-error::placeholder {
    color: var(--nsp-error-color);
    opacity: 0.7;
}

.newsletter-popup-container .btn-lux {
    background-color: var(--nsp-btn-bg);
    color: var(--nsp-btn-text);
    border: 1px solid var(--nsp-btn-border);
    width: 100%;
    padding: 16px;
    text-transform: uppercase;
    font-family: var(--nsp-font-primary);
    letter-spacing: 1px;
    font-size: var(--hx-fs-sm);
    font-weight: 600;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border-radius: var(--nsp-radius);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.newsletter-popup-container .btn-lux:hover {
    background-color: transparent;
    color: var(--nsp-btn-bg);
    box-shadow: none;
}

[data-bs-theme="dark"] .newsletter-popup-container .btn-lux:hover {
    background-color: var(--hx-gray-750);
    color: var(--hx-gray-100);
    border-color: var(--hx-gray-600);
}

.newsletter-popup-container #nspSuccessContainer {
    text-align: center;
    padding: 10px 0;
    display: none;
}

.newsletter-popup-container .success-title {
    font-family: var(--nsp-font-primary);
    font-weight: 800;
    font-size: var(--hx-fs-title-3xl);
    line-height: var(--hx-lh-title-3xl);
    color: var(--nsp-heading-color);
    letter-spacing: -1px;
}

.newsletter-popup-container .btn-success-close {
    display: inline-flex;
    letter-spacing: 2px;
    border-radius: var(--nsp-radius);
    font-size: var(--hx-fs-xs);
    padding: 12px 24px;
    border-color: var(--nsp-accent-color);
    color: var(--nsp-accent-color);
}

.newsletter-popup-container .btn-success-close:hover {
    background-color: var(--nsp-accent-color);
    color: #ffffff;
    border-color: var(--nsp-accent-color);
}

[data-bs-theme="dark"] .newsletter-popup-container .btn-success-close {
    background-color: var(--nsp-btn-bg);
    color: var(--nsp-btn-text);
    border: 1px solid var(--nsp-btn-border);
}

[data-bs-theme="dark"] .newsletter-popup-container .btn-success-close:hover {
    background-color: var(--hx-gray-750);
    color: var(--hx-gray-100);
    border-color: var(--hx-gray-600);
}

.newsletter-popup-container input[name='url'] {
    display: none !important;
}

[dir="rtl"] .newsletter-popup-container .premium-text,
[dir="rtl"] .newsletter-popup-container h2,
.newsletter-popup-container.newsletter-popup-rtl .premium-text,
.newsletter-popup-container.newsletter-popup-rtl h2 {
    text-align: right;
}

[dir="rtl"] .newsletter-popup-container .row,
.newsletter-popup-container.newsletter-popup-rtl .row {
    flex-direction: row-reverse;
}

@media (max-width: 768px) {
    .newsletter-popup-container .col-md-5 {
        display: none !important;
    }

    .newsletter-popup-container .px-5 {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .newsletter-popup-container .py-4 {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    .newsletter-popup-container .btn-lux {
        padding: 14px;
    }
}

@media (max-width: 576px) {
    .newsletter-popup-container .py-4 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.media-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.25);
    border: 2px solid var(--hx-gray-150);
    border-radius: 50%;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
    pointer-events: none;
    user-select: none;
    width: 2.75rem;
    height: 2.75rem;
}

.media-icon .hx-icon {
    color: var(--hx-gray-150);
    width: 1.55rem;
    height: 1.55rem;
}

.media-icon .vri-play {
    margin-left: 0.18rem;
}

.media-icon.media-lg {
    width: 4rem;
    height: 4rem;
    box-shadow: 0 0.375rem 1.125rem rgba(0, 0, 0, 0.25);
    border-width: 2px;
}

.media-icon.media-lg .hx-icon {
    width: 2.4rem;
    height: 2.4rem;
}

.media-icon.media-lg .vri-play {
    margin-left: 0.3rem;
}

.media-icon.media-md {
    width: 2.75rem;
    height: 2.75rem;
    box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.2);
}

.media-icon.media-md .hx-icon {
    width: 1.3rem;
    height: 1.3rem;
}

.media-icon.media-md .vri-play {
    margin-left: 0.15rem;
}

.media-icon.media-sm {
    width: 1.875rem;
    height: 1.875rem;
    box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, 0.2);
    border-width: 1.5px;
}

.media-icon.media-sm .hx-icon {
    width: 1.05rem;
    height: 1.05rem;
}

.media-icon.media-sm .vri-play {
    margin-left: 0.1rem;
}

.list-event-badge {
    position: absolute;
    top: 0.938rem;
    right: 0.938rem;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 3.875rem;
    padding: 0.625rem 0.5rem;
    background-color: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 0.75rem;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.15);
    text-align: center;
    line-height: 1;
    color: var(--hx-color-white);
}

.list-event-badge .le-day {
    font-size: 1.375rem;
    font-weight: 700;
    display: block;
    margin-bottom: 0.188rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.list-event-badge .le-month {
    font-size: 0.688rem;
    text-transform: uppercase;
    font-weight: 700;
    display: block;
    margin-bottom: 0.188rem;
    letter-spacing: 0.063rem;
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.list-event-badge .le-year {
    font-size: 0.688rem;
    color: rgba(255, 255, 255, 0.7);
    display: block;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.list-event-badge.media-md {
    top: 0.75rem;
    right: 0.75rem;
    min-width: 3.25rem;
    padding: 0.5rem 0.438rem;
    border-radius: 0.625rem;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.list-event-badge.media-md .le-day {
    font-size: 1.125rem;
}

.list-event-badge.media-md .le-month,
.list-event-badge.media-md .le-year {
    font-size: 0.625rem;
    letter-spacing: 0.05rem;
}

.list-event-badge.media-sm {
    top: 0.5rem;
    right: 0.5rem;
    min-width: 2.75rem;
    padding: 0.438rem 0.375rem;
    border-radius: 0.5rem;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}

.list-event-badge.media-sm .le-day {
    font-size: 0.875rem;
}

.list-event-badge.media-sm .le-month,
.list-event-badge.media-sm .le-year {
    font-size: 0.5rem;
    letter-spacing: 0.04rem;
}

/*--------------------------------------------------------------
# Post Image Preview
--------------------------------------------------------------*/
.post-image-preview {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.post-image-preview .post-detail-slider-nav {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    z-index: 100;
}

.post-image-preview .post-detail-slider-nav button {
    position: relative;
    display: flex;
    height: 2.75rem;
    width: 2.75rem;
    justify-content: center;
    align-items: center;
    border: 0 !important;
    pointer-events: auto;
    background-color: var(--hx-gray-850);
    color: var(--hx-color-white);
    opacity: .8;
    border-radius: var(--hx-border-radius);
    transition: all 0.2s;
}

.post-image-preview .post-detail-slider-nav button:hover {
    color: var(--hx-theme-color);
}

html[dir="rtl"] .post-detail-slider-nav svg {
    transform: scaleX(-1);
}

/*--------------------------------------------------------------
# Category Block Post Loader
--------------------------------------------------------------*/
.category-block-loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 50;
    display: flex;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(0.2px);
    -webkit-backdrop-filter: blur(0.2px);
    border-radius: 6px;
    transition: all 0.3s ease-in-out;
}

.category-block-loader.d-none {
    display: none !important;
}

.category-block-loader .loader-spinner {
    display: inline-block;
    width: 50px;
    height: 50px;
    opacity: 0.6;
}

.category-block-loader .loader-spinner:after {
    content: " ";
    display: block;
    width: 40px;
    height: 40px;
    margin: 5px;
    border-radius: 50%;
    border: 3px solid;
    border-color: var(--hx-theme-color) transparent var(--hx-theme-color) transparent;
    animation: loader-dual-ring 1.2s linear infinite;
}

@keyframes loader-dual-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/*--------------------------------------------------------------
# Pagination
--------------------------------------------------------------*/
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    list-style: none;
    padding: 0;
    margin: 3rem 0;
}

.pagination .page-item {
    margin: 0;
}

.pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--hx-gray-600) !important;
    border: 1px solid var(--hx-gray-125);
    border-radius: 0.25rem;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    line-height: 1;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
    background-color: var(--hx-gray-100);
    border-color: var(--hx-gray-250);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.pagination .page-item.active .page-link {
    color: #ffffff !important;
    background-color: var(--hx-theme-color);
    border-color: var(--hx-theme-color);
    pointer-events: none;
    font-weight: 600;
}

.pagination .page-link[aria-label] span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: -2px;
    font-size: 1.125rem;
    font-weight: 400;
}

.pagination .page-item.disabled .page-link {
    color: var(--hx-gray-300);
    background-color: transparent;
    pointer-events: none;
}

[data-bs-theme="dark"] .pagination .page-link {
    color: var(--hx-gray-300);
    background-color: var(--hx-body-secondary-bg, var(--hx-gray-875));
    border-color: var(--hx-gray-800);
}

[data-bs-theme="dark"] .pagination .page-link:hover,
[data-bs-theme="dark"] .pagination .page-link:focus {
    color: var(--hx-theme-color);
    background-color: var(--hx-gray-800);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

[data-bs-theme="dark"] .pagination .page-item.active .page-link {
    color: #ffffff;
    background-color: var(--hx-theme-color);
    border-color: var(--hx-theme-color);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}

@media (max-width: 575.98px) {
    .pagination {
        gap: 0.25rem;
        margin: 2rem 0;
        flex-wrap: wrap;
    }

    .pagination .page-link {
        width: 2.125rem;
        height: 2.125rem;
        font-size: 0.8125rem;
        border-radius: 0.375rem;
    }

    .pagination .page-link[aria-label] span {
        font-size: 1rem;
        margin-top: -1px;
    }
}

/*--------------------------------------------------------------
# Scroll Up
--------------------------------------------------------------*/
.btn-scroll-up {
    display: none;
    position: fixed;
    width: 2.625rem;
    height: 2.625rem;
    bottom: 2rem;
    right: 1rem;
    background-color: var(--hx-block-color);
    color: var(--hx-color-white) !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0.25rem;
    z-index: 9999;
    transition: all 0.2s ease;
}

.btn-scroll-up:hover, .btn-scroll-up:active, .btn-scroll-up:focus {
    color: var(--hx-theme-color) !important;
}

.btn-scroll-up svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/*--------------------------------------------------------------
# Post Attachments
--------------------------------------------------------------*/
.post-attachments {
    --pa-text-main: var(--hx-gray-700);
    --pa-text-sub: var(--hx-gray-500);
    --pa-item-bg: var(--hx-gray-50);
    --pa-item-border: var(--hx-gray-100);
    --pa-item-hover-bg: #ffffff;
    --pa-item-hover-border: var(--hx-theme-color);
    --pa-shadow: 0 0.0625rem 0.125rem 0 rgba(0, 0, 0, 0.05);
    --pa-shadow-hover: 0 0.25rem 0.375rem -0.0625rem rgba(0, 0, 0, 0.1), 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.06);
    --pa-radius: 0.5rem;
    margin-top: 2rem;
}

[data-bs-theme="dark"] .post-attachments {
    --pa-text-main: var(--hx-gray-200);
    --pa-text-sub: var(--hx-gray-400);
    --pa-item-bg: var(--hx-input-bg);
    --pa-item-border: var(--hx-border-color);
    --pa-item-hover-bg: var(--hx-body-secondary-bg);
    --pa-item-hover-border: var(--hx-gray-700);
    --pa-shadow: none;
    --pa-shadow-hover: 0 0.25rem 0.375rem -0.0625rem rgba(0, 0, 0, 0.5);
}

.post-attachments .ps-header {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 1rem;
    font-size: var(--hx-fs-sm);
    text-transform: uppercase;
    letter-spacing: 0.0375rem;
    color: var(--pa-text-sub);
    font-weight: 700;
    padding-left: 0.125rem;
}

.post-attachments .ps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16.25rem, 1fr));
    gap: 0.625rem;
}

.post-attachments .ps-grid form {
    display: contents;
}

.post-attachments .ps-item {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.625rem;
    background-color: var(--pa-item-bg);
    border: 1px solid var(--pa-item-border);
    border-radius: var(--pa-radius);
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    box-shadow: var(--pa-shadow);
    overflow: hidden;
    height: 100%;
}

.post-attachments .ps-item:hover {
    background-color: var(--pa-item-hover-bg);
    border-color: var(--pa-item-hover-border);
    transform: translateY(-0.0625rem);
    box-shadow: var(--pa-shadow-hover);
}

.post-attachments .ps-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0;
    background-color: var(--hx-gray-100);
    color: var(--pa-text-sub);
    transition: transform 0.2s ease;
}

[data-bs-theme="dark"] .post-attachments .ps-icon {
    background-color: var(--hx-gray-800);
}

.post-attachments .ps-icon svg {
    width: 1.125rem;
    height: 1.125rem;
}

.post-attachments .ps-item:hover .ps-icon {
    transform: scale(1.05);
}

.post-attachments .ps-info {
    display: flex;
    flex-direction: column;
    padding: 0 0.625rem;
    min-width: 0;
    flex-grow: 1;
    text-align: left;
}

.post-attachments .ps-filename {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--pa-text-main);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
    margin-bottom: 0.125rem;
}

.post-attachments .ps-badge {
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--pa-text-sub);
    background-color: var(--hx-gray-100);
    padding: 0.0625rem 0.375rem;
    border-radius: 0.25rem;
    display: inline-block;
    align-self: flex-start;
    text-transform: uppercase;
    letter-spacing: 0.01875rem;
    transition: background-color 0.2s, color 0.2s;
}

[data-bs-theme="dark"] .post-attachments .ps-badge {
    background-color: var(--hx-gray-800);
}

.post-attachments .ps-action {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--hx-gray-400);
    background-color: transparent;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.post-attachments .ps-action svg {
    width: 1rem;
    height: 1rem;
}

.post-attachments .ps-item:hover .ps-action {
    color: var(--hx-theme-color);
    background-color: rgba(79, 70, 229, 0.1);
}

html[dir="rtl"] .post-attachments .ps-info {
    text-align: right;
}

html[dir="rtl"] .post-attachments .ps-header {
    padding-left: 0;
    padding-right: 0.125rem;
}

html[dir="rtl"] .post-attachments .ps-action {
    transform: translateX(0.3125rem);
}

html[dir="rtl"] .post-attachments .ps-item:hover .ps-action {
    transform: translateX(0);
}

/*--------------------------------------------------------------
# Cookies Warning
--------------------------------------------------------------*/
#cc-wrapper {
    --cc-bg: rgba(255, 255, 255, 0.98);
    --cc-text: var(--hx-gray-900);
    --cc-text-muted: var(--hx-gray-600);
    --cc-border: var(--hx-gray-200);
    --cc-btn-primary-bg: var(--hx-gray-900);
    --cc-btn-primary-text: #ffffff;
    --cc-accent: var(--hx-theme-color);
    z-index: 9990;
    position: relative;
    font-family: inherit;
}

[data-bs-theme="dark"] #cc-wrapper {
    --cc-bg: rgba(30, 30, 30, 0.98);
    --cc-text: var(--hx-gray-100);
    --cc-text-muted: var(--hx-gray-400);
    --cc-border: var(--hx-gray-700);
    --cc-btn-primary-bg: var(--hx-gray-100);
    --cc-btn-primary-text: var(--hx-gray-950);
    --cc-accent: var(--hx-theme-color);
}

#cc-wrapper #cc-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--cc-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid var(--cc-border);
    box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.03);
    display: none;
    padding: 2rem 0;
    z-index: 9990;
}

#cc-wrapper .banner-inner {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
}

#cc-wrapper .banner-text {
    width: 100%;
}

#cc-wrapper :where(h2, h5) {
    font-size: var(--hx-fs-title-md);
    font-weight: 700;
    color: var(--cc-text);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

#cc-wrapper p {
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    color: var(--cc-text-muted);
    margin: 0;
}

#cc-wrapper .cc-link {
    color: var(--cc-accent);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    transition: opacity 0.2s;
}

#cc-wrapper .cc-link:hover {
    opacity: 0.8;
}

#cc-wrapper .cc-icon {
    width: 1.3em;
    height: 1.3em;
    color: var(--cc-accent);
    display: inline-block;
    vertical-align: text-bottom;
}

#cc-wrapper .btn-cc {
    padding: 0.6rem 1.25rem;
    border-radius: 3rem;
    font-size: var(--hx-fs-md);
    font-weight: 600;
    cursor: pointer;
    border: none;
    white-space: nowrap;
    transition: all 0.2s;
    transform: translateZ(0);
}

#cc-wrapper .btn-cc-primary {
    background: var(--cc-btn-primary-bg);
    color: var(--cc-btn-primary-text);
    box-shadow: inset 0 0 0 1px transparent, 0 2px 4px rgba(0, 0, 0, 0.05);
}

#cc-wrapper .btn-cc-primary:hover {
    opacity: 0.9;
}

#cc-wrapper .btn-cc-outline {
    background: transparent;
    color: var(--cc-text);
    box-shadow: inset 0 0 0 1px var(--cc-border);
}

#cc-wrapper .btn-cc-outline:hover {
    box-shadow: inset 0 0 0 1px var(--cc-text-muted);
}

#cc-wrapper .modal {
    z-index: 9999;
}

#cc-wrapper .modal-content {
    border: 1px solid var(--cc-border);
    border-radius: 16px;
    background-color: var(--cc-bg);
    color: var(--cc-text);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

#cc-wrapper .modal-header {
    border-bottom: none;
    padding: 1.5rem;
}

#cc-wrapper .modal-body {
    padding: 0 1.5rem 1.5rem;
}

#cc-wrapper .modal-footer {
    border-top: 1px solid var(--cc-border);
    padding: 1rem 1.5rem;
}

#cc-wrapper .pref-card {
    border: 1px solid var(--cc-border);
    border-radius: 12px;
    padding: 1rem;
    margin-bottom: 1rem;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

#cc-wrapper .pref-icon-box {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(125, 125, 125, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--cc-text);
}

#cc-wrapper .pref-icon-box svg {
    width: 20px;
    height: 20px;
}

#cc-wrapper .form-check-input.custom-switch {
    width: 3.2em;
    height: 1.8em;
    cursor: pointer;
    background-color: var(--hx-gray-300);
    border: 1px solid transparent;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
    transition: background-position .15s ease-in-out, background-color .2s ease;
}

#cc-wrapper .form-check-input.custom-switch:checked {
    background-color: var(--cc-accent) !important;
    border-color: var(--cc-accent) !important;
    opacity: 1;
}

#cc-wrapper .form-check-input.custom-switch:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.premium-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.2px;
    color: var(--premium-badge-color);
    background: linear-gradient(
            135deg,
            color-mix(in srgb, var(--premium-badge-color) 18%, transparent) 0%,
            color-mix(in srgb, var(--premium-badge-color) 6%, transparent) 100%
    );

    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid color-mix(in srgb, var(--premium-badge-color) 20%, transparent);
    white-space: nowrap;
}

.premium-badge svg,
.premium-badge i {
    width: 14px;
    height: 14px;
    display: block;
}

.premium-badge.premium-badge-sm {
    padding: 4px 8px;
    gap: 5px;
    font-size: 11px;
    border-radius: 6px;
}

.premium-badge.premium-badge-sm svg,
.premium-badge.premium-badge-sm i {
    width: 12px;
    height: 12px;
}

.premium-badge.premium-badge-solid {
    background: color-mix(in srgb, var(--premium-badge-color) 85%, transparent);
    color: #ffffff;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid color-mix(in srgb, #ffffff 25%, transparent);
    box-shadow: 0 6px 15px color-mix(in srgb, var(--premium-badge-color) 35%, transparent),
    0 2px 4px rgba(0, 0, 0, 0.05);
}

.access-badge {
    position: absolute;
    top: 0.938rem;
    right: 0.938rem;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background-color: rgba(10, 10, 10, 0.45);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-top-color: rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.access-badge .badge-icon {
    width: 0.813rem;
    height: 0.813rem;
    fill: #fbbf24;
}

.access-badge.media-sm {
    top: 0.5rem;
    right: 0.5rem;
    width: 1.5rem;
    height: 1.5rem;
}

.access-badge.media-sm .badge-icon {
    width: 0.75rem;
    height: 0.75rem;
    fill: #fbbf24;
}

.access-badge.access-badge-shifted {
    right: 92px;
}

.access-badge.media-sm.access-badge-shifted {
    right: 60px;
}

@media (min-width: 768px) {
    #cc-wrapper .banner-inner {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }

    #cc-wrapper .banner-text {
        padding-right: 2rem;
    }

    #cc-wrapper .cc-btn-group {
        flex-shrink: 0;
        display: flex;
        gap: 0.75rem;
    }
}

@media (max-width: 767px) {
    #cc-wrapper .cc-btn-group {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.75rem;
        width: 100%;
    }

    #cc-wrapper .btn-cc-pref {
        grid-column: 1;
    }

    #cc-wrapper .btn-cc-reject {
        grid-column: 2;
    }

    #cc-wrapper .btn-cc-accept {
        grid-column: 1 / span 2;
        padding: 0.75rem;
    }
}

[dir="rtl"] #cc-wrapper {
    text-align: right;
}

[dir="rtl"] #cc-wrapper .banner-inner {
    text-align: right;
}

[data-bs-theme="dark"] .btn-close {
    filter: invert(1);
}

/*--------------------------------------------------------------
# Payment
--------------------------------------------------------------*/
#payment-container {
    position: relative;
    min-height: 150px;
}

#paypal-processing-loader {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 10;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

/*--------------------------------------------------------------
# Icons
--------------------------------------------------------------*/
.hx-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    vertical-align: middle;
}

.vri-play {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393'/%3E%3C/svg%3E");
}

.vri-music {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M9 13c0 1.105-1.12 2-2.5 2S4 14.105 4 13s1.12-2 2.5-2 2.5.895 2.5 2'/%3E%3Cpath fill-rule='evenodd' d='M9 3v10H8V3z'/%3E%3Cpath d='M8 2.82a1 1 0 0 1 .804-.98l3-.6A1 1 0 0 1 13 2.22V4L8 5z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M9 13c0 1.105-1.12 2-2.5 2S4 14.105 4 13s1.12-2 2.5-2 2.5.895 2.5 2'/%3E%3Cpath fill-rule='evenodd' d='M9 3v10H8V3z'/%3E%3Cpath d='M8 2.82a1 1 0 0 1 .804-.98l3-.6A1 1 0 0 1 13 2.22V4L8 5z'/%3E%3C/svg%3E");
}

.vri-eye {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' viewBox='0 0 1792 1792'%3E%3Cpath d='M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' viewBox='0 0 1792 1792'%3E%3Cpath d='M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z'/%3E%3C/svg%3E");
}

.vri-comments {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' viewBox='0 0 1792 1792'%3E%3Cpath d='M704 384q-153 0-286 52t-211.5 141-78.5 191q0 82 53 158t149 132l97 56-35 84q34-20 62-39l44-31 53 10q78 14 153 14 153 0 286-52t211.5-141 78.5-191-78.5-191-211.5-141-286-52zm0-128q191 0 353.5 68.5t256.5 186.5 94 257-94 257-256.5 186.5-353.5 68.5q-86 0-176-16-124 88-278 128-36 9-86 16h-3q-11 0-20.5-8t-11.5-21q-1-3-1-6.5t.5-6.5 2-6l2.5-5 3.5-5.5 4-5 4.5-5 4-4.5q5-6 23-25t26-29.5 22.5-29 25-38.5 20.5-44q-124-72-195-177t-71-224q0-139 94-257t256.5-186.5 353.5-68.5zm822 1169q10 24 20.5 44t25 38.5 22.5 29 26 29.5 23 25q1 1 4 4.5t4.5 5 4 5 3.5 5.5l2.5 5 2 6 .5 6.5-1 6.5q-3 14-13 22t-22 7q-50-7-86-16-154-40-278-128-90 16-176 16-271 0-472-132 58 4 88 4 161 0 309-45t264-129q125-92 192-212t67-254q0-77-23-152 129 71 204 178t75 230q0 120-71 224.5t-195 176.5z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' viewBox='0 0 1792 1792'%3E%3Cpath d='M704 384q-153 0-286 52t-211.5 141-78.5 191q0 82 53 158t149 132l97 56-35 84q34-20 62-39l44-31 53 10q78 14 153 14 153 0 286-52t211.5-141 78.5-191-78.5-191-211.5-141-286-52zm0-128q191 0 353.5 68.5t256.5 186.5 94 257-94 257-256.5 186.5-353.5 68.5q-86 0-176-16-124 88-278 128-36 9-86 16h-3q-11 0-20.5-8t-11.5-21q-1-3-1-6.5t.5-6.5 2-6l2.5-5 3.5-5.5 4-5 4.5-5 4-4.5q5-6 23-25t26-29.5 22.5-29 25-38.5 20.5-44q-124-72-195-177t-71-224q0-139 94-257t256.5-186.5 353.5-68.5zm822 1169q10 24 20.5 44t25 38.5 22.5 29 26 29.5 23 25q1 1 4 4.5t4.5 5 4 5 3.5 5.5l2.5 5 2 6 .5 6.5-1 6.5q-3 14-13 22t-22 7q-50-7-86-16-154-40-278-128-90 16-176 16-271 0-472-132 58 4 88 4 161 0 309-45t264-129q125-92 192-212t67-254q0-77-23-152 129 71 204 178t75 230q0 120-71 224.5t-195 176.5z'/%3E%3C/svg%3E");
}

.vri-angle-left {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3E%3Cpath fill-rule='evenodd' d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3E%3Cpath fill-rule='evenodd' d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3E%3C/svg%3E");
}

.vri-angle-right {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");
}

.vri-send {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M568.4 37.7C578.2 34.2 589 36.7 596.4 44C603.8 51.3 606.2 62.2 602.7 72L424.7 568.9C419.7 582.8 406.6 592 391.9 592C377.7 592 364.9 583.4 359.6 570.3L295.4 412.3C290.9 401.3 292.9 388.7 300.6 379.7L395.1 267.3C400.2 261.2 399.8 252.3 394.2 246.7C388.6 241.1 379.6 240.7 373.6 245.8L261.2 340.1C252.1 347.7 239.6 349.7 228.6 345.3L70.1 280.8C57 275.5 48.4 262.7 48.4 248.5C48.4 233.8 57.6 220.7 71.5 215.7L568.4 37.7z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M568.4 37.7C578.2 34.2 589 36.7 596.4 44C603.8 51.3 606.2 62.2 602.7 72L424.7 568.9C419.7 582.8 406.6 592 391.9 592C377.7 592 364.9 583.4 359.6 570.3L295.4 412.3C290.9 401.3 292.9 388.7 300.6 379.7L395.1 267.3C400.2 261.2 399.8 252.3 394.2 246.7C388.6 241.1 379.6 240.7 373.6 245.8L261.2 340.1C252.1 347.7 239.6 349.7 228.6 345.3L70.1 280.8C57 275.5 48.4 262.7 48.4 248.5C48.4 233.8 57.6 220.7 71.5 215.7L568.4 37.7z'/%3E%3C/svg%3E");
}

.vri-calendar {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M8 14h.01'/%3E%3Cpath d='M12 14h.01'/%3E%3Cpath d='M16 14h.01'/%3E%3Cpath d='M8 18h.01'/%3E%3Cpath d='M12 18h.01'/%3E%3Cpath d='M16 18h.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M8 14h.01'/%3E%3Cpath d='M12 14h.01'/%3E%3Cpath d='M16 14h.01'/%3E%3Cpath d='M8 18h.01'/%3E%3Cpath d='M12 18h.01'/%3E%3Cpath d='M16 18h.01'/%3E%3C/svg%3E");
}

/*--------------------------------------------------------------
# Disable Bootstrap Validation Icons for Selects
--------------------------------------------------------------*/
.form-select.is-valid,
.form-select.is-invalid,
.was-validated .form-select:valid,
.was-validated .form-select:invalid {
    background-image: var(--bs-form-select-bg-img) !important;
    background-size: 16px 12px !important;
}

html:not([dir="rtl"]) .form-select.is-valid,
html:not([dir="rtl"]) .form-select.is-invalid,
html:not([dir="rtl"]) .was-validated .form-select:valid,
html:not([dir="rtl"]) .was-validated .form-select:invalid {
    padding-right: 2.25rem !important;
    background-position: right 0.75rem center !important;
}

html[dir="rtl"] .form-select.is-valid,
html[dir="rtl"] .form-select.is-invalid,
html[dir="rtl"] .was-validated .form-select:valid,
html[dir="rtl"] .was-validated .form-select:invalid {
    padding-left: 2.25rem !important;
    padding-right: 0.75rem !important;
    background-position: left 0.75rem center !important;
}

:root {
    --hx-card-border-color: var(--hx-gray-150);
    --hx-card-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
    --hx-footer-bg: var(--hx-gray-900);
    --hx-videos-bg: var(--hx-gray-950);
    --border-radius-sm: 0.188rem;
    --border-radius: 0.375rem;
    --border-radius-lg: 0.5rem;
    --border-radius-xl: 1rem;
    --hx-border-radius-xs: 2px;
    --hx-border-radius-sm: 3px;
    --hx-border-radius: 4px;
    --hx-border-radius-md: 6px;
    --hx-border-radius-lg: 8px;
    --hx-border-radius-xl: 12px;
    --hx-text-main: var(--hx-gray-900);
    --hx-text-muted: var(--hx-gray-500);
    --hx-text-subtle: var(--hx-gray-400);
    --hx-text-faint: var(--hx-gray-300);
    --hx-color-white: #ffffff;
    --hx-green-500: #22c55e;
    --hx-input-border-color: #e2e8f0;
    --hx-error-color: #be1622;
    --hx-online-color: #85cc84;
    --hx-border-color :var(--hx-gray-150);
    --hx-placeholder-color: #9AA2AA;
    --primary-color: var(--hx-theme-color);
    --accent-color: var(--hx-theme-color);
    --thm-black: var(--hx-theme-color);
    --thm-dark-black: var(--hx-theme-color);
    --accent-secondary-color: #47A2DB;
    --secondary-color: #FAFAFB;
    --text-color: #121212;
    --yellow-color: #f9b12e;
    --red-color: #be1622;
    --white-color: #FFFFFF;
    --divider-color: #E6E6EB;
    --dark-divider-color: #FFFFFF1A;
    --error-color: rgb(230, 87, 87);
    --default-font: var(--hx-font-primary);
    --accent-font: var(--hx-font-secondary);
    --thm-primary: #f9b12e;
    --thm-primary-rgb: 23, 65, 138;
    --thm-secondary: #9cb7bd;
    --thm-secondary-rgb: 156, 183, 189;
    --thm-white: #ffffff;
    --thm-white-rgb: 255, 255, 255;
    --thm-gray: #838e91;
    --thm-gray-rgb: 131, 142, 145;
    --thm-border: #e1e8ea;
    --thm-border-rgb: 225, 232, 234;
    --thm-black-rgb: 35, 64, 146;
    --thm-dark-black-rgb: 1, 49, 60;
    --thm-light-bg: #f3f6f7;
    --thm-light-bg-rgb: 243, 246, 247;
    --thm-font: var(--hx-font-secondary);
    --thm-special-font: var(--hx-font-tertiary);
    --scroll-behavior: auto;
}
html {
    scroll-behavior: auto !important;
}

body {
    background-color: var(--hx-color-white);
    color: var(--hx-text-main);
    font-family: var(--hx-font-primary);
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    /* La règle reste surchargeable par les pages narratives qui utilisent position: sticky. */
    overflow-x: hidden;
}

body, div, p, span, a, h1, h2, h3, h4, h5, h6, article, aside, section, header, footer, main, nav, ul, ol, li, th, td, label, button, b, strong, small {
    overflow-wrap: break-word;
    word-break: break-word;
}

img {
    color: transparent;
}

a {
    color: var(--hx-text-main);
    -moz-transition: all .2s ease-in-out 0s;
    -webkit-transition: all .2s ease-in-out 0s;
    transition: all .2s ease-in-out 0s;
    text-decoration: none;
    outline: none !important;
}

a:hover,
a:active,
a:focus {
    outline: none;
    text-decoration: none;
}

.p0 {
    padding: 0 !important;
}

.m0 {
    margin: 0 !important;
}

.m-r-0 {
    margin-right: 0 !important;
}

.m-l-5 {
    margin-left: 5px !important;
}

.m-l-15 {
    margin-left: 15px !important;
}

.m-r-5 {
    margin-right: 5px !important;
}

.m-r-15 {
    margin-right: 15px !important;
}

.m-b-15 {
    margin-bottom: 15px !important;
}

.m-b-20 {
    margin-bottom: 20px !important;
}

.m-b-30 {
    margin-bottom: 30px !important;
}

.width20 {
    width: 20% !important;
}

.width25 {
    width: 25% !important;
}

.width100 {
    width: 100% !important;
}

.display-block {
    display: block !important;
}

.display-inline-block {
    display: inline-block !important;
}

.position-relative {
    position: relative !important;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: var(--hx-font-secondary);
}

.section-mid-title .title {
    font-family: var(--hx-font-secondary);
}

.section .section-content .title {
    font-family: var(--hx-font-secondary);
}

.section .section-head .title {
    font-family: var(--hx-font-primary);
}

.post-content .post-summary h2 {
    font-family: var(--hx-font-secondary);
}

.form-input {
    display: block;
    width: 100%;
    border: 1px solid var(--hx-input-border-color);
    outline: none !important;
    color: var(--hx-gray-850);
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    padding: 0.75rem 1rem;
    box-shadow: none !important;
    border-radius: var(--border-radius);
}

.form-control::placeholder {
    color: var(--hx-placeholder-color);
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: var(--hx-placeholder-color);
}

.form-control::-ms-input-placeholder {
    color: var(--hx-placeholder-color);
}

.form-textarea {
    display: block;
    width: 100%;
    border: 1px solid var(--hx-input-border-color);
    outline: none !important;
    color: var(--hx-gray-850);
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    padding: 0.75rem 1rem;
    box-shadow: none !important;
    border-radius: var(--border-radius);
    height: 120px;
    min-height: 120px;
}

.form-textarea:focus {
    border-color: var(--hx-theme-color);
}

.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.625rem 1.25rem;
    border-radius: var(--border-radius);
    outline: 0 !important;
    box-shadow: none !important;
    transition: all 0.2s ease-in-out;
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    font-weight: 400;
    color: var(--hx-color-white);
}

.btn:hover,
.btn:active,
.btn:focus {
    color: var(--hx-color-white) !important;
}

.btn-custom {
    background-color: var(--hx-theme-color) !important;
    border-color: var(--hx-theme-color) !important;
    color: var(--hx-color-white) !important;
}

.btn-custom:hover, .btn-custom:focus, .btn-custom:active {
    color: var(--hx-color-white) !important;
    background-color: color-mix(in srgb, var(--hx-theme-color), black 10%) !important;
    box-shadow: 0 8px 12px -3px rgba(0, 0, 0, 0.1) !important;
}

.btn-block {
    width: 100% !important;
    padding: 0.938rem 1.375rem;
    border-radius: var(--border-radius);
}

.btn-xs {
    padding: 0.35rem 0.65rem;
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
}

.btn-sm {
    padding: 0.5rem 0.875rem;
    font-size: var(--hx-fs-md);
    line-height: var(--hx-lh-md);
}

.btn-lg {
    padding: 0.75rem 1.375rem;
}

.btn-link {
    padding: 0;
    margin: 0;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    text-decoration: none;
}

.caret::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

.caret-right::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: 0;
    border-bottom: .3em solid transparent;
    border-left: .3em solid;
}

.img-fluid {
    width: 100%;
    max-width: 100%;
    display: block;
    height: auto;
}

.img-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    overflow: hidden;
}

.img-container .img-cover {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tbl-container {
    display: table;
    width: 100%;
    max-width: 100%;
}

.tbl-cell {
    display: table-cell;
    vertical-align: top;
    position: relative;
}

.ul-list {
    margin: 0;
    padding: 0;
}

.ul-list li {
    list-style: none;
}

.breadcrumb {
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
    --bs-breadcrumb-item-padding-x: 0.3rem !important;
}

.breadcrumb a {
    color: var(--hx-text-muted);
}

.breadcrumb-item:hover, .breadcrumb-item.active {
    color: var(--hx-gray-800);
}

.font-weight-normal {
    font-weight: normal !important;
}

.font-weight-600 {
    font-weight: 600 !important;
}

.form-label {
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.display-flex {
    display: flex !important;
}

.tooltip {
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.mega-menu-wrapper .navbar-nav .nav-link:hover,
.mega-menu-wrapper .navbar-nav .nav-item.dropdown:hover .nav-link {
    color: var(--hx-theme-color);
    border-color: var(--hx-theme-color);
}

.mega-menu-wrapper .megamenu {
    border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
}

.dropdown .dropdown-menu {
    border-radius: var(--hx-border-radius-lg);
}

#mega-menu-wrapper .dropdown .dropdown-menu {
    border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
}

@media (min-width: 992px) {
    #mega-menu-wrapper .navbar {
        align-items: stretch;
    }

    #mega-menu-wrapper .navbar-collapse {
        align-items: stretch;
        height: 100%;
    }

    #mega-menu-wrapper .nav-item {
        display: flex;
        align-items: center;
    }
}

.dropdown .dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
    padding: .5rem 1rem;
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    border-radius: var(--border-radius-sm);
}

.mega-menu-wrapper .post-meta a, .mega-menu-wrapper .post-meta span {
    font-size: var(--hx-fs-tiny) !important;
}

.nav-dropdown-menu > li:hover > .dropdown-menu {
    display: block;
}

.dropdown-item:focus, .dropdown-item:hover, .dropdown-item:active, .dropdown-item.active {
    color: var(--hx-gray-900) !important;
    background-color: var(--hx-gray-100) !important;
}

.nav-dropdown-menu > li {
    position: relative;
}

.nav-dropdown-menu .dropdown-sub {
    display: none;
    position: absolute;
    left: 100%;
    top: 0;
}

.nav-dropdown-menu .caret-right {
    position: absolute;
    right: 10px;
    top: 10px;
}

.dropdown-languages .dropdown-menu {
    left: -34px !important;
    max-height: 400px;
    overflow-y: auto;
}

.overlay-bg {
    position: fixed;
    width: 100%;
    height: 100%;
    display: none;
    overflow: hidden;
    background-color: rgba(0, 0, 0, .6);
    top: 0;
    left: 0;
    z-index: 1001;
    animation-name: fadeIn;
}

.title-index {
    text-align: center;
    height: 0;
    margin: 0;
    padding: 0;
    line-height: 0;
    color: transparent;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
}


.badge-category {
    padding: 0 12px;
    font-size: var(--hx-fs-xs);
    line-height: 2em;
    font-weight: normal;
    border-radius: 4px;
    white-space: nowrap;
    word-wrap: normal;
    word-break: normal;
    z-index: 2;
    transition: 0.3s;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
}

.badge-category:hover {
    filter: brightness(0.92);
}

.col-sidebar {
    padding-left: 10px;
}

.post-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    margin: 0;
}

.post-meta .meta-item {
    display: flex;
    align-items: center;
    gap: 0.188rem;
}

.post-meta .meta-item a, .post-meta .meta-item span {
    font-size: var(--hx-fs-xs);
    color: var(--hx-text-muted);
    white-space: nowrap;
}

.post-meta .meta-item .hx-icon {
    color: var(--hx-gray-450);
    width: 12px;
    height: 12px;
}

.lazyload,
.lazyloading {
    opacity: 0;
}

.lazyloaded {
    opacity: 1;
    transition: opacity 300ms;
}

img.lazyload:not([src]) {
    visibility: hidden;
}

/*--------------------------------------------------------------
# Index
--------------------------------------------------------------*/
.section {
    display: block;
    margin-bottom: 45px;
}

.section .section-title {
    margin-bottom: 30px;
    position: relative;
    border-bottom: 2px solid var(--hx-gray-150);
}

.section .section-title:after {
    content: '';
    width: 60px;
    height: 2px;
    display: block;
    position: relative;
    bottom: -2px;
}

.section .section-title .title {
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 10px;
}

.section .section-title .view-all {
    position: relative;
    font-weight: 600;
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
}

/*--------------------------------------------------------------
# Featured Section
--------------------------------------------------------------*/
.featured-section {
    --fs-bg: var(--hx-gray-25);
    --fs-gap: 4px;
    --fs-gap-news: 20px;
    --fs-height-desktop: 520px;
    --fs-overlay-gradient: linear-gradient(
            to top,
            rgb(0 0 0 / 60%) 0%,
            rgb(0 0 0 / 42%) 18%,
            rgb(0 0 0 / 22%) 36%,
            rgb(0 0 0 / 8%) 55%,
            rgb(0 0 0 / 0%) 75%
    );

    --fs-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    padding: 0 !important;
    color: var(--hx-gray-50);
}

.featured-section .fs-grid-wrapper {
    display: grid;
    gap: var(--fs-gap);
    width: 100%;
    grid-template-columns: 1fr;
    grid-template-areas:"main""sub-top""sub-bottom";
}

@media (min-width: 992px) {
    .featured-section .fs-grid-wrapper {
        height: var(--fs-height-desktop);
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        grid-template-areas:"main sub-top""main sub-bottom";
    }
}

.featured-section .area-main {
    grid-area: main;
    height: 100%;
    min-height: 0;
}

.featured-section .area-sub-top {
    grid-area: sub-top;
}

.featured-section .area-sub-bottom {
    grid-area: sub-bottom;
}

@media (max-width: 991.98px) {
    .featured-section > .container-xl {
        padding: 0;
    }

    .featured-section .area-main {
        width: 100%;
        aspect-ratio: 3/2;
        min-height: 320px;
    }

    .featured-section .area-sub-top {
        width: 100%;
        aspect-ratio: 2/1;
    }

    .featured-section .area-sub-bottom {
        width: 100%;
        height: auto;
    }
}

@media (max-width: 576px) {
    .featured-section {
        padding: 1rem 0;
    }

    .featured-section .area-main {
        min-height: 280px;
    }
}

.featured-section .fs-grid-item {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.featured-section .sub-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--fs-gap);
    width: 100%;
    height: 100%;
}

@media (max-width: 991.98px) {
    .featured-section .sub-grid {
        aspect-ratio: 2/1;
    }
}

.featured-section .fs-card {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    background-color: var(--hx-gray-100);
    isolation: isolate;
}

.featured-section .main-slider .fs-card {
    display: block;
    width: 100%;
    height: 100%;
}

.featured-section .fs-main-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
}

.featured-section .fs-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s var(--fs-transition), filter 0.7s var(--fs-transition);
    display: block;
    filter: brightness(1);
    z-index: 0;
}

.featured-section .fs-card:hover .fs-img {
    transform: scale(1.03);
}

.featured-section .fs-content {
    position: absolute;
    inset: 0;
    background: var(--fs-overlay-gradient);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.15rem 1.5rem;
    z-index: 5;
    pointer-events: none;
}

.featured-section .area-main .fs-content {
    padding: 1.65rem 2rem;
}

.featured-section .fs-title a,
.featured-section .fs-meta a,
.featured-section .fs-content a {
    pointer-events: auto;
    position: relative;
    z-index: 10;
    transition: color 0.3s ease, opacity 0.3s ease;
    transform: translateZ(0);
}

.featured-section .fs-meta a {
    padding: 0.35rem 0;
}

@media (max-width: 768px) {
    .featured-section .fs-content {
        padding: 1rem;
    }

    .featured-section .area-main .fs-content {
        padding: 1.25rem;
    }
}

.featured-section .fs-title {
    color: var(--hx-gray-50);
    font-weight: 600;
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
    margin-top: 0.65rem;
    margin-bottom: 0.2rem;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
    transition: color 0.3s ease;
    pointer-events: none;
}

.featured-section .fs-title a {
    color: inherit;
    text-decoration: none;
}

.featured-section .main-slider-wrapper .fs-title {
    font-size: var(--hx-fs-title-3xl);
    line-height: var(--hx-lh-title-3xl);
}

.featured-section .fs-card-small .fs-title {
    font-size: var(--hx-fs-title-md);
    line-height: var(--hx-lh-title-md);
}


.featured-section .fs-title a:hover, .featured-section .fs-title a:active, .featured-section .fs-title a:focus {
    color: #ffffff !important;
}

.featured-section .fs-meta {
    color: var(--hx-gray-200);
    font-size: var(--hx-fs-xs);
    line-height: var(--hx-lh-xs);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    opacity: 0.95;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
    pointer-events: none;
}

.featured-section .fs-meta a,
.featured-section .fs-meta span,
.featured-section .fs-meta i {
    color: var(--hx-gray-250) !important;
    text-decoration: none;
}

.featured-section .fs-meta a:hover, .featured-section .fs-meta a:focus, .featured-section .fs-meta a:active {
    color: #ffffff !important;
}

.featured-section .swiper {
    width: 100%;
    height: 100%;
}

.featured-section .swiper-slide {
    height: 100%;
}

.featured-section .swiper-pagination-bullet {
    background: var(--hx-gray-300);
    opacity: 0.6;
    width: 24px;
    height: 3px;
    border-radius: 2px;
    transition: all 0.3s ease;
    margin: 0 4px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.featured-section .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--hx-gray-50);
    width: 32px;
}

.featured-section .fs-nav-btn {
    width: 48px;
    height: 48px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: all 0.3s ease;
    cursor: pointer;
    z-index: 10;
    border: none;
    opacity: 0;
    padding: 0;
    outline: none;
}

.featured-section .swiper:hover .fs-nav-btn {
    opacity: 0.9;
}

.featured-section .fs-nav-btn:hover {
    transform: scale(1.15);
    opacity: 1 !important;
}

.featured-section .fs-nav-btn svg {
    width: 36px;
    height: 36px;
    fill: currentColor;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
}

@media (max-width: 768px) {
    .featured-section .fs-nav-btn {
        display: none;
    }

    .featured-section .fs-grid-boxes .fs-meta {
        display: none;
    }

    .featured-section .fs-grid-boxes .fs-title {
        margin-bottom: 0;
    }
}

.featured-section .main-slider-wrapper {
    width: 100%;
    height: 100%;
}

[dir="rtl"] .featured-section {
    direction: rtl;
}

[dir="rtl"] .featured-section .fs-content {
    text-align: right;
    align-items: flex-start;
}

[dir="rtl"] .featured-section .fs-badge {
    align-self: flex-start;
}

[dir="rtl"] .featured-section .fs-nav-btn svg {
    transform: rotate(180deg);
}

/*--------------------------------------------------------------
# Post Details Page
--------------------------------------------------------------*/
.post-content .post-title {
    font-size: var(--hx-fs-post-title);
    line-height: var(--hx-lh-post-title);
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 10px;
}

.post-content .post-summary {
    font-size: var(--hx-fs-post-summary);
    line-height: var(--hx-lh-post-summary);
    font-weight: 400;
    margin-bottom: 15px;
    font-family: var(--hx-font-content)
}

.post-details-meta .item-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--hx-gray-450);
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
}

.post-details-meta .item-meta-author a {
    font-weight: 600;
}

.post-details-meta .item-meta-author img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--hx-gray-200);
}

.post-details-meta .item-meta-counters {
    font-size: var(--hx-fs-sm);
    color: var(--hx-gray-450);
}

@media (max-width: 768px) {
    .post-details-meta .item-meta {
        font-size: var(--hx-fs-xs);
        line-height: var(--hx-lh-xs);
    }

    .post-details-meta .item-meta-counters {
        font-size: var(--hx-fs-xs);
    }

    .post-details-meta .column-gap-3 {
        column-gap: 0.75rem !important;
    }
}

.post-details-meta .item-meta-counters .hx-icon {
    width: 14px;
    height: 14px;
}

.post-content .img-description {
    display: block;
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
    font-style: italic;
    color: var(--hx-text-muted);
    margin-top: 5px;
}

.post-video iframe {
    display: block;
    width: 100%;
    max-width: 100%;
}

.video-player {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.video-player video {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.entry-content {
    clear: both;
    display: block;
    width: 100%;
    position: relative;
    max-width: 100%;
    overflow-wrap: break-word;
    font-family: var(--hx-font-content) !important;
    font-size: var(--hx-fs-content);
    line-height: var(--hx-lh-content);
    color: var(--hx-gray-800);
}

[data-bs-theme="dark"] .entry-content {
    color: var(--hx-gray-300);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.entry-content a {
    color: var(--hx-theme-color);
}

.entry-content a:hover {
    text-decoration: underline;
}

.entry-content iframe, .entry-content img, .entry-content object {
    display: block;
    max-width: 100% !important;
}

.entry-content table {
    border-collapse: collapse;
}

.entry-content table th td {
    border: 1px solid var(--hx-text-main);
}

.entry-content th, .entry-content td {
    padding: .5rem .5rem;
}

.post-content .container-bn img {
    display: block !important;
}

.post-content .post-tags .title {
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    font-weight: 600;
    margin: 0;
    margin-bottom: 5px;
    flex-shrink: 0;
}

.post-content .post-tags ul {
    margin: 0;
    padding: 0;
    margin-left: 20px;
    flex-wrap: wrap !important;
}

.post-content .post-tags li {
    list-style: none;
    margin-right: 5px;
    margin-bottom: 5px;
}

.post-content .post-tags ul li a {
    background-color: var(--hx-gray-75);
    border: 1px solid var(--hx-gray-100);
    color: var(--hx-gray-550);
    display: inline-block;
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
    padding: 7px 12px;
    text-decoration: none;
    border-radius: var(--hx-border-radius);
}

.post-content .post-tags ul li a:hover {
    color: var(--hx-color-white) !important;
}

.post-next-prev {
    display: block;
    width: 100%;
    min-height: 150px;
    margin-bottom: 30px;
    border-top: 1px solid var(--hx-gray-100);
    padding: 30px 0 15px 0
}

.post-next-prev .title {
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    font-weight: 600;
    margin: 0 0 5px;
}

.post-next-prev .title a {
    display: block
}

.post-next-prev .left {
    border-right: 1px solid var(--hx-input-border-color);
    min-height: 60px
}

.post-next-prev .right {
    min-height: 60px
}

.post-next-prev .head-title {
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
    margin-bottom: 15px;
    text-transform: uppercase;
}

.post-next-prev .left .head-title svg {
    margin-right: 8px
}

.post-next-prev .right .head-title svg {
    margin-left: 8px
}

.gallery-post-item {
    display: block;
    width: 100%;
    margin-bottom: 30px;
}

.title-post-item {
    width: 100%;
    display: block;
    position: relative;
    font-size: var(--hx-fs-title-xl);
    line-height: var(--hx-lh-title-xl);
    font-weight: 600;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

.gallery-post-item .post-image {
    position: relative
}

.gallery-post-item .post-image .post-image-inner {
    position: relative;
}

.gallery-post-item .post-item-count {
    width: auto;
    display: inline-block;
    padding: 10px 20px;
    position: absolute;
    top: 0;
    right: 0;
    color: var(--hx-color-white);
    font-weight: 600;
    background-color: rgba(22, 22, 22, .5)
}

.ordered-list-item {
    display: block;
    width: 100%;
    margin-bottom: 3rem;
}

.ordered-list-item .post-image {
    margin-bottom: 1rem;
}

.table-of-contents {
    border: 1px solid var(--hx-gray-150);
    padding: 2rem 2.5rem;
    margin: 15px 0;
    border-radius: 3px;
}

.table-of-contents .title {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.table-of-contents .title h2 {
    font-size: var(--hx-fs-title-md);
    line-height: var(--hx-lh-title-md);
    font-weight: 600;
    margin: 0 !important;
}

.table-of-contents .ul-main {
    margin: 0;
    padding: 0;
    padding-left: 5px;
}

.table-of-contents ul li {
    list-style-position: outside !important;
}

.table-of-contents ul li a {
    display: inline-block;
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    margin-bottom: 0.5rem;
}

.container-toc .ul-toc-content-main {
    padding: 0;
    margin: 0;
}

.container-toc .ul-toc-content .li-toc-content {
    display: block;
    list-style: none !important;
}

.container-toc .ul-toc-content .li-toc-content .entry-content {
    margin-bottom: 1.5rem;
}

.container-toc .ul-toc-content .li-toc-content-main {
    margin-bottom: 2.5rem;
}

.container-toc .ul-toc-content .ul-toc-content-sub {
    padding-left: 2.5rem;
}

[dir="rtl"] .container-toc .ul-toc-content .ul-toc-content-sub {
    padding-left: 0;
    padding-right: 2.5rem;
}

.container-toc [data-title] {
    scroll-margin-top: 90px;
}

.container-toc .ul-toc-content .li-toc-content .title-post-item {
    display: list-item;
}

.container-toc .ul-toc-content-sub .li-toc-content .title-post-item {
    font-size: var(--hx-fs-title-md);
    line-height: var(--hx-lh-title-md);
    margin-bottom: 0.5rem;
}

.container-toc .ul-toc-content-sub-sub .li-toc-content .title-post-item {
    font-size: var(--hx-fs-title-sm);
    line-height: var(--hx-lh-title-sm);
    margin-bottom: 0.5rem;
}

.ul-toc-content-main li-toc-content .title-post-item::marker {
    font-size: var(--hx-fs-title-xl);
    line-height: var(--hx-lh-title-xl);
    font-weight: 600;
}

.container-toc .title-post-item {
    margin-bottom: 0.625rem;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.about-author {
    border-top: 1px solid var(--hx-gray-100);
    padding-top: 30px;
    padding-bottom: 30px;
}

.about-author .img-author {
    width: 100px;
    height: 100px;
    border-radius: var(--border-radius-xl);
    border: 1px solid var(--hx-gray-150);
}

.about-author .username {
    display: block;
    margin-bottom: 5px;
}

.about-author .description {
    color: var(--hx-gray-750);
}

.about-author .social {
    margin-top: 15px;
}

/*--------------------------------------------------------------
# Load more posts
--------------------------------------------------------------*/
.btn-load-more-posts {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 2rem;
    border-radius: 0.375rem;
    outline: none !important;
}

.btn-load-more-posts.is-loading .btn-icon-svg {
    animation: btn-spin-animation 0.8s linear infinite;
}

@keyframes btn-spin-animation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/*--------------------------------------------------------------
# Section Videos
--------------------------------------------------------------*/
.section-videos {
    --sv-bg-dark: var(--hx-gray-950);
    --sv-surface-dark: var(--hx-gray-900);
    --sv-accent-color: #f43f5e;
    --sv-accent-hover: #e11d48;
    --sv-text-primary: var(--hx-gray-25);
    --sv-text-secondary: var(--hx-gray-450);
    --sv-overlay-gradient: linear-gradient(to top, rgba(9, 9, 11, 0.9) 0%, rgba(9, 9, 11, 0.3) 50%, rgba(9, 9, 11, 0) 100%);
    background-color: var(--sv-bg-dark);
    color: var(--sv-text-primary);
    padding: 60px 0 70px 0;
    margin: 60px 0;
}

[data-bs-theme="dark"] .section-videos {
    --sv-bg-dark: var(--hx-gray-925);
}

.section-videos .section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
}

.section-videos .videos-title {
    font-weight: bold;
    margin: 0;
    background: linear-gradient(to right, var(--hx-gray-25), var(--hx-gray-300));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.section-videos .video-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    isolation: isolate;
    background-color: var(--sv-surface-dark);
    width: 100%;
    cursor: pointer;
}

.section-videos .main-post-link {
    position: absolute;
    inset: 0;
    z-index: 5;
    font-size: 0;
}

.section-videos .video-card img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.section-videos .video-card:hover img {
    transform: scale(1.08);
}

.section-videos .video-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--sv-overlay-gradient);
    z-index: 1;
    pointer-events: none;
}

.section-videos .card-content {
    position: relative;
    z-index: 10;
    width: 100%;
    padding: 1.5rem;
    pointer-events: none;
}

.section-videos .card-content a {
    pointer-events: auto;
    position: relative;
    z-index: 11;
}

.section-videos .card-content,
.section-videos .card-content h3,
.section-videos .card-content a,
.section-videos .card-content span,
.section-videos .card-content i {
    color: var(--hx-gray-25) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.section-videos .category-tag {
    display: inline-flex;
    align-items: center;
    font-size: var(--hx-fs-xs);
    line-height: var(--hx-lh-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.75rem;
    position: relative;
    padding-left: 12px;
    text-shadow: none;
    pointer-events: auto;
}

.section-videos .category-tag::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background-color: currentColor;
    border-radius: 50%;
}

.section-videos .video-title {
    font-weight: 700;
    font-size: var(--hx-fs-title-2xl);
    line-height: var(--hx-lh-title-2xl);
    margin-bottom: 0.5rem;
}

.section-videos .post-meta .meta-item a,
.section-videos .post-meta .meta-item span,
.section-videos .post-meta .meta-item i {
    color: var(--hx-gray-400) !important;
}

.section-videos .post-meta .meta-item a {
    padding: 0.35rem 0;
}

.section-videos .post-meta .meta-item a:hover {
    color: var(--hx-gray-100) !important;
}

.section-videos .icon-svg {
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.section-videos .card-vertical {
    height: 540px;
}

.section-videos .card-horizontal {
    height: 258px;
}

.section-videos .card-horizontal .video-title {
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.section-videos .view-all {
    color: var(--sv-text-secondary);
    text-decoration: none;
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: color 0.2s;
}

.section-videos .view-all:hover {
    color: var(--hx-gray-25);
}

@media (max-width: 991px) {
    .section-videos .card-vertical {
        height: 400px;
    }

    .section-videos .card-horizontal {
        height: 250px;
    }
}

[dir="rtl"] .section-videos .category-tag {
    padding-left: 0;
    padding-right: 12px;
}

[dir="rtl"] .section-videos .category-tag::before {
    left: auto;
    right: 0;
}

[dir="rtl"] .section-videos .view-all svg {
    transform: rotate(180deg);
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.sidebar-widget {
    display: block;
    margin-bottom: 35px;
}

.sidebar-widget .widget-head {
    margin-bottom: 30px;
    position: relative;
    border-bottom: 2px solid var(--hx-gray-200);
}

.sidebar-widget .widget-head:after {
    content: '';
    width: 60px;
    height: 2px;
    display: block;
    position: relative;
    bottom: -2px;
}

.sidebar-widget .widget-head .title {
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 10px;
}

.sidebar-widget .widget-body iframe,
.sidebar-widget .widget-body img,
.sidebar-widget .widget-body object {
    display: block;
    max-width: 100% !important;
}

.sidebar-widget .tag-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 8px;
    padding: 0;
    margin: 0;
    padding-bottom: 15px
}

.sidebar-widget .tag-list li {
    list-style: none;
    display: inline-flex;
    align-items: center;
}

.sidebar-widget .tag-list li a {
    background-color: var(--hx-gray-75);
    border: 1px solid var(--hx-gray-100);
    color: var(--hx-gray-550);
    display: inline-block;
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
    padding: 8px 14px;
    text-decoration: none;
    border-radius: 4px;
}

.sidebar-widget .tag-list li a:hover {
    color: var(--hx-color-white) !important;
}

.sidebar-widget .a-view-results {
    font-weight: 600;
    cursor: pointer
}

.sidebar-widget .total-vote {
    text-align: center;
    font-weight: bold;
    margin-top: 19px;
    margin-bottom: 5px
}

.widget-follow {
    display: flex;
}

.widget-follow .item a {
    display: flex;
    align-items: center;
    font-size: var(--hx-fs-md);
    color: var(--hx-color-white) !important;
    padding: 0.75rem 1rem;
    margin-bottom: 10px;
    border-radius: 4px;
    gap: 10px;
    color: #fff !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
}

.widget-follow .item a:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.widget-follow .item .color-Snapchat {
    color: #000000 !important;
}

/*--------------------------------------------------------------
# Post Items
--------------------------------------------------------------*/
.post-item {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 45px;
}

.post-item .badge-category {
    position: absolute;
    left: 1rem;
    top: 1rem;
}

.post-item .image {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    background-color: var(--hx-gray-50);
    --bs-aspect-ratio: 61.9%;
    overflow: hidden;
}

.post-item-no-image .badge-category {
    position: relative;
    left: 0;
    margin-bottom: 15px;
}

.post-item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-item .title {
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
    text-transform: none;
    font-weight: 600;
    margin-top: 10px;
}

.section-related-posts .post-item .title {
    font-size: var(--hx-fs-title-sm);
    line-height: var(--hx-lh-title-sm);
}

.post-item .title a {
    display: block;
}

.post-item .description {
    color: var(--hx-text-muted);
    font-size: var(--hx-fs-md);
    line-height: var(--hx-lh-md);
}

.post-item .post-meta {
    margin-bottom: 10px;
}

.post-item-mid .title {
    font-size: var(--hx-fs-title-sm);
    line-height: var(--hx-lh-title-sm);
}

.post-item-small .title {
    margin-top: 0;
    margin-bottom: 0.375rem;
    font-size: var(--hx-fs-title-xs);
    line-height: var(--hx-lh-title-xs);
    font-weight: 600;
}

.post-item-small .image {
    position: relative;
    width: 128px;
    height: 90px;
    flex-shrink: 0;
    overflow: hidden;
}

.post-item-small .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-cat-block-2 .post-item {
    margin-bottom: 30px;
}

/*--------------------------------------------------------------
# Category Blocks
--------------------------------------------------------------*/
.nav-category-block {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.nav-category-block .nav-item .nav-link {
    font-weight: 600;
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
    color: var(--hx-text-main);
    background-color: transparent !important;
    border: 0 !important;
    padding: 2px 5px;
}

.nav-category-block .dropdown .dropdown-menu .dropdown-item {
    font-size: var(--hx-fs-sm);
}

.section .section-title .view-all {
    position: relative;
    font-weight: 600;
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
}

/*Vertical Block*/
.section-cat-block-1 .col-post-item-vr {
    margin-bottom: 30px;
}

.section-cat-block-1 .post-item-vr {
    position: relative;
    width: 100%;
    height: 100%;
    margin-bottom: 0 !important;
}

.section-cat-block-1 .post-item-vr .image {
    height: 340px;
}

.section-cat-block-1 .post-item-vr .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-cat-block-1 .post-item-vr .caption {
    position: absolute;
    bottom: 0;
    padding: 15px;
    display: block;
    width: 100%;
}

.section-cat-block-1 .post-item-vr .caption .title {
    font-size: var(--hx-fs-title-md);
    line-height: var(--hx-lh-title-md);
    margin-bottom: 5px;
}

.section-cat-block-1 .post-item-vr .caption .title a {
    color: var(--hx-color-white) !important;
}

.section-cat-block-1 .post-item-vr .caption .post-meta a,
.section-cat-block-1 .post-item-vr .caption .post-meta span,
.section-cat-block-1 .post-item-vr .caption .post-meta i {
    color: var(--hx-gray-250) !important;
}

.section-cat-block-1 .post-item-vr .image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 50%,
            rgba(0, 0, 0, 0.55) 70%,
            rgba(0, 0, 0, 0.85) 100%
    );
    opacity: 0.9;
    transition: opacity .3s ease-in;
    will-change: opacity;
}

.section-category .dropdown .dropdown-menu {
    left: -125px !important;
    max-height: 400px;
}

[dir="rtl"] .section-category .dropdown .dropdown-menu {
    left: 0 !important;
}

/*Slider Block*/
.section-cat-slider {
    margin-bottom: 1rem;
}

.section-cat-slider .section-content {
    width: 100%;
    height: 320px;
    overflow: hidden;
}

.category-slider-container .post-item-mid {
    margin-bottom: 0 !important;
}

/*--------------------------------------------------------------
# Section Page
--------------------------------------------------------------*/

.section-page {
    min-height: 600px;
    margin-bottom: 100px;
}

.section-page .page-title {
    font-size: var(--hx-fs-title-3xl);
    line-height: var(--hx-lh-title-3xl);
    font-weight: 600;
    margin-bottom: 1.75rem;
}

.section-page .form-contact {
    border-radius: 2px;
}

.section-page .title-send-message {
    font-size: var(--hx-fs-title-xl);
    line-height: var(--hx-lh-title-xl);
    font-weight: 600;
    margin-bottom: 15px;
}

.section-page .form-contact textarea {
    min-height: 180px;
    resize: vertical;
}

.section-page .contact-icon {
    width: 2.375rem;
    height: 2.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--hx-color-white);
    border-radius: var(--hx-border-radius);
    margin-right: 15px;
    background-color: var(--hx-theme-color);
}

.contact-map-container {
    display: block;
    width: 100%;
    margin-top: 30px;
    padding: 0 !important;
}

.contact-map-container iframe {
    display: block;
    width: 100%;
    height: 460px
}

/*--------------------------------------------------------------
# Profile
--------------------------------------------------------------*/
.body-profile-page .mega-menu-wrapper {
    --mn-margin-bottom: 0 !important;
}

.body-profile-page .mobile-header-spacer {
    margin-bottom: 0;
}

.section-profile {
    padding-top: 0 !important;
}

.section-profile .widget-head {
    margin-bottom: 20px;
}

.section-profile .widget-head .title {
    font-size: var(--hx-fs-title-md);
    line-height: var(--hx-lh-title-md);
}

.container-profile {
    padding-top: 60px !important;
}

.profile-header {
    display: block;
    width: 100%;
    height: 160px;
    padding: 0;
    position: relative;
}

.profile-header .profile-cover-image {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center center;
}

.profile-header .profile-info-container {
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0;
}

.profile-header .profile-last-seen {
    display: flex;
    align-items: center;
    font-size: var(--hx-fs-xs);
    line-height: var(--hx-lh-xs);
}

.profile-header .profile-last-seen svg {
    margin-right: 8px;
    color: var(--hx-gray-400);
}

.profile-header .profile-last-seen.online svg {
    color: var(--hx-online-color);
}

.profile-details {
    margin-bottom: 60px;
}

.profile-details .description {
    color: var(--hx-gray-600);
}

.profile-details .contact-details {
    color: var(--hx-gray-500);
    font-size: var(--hx-fs-md);
    line-height: var(--hx-lh-md);
}

.profile-details .profile-email {
    padding-left: 15px;
    margin-left: 15px;
    border-left: 1px solid var(--hx-gray-250);
}

.profile-social-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.profile-social-links .link-social {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: var(--hx-gray-100);
    color: var(--hx-gray-600) !important;
}

.section-profile .list-followers {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-height: 230px;
    overflow-x: hidden;
    overflow-y: auto;
}

.section-profile .img-follower {
    width: 2.375rem;
    height: 2.375rem;
    border: 1px solid var(--hx-gray-150);
    border-radius: 0.375rem;
    overflow: hidden;
}

.section-profile .profile-header.has-image {
    height: 360px;
}

.section-profile .profile-header.has-image .profile-info-container {
    background-color: transparent;
    background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.7) 100%);
}

.profile-info .profile-image {
    width: 146px;
    height: 146px;
    position: relative;
    padding: 2px;
    background-color: var(--hx-color-white);
    border-radius: 50%;
    overflow: hidden;
    bottom: -2.5rem;
    border: 1px solid var(--hx-gray-200);
    flex-shrink: 0;
}

.profile-info .profile-image img {
    width: 140px;
    height: 140px;
    border-radius: 50%;
}

.profile-info .profile-username {
    margin-top: 2.5rem;
}

.profile-info .profile-username .username {
    font-size: var(--hx-fs-title-5xl);
    line-height: var(--hx-lh-title-5xl);
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.section-profile .profile-header.has-image .profile-username .username {
    color: var(--hx-color-white);
}

.section-profile .profile-header.has-image .profile-last-seen {
    color: var(--hx-gray-350);
}

.container-profile-follow {
    display: inline-block;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
}

@media (max-width: 768px) {
    .profile-info .profile-image {
        width: 96px;
        height: 96px;
        bottom: -1.5rem;
    }

    .profile-info .profile-image img {
        width: 90px;
        height: 90px;
    }

    .profile-info .profile-username {
        margin-top: 1rem;
    }

    .container-profile-follow {
        right: auto;
        bottom: -2rem;
        left: 4rem;
    }

    .container-profile-follow .btn-follow {
        padding: 0 !important;
        width: 2.375rem;
        height: 2.375rem;
        border-radius: 50%;
    }

    .d-md-block {
        display: none !important;
    }
}

.section-account {
    width: 450px;
    height: auto;
    max-width: 100%;
    background-color: transparent;
    padding: 30px;
    margin-top: 30px;
    margin-bottom: 60px;
}

.section-account .title {
    text-align: center;
    font-size: var(--hx-fs-title-3xl);
    line-height: var(--hx-lh-title-3xl);
    font-weight: 600;
}

.input-account {
    padding: 10px 20px;
    line-height: 24px;
}

.btn-account {
    width: 100%;
    padding: 10px 20px;
    line-height: 24px;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
    background-color: var(--hx-footer-bg);
    color: var(--hx-gray-375);
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    margin-top: 100px;
}

#footer .footer-inner {
    padding-top: 90px;
}

#footer .footer-widget-about {
    padding-right: 30px;
}

.footer-widget .widget-title {
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
    font-weight: 700;
    position: relative;
    color: var(--hx-color-white);
    margin-bottom: 30px;
}

.footer-widget .footer-logo {
    display: block;
    width: 100%;
    text-align: left;
    margin-bottom: 10px;
}

.footer-social-links {
    margin-top: 30px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.footer-social-links a {
    width: 3rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: var(--hx-gray-750);
    color: var(--hx-color-white);
    flex-shrink: 0;
}

.footer-social-links a:hover {
    background-color: var(--hx-theme-color);
    color: var(--hx-color-white) !important;
}

.footer-social-links a svg {
    width: 1.125rem;
    height: 1.125rem;
}

.footer-widget .footer-posts .post-item-small .image {
    background-color: var(--hx-gray-800);
}

.footer-widget .footer-posts .post-item-small .title a {
    color: var(--hx-gray-75);
}

.footer-widget .newsletter .newsletter-inputs {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}

.footer-widget .newsletter .newsletter-inputs input {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

.footer-widget .newsletter .newsletter-inputs button {
    border-radius: 0 0.25rem 0.25rem 0;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
}

[dir="rtl"] .footer-widget .newsletter .newsletter-inputs button {
    border-radius: 0.25rem 0 0 0.25rem;
}

.footer-widget .newsletter .form-input {
    padding: 0.688rem 1.25rem;
    box-shadow: none !important;
    background-color: var(--hx-gray-850);
    color: var(--hx-gray-100);
    border: 1px solid var(--hx-gray-825);
    border-radius: 0.25rem 0 0 0.25rem;
}

.footer-widget .newsletter input[name='url'] {
    display: none !important;
}

.form-contact input[name='message_content'] {
    display: none !important;
}

.footer-copyright {
    border-top: 1px solid var(--hx-gray-800);
    padding: 40px 0;
}

.footer-copyright .copyright {
    color: var(--hx-gray-400);
    font-size: var(--hx-fs-md);
    line-height: var(--hx-lh-md);
}

.footer-copyright .nav-footer ul {
    padding: 0;
    margin: 0;
}

.footer-copyright .nav-footer ul li {
    list-style: none;
    display: inline-block;
    margin-right: 15px;
}

.footer-copyright .nav-footer ul li a {
    color: var(--hx-gray-400);
    font-size: var(--hx-fs-md);
    line-height: var(--hx-lh-md);
}

.form-control.is-invalid, .was-validated .form-control:invalid {
    border-color: var(--hx-error-color) !important;
    background-image: none !important;
    padding-right: 0.75rem !important;
    box-shadow: 0 2px 6px rgba(220, 53, 69, 0.12) !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-control.is-invalid:focus, .was-validated .form-control:invalid:focus {
    border-color: var(--hx-error-color) !important;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.15) !important;
}

.form-control.is-valid, .was-validated .form-control:valid {
    border-color: var(--hx-input-border-color);
    background-image: none !important;
}

.alert-message, .alert-messages {
    border-radius: 2px;
    padding: 12px 15px;
}

.alert-messages ul {
    padding: 0 !important;
}

.alert-messages li {
    list-style: none;
}

.alert-message svg {
    flex-shrink: 0 !important;
}

.btn-file-upload {
    position: relative;
    font-size: var(--hx-fs-sm);
    line-height: var(--hx-lh-sm);
    padding: 6px 16px !important;
    overflow: hidden !important;
    margin-right: 15px;
    color: var(--hx-color-white) !important;
    cursor: pointer;
    display: block;
    width: 180px;
}

.btn-file-upload:hover {
    color: var(--hx-color-white) !important;
}

.btn-file-upload input {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    filter: alpha(opacity=0);
    -ms-filter: "alpha(opacity=0)";
    opacity: 0;
    background-color: transparent;
    color: transparent;
    cursor: pointer;
}

.container-bn {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.container-bn-mb {
    display: none;
}

.bn-content {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    position: relative;
    padding: 0 !important;
}

.bn-content .bn-inner {
    display: block;
    overflow: hidden;
}

.bn-content .bn-inner a {
    display: block;
}

.bn-sidebar-content {
    justify-content: start !important;
}

a:hover, a:active, a:focus, .nav-category-block .nav-item.show .nav-link, .nav-category-block .nav-link.active {
    color: var(--hx-theme-color) ;
}

.nav-sm-buttons .prev:hover, .nav-sm-buttons .next:hover, .post-next-prev .head-title a {
    color: var(--hx-theme-color) !important;
}

.progress-bar, .section .section-title:after, .post-content .post-tags ul li a:hover, .sidebar-widget .widget-head:after, .sidebar-widget .widget-head-tabs .nav-tabs .active, .sidebar-widget .tag-list li a:hover {
    background-color: var(--hx-theme-color);
}

.form-input:focus, .post-content .post-tags ul li a:hover, .sidebar-widget .tag-list li a:hover {
    border-color: var(--hx-theme-color);
}

.plyr__control--overlaid {
    background: var(--hx-theme-color) !important;
    opacity: .8 !important;
}

.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded="true"] {
    background: var(--hx-theme-color) !important;
}

.plyr--full-ui input[type="range"] {
    color: var(--hx-theme-color) !important;
}

.nav-sm-buttons .prev:hover, .nav-sm-buttons .next:hover {
    border: 1px solid var(--hx-theme-color) !important;
}

/*--------------------------------------------------------------
# Mobile
--------------------------------------------------------------*/
@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1240px;
    }
}

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1320px;
    }
}

@media (max-width: 1199.98px) {
    .section-cat-block-1 .post-item-vr .image {
        height: 285px;
    }

    .col-sidebar {
        padding: 0 !important;
    }
}

@media (max-width: 991.98px) {
    .section {
        margin-bottom: 30px;
    }

    .sidebar-widget {
        margin-bottom: 15px;
        margin-top: 15px;
    }

    .section .section-title {
        margin-bottom: 20px;
    }

    .profile-header.has-image {
        height: 320px;
    }

    .section-page {
        min-height: 800px;
    }

    .container-bn-ds {
        display: none;
    }

    .container-bn-mb {
        display: block;
    }
}

@media (max-width: 767.98px) {
  body[data-page="histoire"] .history-hero .reservation-hero__title {
    font-size: var(--font-size-display-mobile);
  }

    .bd-subnavbar {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
    }

    .section-cat-block-1 .col-post-item-vr {
        margin-bottom: 15px;
    }

    .footer-widget {
        margin-top: 30px;
    }

    .footer-widget .widget-title {
        margin-bottom: 1rem;
    }

    .post-details-meta {
        display: block !important;
    }

    .post-details-meta .item-meta {
        display: inline-block;
    }

    .post-details-meta .item-meta svg {
        margin-right: 0;
        position: relative;
    }

    .post-next-prev .left {
        margin-bottom: 15px;
        border: 0 !important;
    }

    .post-next-prev .head-title {
        text-align: center !important;
        margin-bottom: 5px !important;
    }

    .post-next-prev .title {
        text-align: center !important;
    }

    .profile-header {
        height: 100px;
    }

    .profile-header.has-image {
        height: 280px !important;
    }

    .container-profile {
        padding-top: 35px !important;
    }

    .profile-details {
        margin-bottom: 0 !important;
    }

    .profile-details .contact-details {
        display: block !important;
    }

    .profile-details .contact-details .item {
        display: block !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        border: 0 !important;
        margin-bottom: 5px;
    }

    .profile-list-group {
        margin-bottom: 45px;
    }

    .section-cat-slider .nav-sm-buttons {
        top: -2px !important;
    }

    .table-of-contents {
        padding: 1.5rem 2rem;
    }

    .table-of-contents ul li a {
        line-height: 24px;
    }
}

@media (max-width: 575.98px) {
    .section .section-title .title {
        margin-bottom: 5px;
    }

    .sidebar-widget .widget-head {
        margin-bottom: 20px;
    }

    .sidebar-widget .widget-head .title {
        margin-bottom: 5px;
    }

    .post-item {
        margin-bottom: 30px;
    }

    .latest-posts {
        margin-bottom: 45px;
    }

    .latest-posts .mt-5 {
        margin-top: 30px !important;
    }

    #footer .footer-inner {
        padding: 30px 0;
    }

    .footer-copyright .copyright {
        text-align: center !important;
        margin-bottom: 15px;
    }

    .breadcrumb {
        display: none;
    }

    .about-author .img-author {
        width: 60px;
        height: 60px;
    }

    .profile-social-links li {
        margin-right: 2px;
        margin-bottom: 5px;
    }

    .section-page .page-title {
        margin-bottom: 15px;
    }

    .form-contact {
        margin-bottom: 30px;
    }

    .section-page .title-send-message {
        margin-bottom: 10px;
    }

    .section-page .page-content {
        padding-top: 0;
    }

    .pagination li a {
        width: 34px;
        height: 34px;
    }

    .profile-header.has-image {
        height: 240px !important;
    }

    .profile-header .profile-last-seen svg {
        margin-right: 3px;
        width: 8px;
        height: 8px;
    }

    .section-cat-slider .section-content {
        height: 500px;
    }
}

@media (max-width: 485.98px) {
    .section-cat-slider .section-content {
        height: 440px;
    }

    .section-cat-slider {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 427.98px) {
    .section-cat-slider .section-content {
        height: 410px;
    }
}

@media (min-width: 992px) {
    .col-sidebar.sticky-lg-top {
        top: 70px !important;
        z-index: 1020;
    }

    .profile-sidebar.sticky-lg-top {
        top: 70px !important;
    }
}

/*--------------------------------------------------------------
# News Theme
--------------------------------------------------------------*/
@media (min-width: 992px) {
    .featured-section-news .fs-grid-wrapper {
        height: var(--fs-height-desktop);
        grid-template-columns: 2fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        grid-template-areas:
            "main sub-top headlines"
            "main sub-bottom headlines";
        gap: var(--fs-gap-news);
    }

    .featured-section-news .area-main {
        grid-area: main;
        height: 100%;
    }

    .featured-section-news .area-right {
        grid-area: sub-top / sub-top / sub-bottom / sub-bottom;
        display: flex;
        flex-direction: column;
        gap: var(--fs-gap-news);
        height: 100%;
    }

    .featured-section-news .area-right > .fs-card {
        flex: 1;
        height: 100%;
    }

    .featured-section-news .area-headlines {
        grid-area: headlines;
        height: 100%;
        overflow: hidden;
    }
}

@media (max-width: 991.98px) {

    .featured-section-news .fs-grid-wrapper {
        height: auto;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-template-areas:
            "main"
            "right"
            "headlines";
        gap: 0.25rem;
    }

    .featured-section-news .area-main {
        grid-area: main;
        width: 100%;
        aspect-ratio: 3 / 2;
        min-height: 320px;
    }

    .featured-section-news .area-right {
        grid-area: right;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.25rem;
        height: auto;
        aspect-ratio: 2 / 1;
    }

    .featured-section-news .area-right > .fs-card {
        height: auto;
    }

    .featured-section-news .area-headlines {
        grid-area: headlines;
        width: 100%;
        height: auto;
        padding: 1rem !important;
    }

}


.featured-section-news .fs-title {
    font-size: var(--hx-fs-title-sm);
    line-height: var(--hx-lh-title-sm);
}

.featured-section-news .top-headlines {
    padding: 0;
}

.featured-section-news .top-headlines .sc-title {
    margin-bottom: 1rem;
    font-size: var(--hx-fs-title-4xl);
    line-height: var(--hx-lh-title-4xl);
    font-weight: 700;
    letter-spacing: -1px;
    color: var(--hx-text-main);
}

.featured-section-news .top-headlines .item {
    display: block;
    width: 100%;
    position: relative;
    padding: 0.75rem 0;
    border-top: 1px solid var(--hx-gray-150);
}

.featured-section-news .top-headlines .item-first {
    border: 0 !important;
    padding-top: 0;
    margin-top: 0;
}

.featured-section-news .top-headlines .item .title {
    margin: 0;
    margin-bottom: 0.5rem;
    font-size: var(--hx-fs-title-xs);
    line-height: 1.4;
    font-weight: 600 !important;
}

.featured-section-news .top-headlines .item .category {
    font-size: var(--hx-fs-tiny);
    line-height: 1;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: -.4px;
    color: var(--hx-theme-color) !important;
}

.featured-section-news .top-headlines .item .date {
    font-size: var(--hx-fs-tiny);
    font-weight: 600;
    line-height: 1;
    color: var(--hx-text-muted);
    letter-spacing: -.4px;
}

[data-theme="news"] .topbar {
    --tb-bg: #ffffff;
    --tb-text: var(--hx-gray-800);
    font-weight: 600;
}

[data-theme="news"] .topbar a {
    color: var(--hx-gray-900) !important;
}

[data-bs-theme="dark"][data-theme="news"] .topbar a {
    color: var(--hx-gray-300) !important;
}

[data-theme="news"] .mega-menu-wrapper {
    --mn-bg-nav: var(--hx-mega-menu-color);
    --mn-bg-sidebar: var(--hx-mega-menu-color);
    --mn-padding-nav-link: 1.25rem 0.875rem;
    --mn-min-height: 50px;
    border-bottom: 0;
}

[data-theme="news"] .mega-menu-wrapper .navbar-nav .nav-link {
    color: var(--hx-color-white);
}

[data-theme="news"] .mega-menu-wrapper .search-icon-btn {
    color: var(--hx-color-white);
}

[data-theme="news"] .mega-menu-wrapper .header-search-dropdown {
    border-color: transparent !important;
    margin-top: 0.125rem;
}

[data-theme="news"] .mega-menu-wrapper .btn-search {
    background-color: var(--hx-mega-menu-color) !important;
}

[data-theme="news"] .topbar button {
    color: var(--hx-text-main) !important;
}

[data-theme="news"] .mega-menu-wrapper .megamenu {
    border-top-color: color-mix(in srgb, var(--hx-mega-menu-color), white 10%) !important
}

[data-theme="news"] .mega-menu-wrapper .subcat-link {
    color: #fff;
}

[data-theme="news"] .mega-menu-wrapper .dropdown .dropdown-menu {
    border-bottom: 0 !important;
}

[data-theme="news"] .mega-menu-wrapper.nav-shrink {
    background-color: var(--hx-mega-menu-color) !important;
}

[data-theme="news"] .mega-menu-wrapper .subcat-link:hover,
[data-theme="news"] .mega-menu-wrapper .subcat-link.active {
    background-color: transparent !important;
    border-color: color-mix(in srgb, var(--hx-mega-menu-color), white 5%);
    color: var(--hx-theme-color);
}

[data-theme="news"] .mobile-nav-wrapper .mobile-header {
    background-color: var(--hx-mega-menu-color);
    border: 0 !important;
}

[data-theme="news"] .mobile-nav-wrapper .header-btn {
    color: #fff;
}

[data-theme="news"] .mobile-nav-wrapper .offcanvas-header {
    background-color: var(--hx-mega-menu-color);
}

[data-theme="news"] .offcanvas-header .btn-close {
    color: #fff;
}

[data-theme="news"] .mobile-nav-wrapper .custom-offcanvas {
    border-right-color: transparent !important;
}

/*--------------------------------------------------------------
# Dark Mode
--------------------------------------------------------------*/
[data-bs-theme="dark"] body {
    --hx-body-bg: var(--hx-gray-925);
    --hx-body-secondary-bg: var(--hx-gray-900);
    --hx-body-active-bg: var(--hx-gray-850);
    --hx-input-bg: var(--hx-gray-900);
    --hx-border-color: var(--hx-gray-850);
    --hx-input-border-color: var(--hx-gray-850);
    --hx-videos-bg: var(--hx-gray-925);
    --hx-text-main: var(--hx-gray-200);
    --hx-text-main-secondary: var(--hx-gray-350);
    --hx-text-muted: var(--hx-gray-500);
    --hx-text-subtle: var(--hx-gray-550);
    --hx-text-faint: var(--hx-gray-650);

    background-color: var(--hx-body-bg) !important;
    color: var(--hx-text-main) !important;
}

[data-bs-theme="dark"] .dropdown-menu {
    --bs-dropdown-bg: var(--hx-body-secondary-bg);
    --bs-dropdown-color: var(--hx-text-main);
    --bs-dropdown-link-color: var(--bs-body-color);
    --bs-dropdown-link-hover-color: var(--bs-body-color);
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-border-radius: var(--bs-border-radius);
    --bs-dropdown-border-width: var(--bs-border-width);
    --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-divider-margin-y: 0.5rem;
    --bs-dropdown-box-shadow: var(--bs-box-shadow);
    --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
    --bs-dropdown-header-color: var(--hx-gray-500);
}

[data-bs-theme="dark"] .dropdown-item:focus,
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:active,
[data-bs-theme="dark"] .dropdown-item.active {
    color: var(--hx-text-main) !important;
    background-color: var(--hx-gray-800) !important;
}

[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6,
[data-bs-theme="dark"] .h1, .h2, .h3, .h4, .h5, .h6,
[data-bs-theme="dark"] h1 a,
[data-bs-theme="dark"] h2 a,
[data-bs-theme="dark"] h3 a,
[data-bs-theme="dark"] h4 a,
[data-bs-theme="dark"] h5 a,
[data-bs-theme="dark"] h6 a {
    color: var(--hx-text-main);
}

[data-bs-theme="dark"] h1 a:hover,
[data-bs-theme="dark"] h2 a:hover,
[data-bs-theme="dark"] h3 a:hover,
[data-bs-theme="dark"] h4 a:hover,
[data-bs-theme="dark"] h5 a:hover,
[data-bs-theme="dark"] h6 a:hover {
    color: var(--hx-color-white);
}

[data-bs-theme="dark"] .text-secondary {
    color: var(--hx-gray-400) !important;
}

[data-bs-theme="dark"] .text-muted {
    color: var(--hx-gray-500) !important;
}

[data-bs-theme="dark"] .topbar {
    --tb-bg: var(--hx-body-bg);
    --tb-text: var(--hx-gray-300);
}

[data-bs-theme="dark"] .mega-menu-wrapper {
    --mn-bg-nav: var(--hx-body-secondary-bg);
    --mn-bg-dropdown: var(--hx-body-secondary-bg);
    --mn-bg-sidebar: var(--hx-body-secondary-bg);
    --mn-bg-hover: var(--hx-body-secondary-bg);
    --mn-bg-card: var(--hx-body-secondary-bg);
    --mn-text-main: var(--hx-gray-50);
    --hx-text-sub: var(--hx-gray-250);
    --hx-text-muted: var(--hx-gray-500);
    --mn-border: var(--hx-border-color);
    --mn-text-sub: var(--hx-gray-300);
}

[data-bs-theme="dark"] .mega-menu-wrapper {
    background-color: var(--hx-body-bg) !important;
    border-bottom-color: var(--hx-border-color);
}

[data-bs-theme="dark"] .mega-menu-wrapper .search-form-control {
    background-color: var(--hx-input-bg);
    border-color: var(--hx-border-color);
}

[data-bs-theme="dark"] .breadcrumb-item:hover,
[data-bs-theme="dark"] .breadcrumb-item.active,
.breadcrumb-item + .breadcrumb-item::before {
    color: var(--hx-gray-600);
}

[data-bs-theme="dark"] .form-input,
[data-bs-theme="dark"] textarea,
[data-bs-theme="dark"] select {
    background-color: var(--hx-input-bg);
    border-color: var(--hx-border-color);
    color: var(--hx-text-main);
}

[data-bs-theme="dark"] .form-input:focus,
[data-bs-theme="dark"] textarea:focus {
    background-color: var(--hx-input-bg);
    border-color: var(--hx-theme-color);
}

[data-bs-theme="dark"] .form-control::placeholder {
    color: var(--hx-gray-500);
}

[data-bs-theme="dark"] .list-group-item {
    background-color: var(--hx-body-bg);
    color: var(--hx-gray-300);
}

[data-bs-theme="dark"] .section .section-title,
[data-bs-theme="dark"] .sidebar-widget .widget-head {
    border-bottom-color: var(--hx-border-color);
}

[data-bs-theme="dark"] .nav-category-block .nav-item .nav-link {
    color: var(--hx-gray-100);
}

[data-bs-theme="dark"] .topbar .dropdown-menu li a {
    color: var(--hx-gray-300) !important;
}

[data-bs-theme="dark"] .topbar .dropdown-menu li a .icon,
[data-bs-theme="dark"] .topbar .dropdown-menu li a .icon svg {
    color: var(--hx-gray-300) !important;
}

[data-bs-theme="dark"] .sidebar-widget .tag-list li a,
[data-bs-theme="dark"] .post-content .post-tags ul li a {
    background-color: var(--hx-body-secondary-bg);
    border-color: var(--hx-body-secondary-bg);
    color: var(--hx-gray-400);
}

[data-bs-theme="dark"] .sidebar-widget .tag-list li a:hover,
[data-bs-theme="dark"] .post-content .post-tags ul li a:hover {
    color: var(--hx-theme-color) !important;
}

[data-bs-theme="dark"] .post-details-meta .item-meta-author img {
    border: 1px solid var(--hx-gray-600);
}

[data-bs-theme="dark"] .post-next-prev,
[data-bs-theme="dark"] .about-author,
[data-bs-theme="dark"] .about-author .img-author {
    border-color: var(--hx-border-color);
}

[data-bs-theme="dark"] .about-author .description {
    color: var(--hx-text-main-secondary);
}

[data-bs-theme="dark"] .profile-social-links .link-social {
    background-color: var(--hx-body-secondary-bg);
    color: var(--hx-text-main-secondary) !important;
}

[data-bs-theme="dark"] .form-switch .form-check-label {
    color: var(--hx-text-main) !important;
}

[data-bs-theme="dark"] .table-of-contents {
    border: 1px solid var(--hx-border-color);
}

[data-bs-theme="dark"] .recipe-container .direction .step-description,
[data-bs-theme="dark"] .profile-details .description {
    color: var(--hx-gray-350);
}

[data-bs-theme="dark"] .profile-details .profile-email {
    border-color: var(--hx-gray-600);
}

[data-theme="news"][data-bs-theme="dark"] .mega-menu-wrapper {
    background-color: var(--hx-body-bg) !important;
    border-top: 1px solid var(--hx-gray-900) !important;
    border-bottom: 1px solid var(--hx-gray-850) !important;
}

[data-theme="news"][data-bs-theme="dark"] .mega-menu-wrapper .megamenu {
    border-top-color: var(--hx-gray-900) !important;
}

[data-theme="news"][data-bs-theme="dark"] .mega-menu-wrapper .subcat-link:hover,
[data-theme="news"][data-bs-theme="dark"] .mega-menu-wrapper .subcat-link.active {
    border-color: var(--hx-gray-850) !important;
}

[data-theme="news"][data-bs-theme="dark"] .featured-section-news .top-headlines .item {
    border-color: var(--hx-border-color);
}

.event-access-section {
    border: 1px solid var(--hx-border-color);
    border-radius: 8px;
    padding: 1.25rem;
    background: var(--hx-body-bg);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.event-access-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.event-access-eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.35rem;
    color: var(--hx-theme-color);
    font-size: var(--hx-fs-sm);
    font-weight: 700;
    text-transform: uppercase;
}

.event-access-desc,
.event-reservation-note,
.event-ticket-meta,
.event-ticket-benefit-text {
    color: var(--hx-text-main-secondary);
}

.event-ticket-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.event-ticket-grid--single {
    max-width: 520px;
    margin-inline: auto;
}

.event-participation-choices {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.event-participation-choice {
    border: 1px solid var(--hx-border-color);
    border-radius: 8px;
    padding: 0.8rem 1rem;
    background: var(--hx-body-bg);
    color: var(--hx-text-main);
    font-weight: 800;
    text-align: left;
}

.event-participation-choice.is-active {
    border-color: var(--hx-theme-color);
    background: rgba(25, 135, 84, .08);
    color: var(--hx-theme-color);
}

.event-participation-panel {
    display: none;
}

.event-participation-panel.is-active {
    display: block;
}

.event-ticket-card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    min-height: 100%;
    border: 1px solid var(--hx-border-color);
    border-radius: 8px;
    padding: 1.2rem;
    background: var(--hx-body-bg);
    box-shadow: 0 12px 26px rgba(15, 23, 42, .05);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.event-ticket-card:not(.is-disabled):hover,
.event-ticket-card.is-selected {
    border-color: var(--hx-theme-color);
    box-shadow: 0 18px 34px rgba(15, 23, 42, .1);
}

.event-ticket-card.is-selected {
    transform: translateY(-1px);
}

.event-ticket-card.is-disabled {
    cursor: default;
    opacity: .78;
}

.event-ticket-card-top,
.event-ticket-price-row,
.event-ticket-meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.event-ticket-code {
    display: block;
    margin-bottom: 0.15rem;
    color: var(--hx-theme-color);
    font-size: var(--hx-fs-sm);
    font-weight: 800;
    text-transform: uppercase;
}

.event-ticket-name {
    display: block;
    margin: 0;
    color: var(--hx-text-main);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.25;
}

.event-ticket-status {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 0.25rem 0.65rem;
    background: var(--hx-gray-100);
    color: var(--hx-gray-800);
    font-size: var(--hx-fs-xs);
    font-weight: 700;
    text-align: center;
}

.event-ticket-card.is-available .event-ticket-status {
    background: rgba(25, 135, 84, .12);
    color: #198754;
}

.event-ticket-card.is-low-stock .event-ticket-status {
    background: rgba(255, 193, 7, .2);
    color: #946200;
}

.event-ticket-card.is-sold-out .event-ticket-status,
.event-ticket-card.is-ended .event-ticket-status {
    background: rgba(220, 53, 69, .12);
    color: #dc3545;
}

.event-ticket-card.is-not-started .event-ticket-status {
    background: rgba(255, 193, 7, .18);
    color: #946200;
}

.event-ticket-price {
    color: var(--hx-text-main);
    font-size: clamp(1.55rem, 2.5vw, 2rem);
    font-weight: 900;
    line-height: 1;
}

.event-ticket-currency {
    align-self: flex-end;
    color: var(--hx-text-main-secondary);
    font-size: var(--hx-fs-xs);
    font-weight: 700;
}

.event-ticket-meta {
    flex-wrap: wrap;
    margin-top: auto;
    font-size: var(--hx-fs-sm);
}

.event-ticket-meta span {
    display: grid;
    gap: 0.15rem;
}

.event-ticket-card-action {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 40px;
    width: 100%;
    border: 0;
    border-radius: 8px;
    padding: 0.7rem 0.9rem;
    background: var(--hx-theme-color);
    color: #fff;
    font-weight: 800;
    transition: background-color .15s ease, transform .15s ease;
}

.event-ticket-card-action:not(:disabled):hover {
    background: var(--hx-theme-color-hover, var(--hx-theme-color));
    transform: translateY(-1px);
}

.event-ticket-card.is-disabled .event-ticket-card-action {
    background: var(--hx-gray-150);
    color: var(--hx-text-main-secondary);
}

.ticket-modal-dialog {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 8px;
    background: var(--hx-body-bg);
    box-shadow: 0 30px 80px rgba(15, 23, 42, .28);
}

.ticket-modal-header,
.ticket-modal-footer {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border-color: var(--hx-border-color);
    background: var(--hx-body-bg);
}

.ticket-modal-header {
    border-bottom: 1px solid var(--hx-border-color);
}

.ticket-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 1rem;
    overflow-y: auto;
    background: var(--hx-body-secondary-bg);
}

.ticket-modal-footer {
    border-top: 1px solid var(--hx-border-color);
}

.event-ticket-modal-grid {
    display: grid;
    grid-template-columns: minmax(0, 65fr) minmax(280px, 35fr);
    gap: 1rem;
    align-items: start;
}

.event-ticket-modal-main,
.event-ticket-modal-summary {
    display: grid;
    gap: 1rem;
}

.event-ticket-modal-selected,
.event-ticket-modal-step,
.event-ticket-modal-summary {
    border: 1px solid var(--hx-border-color);
    border-radius: 8px;
    padding: 0.95rem;
    background: var(--hx-body-bg);
}

.event-ticket-modal-selected {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.event-ticket-modal-selected strong {
    display: block;
    color: var(--hx-text-main);
    font-size: 1.1rem;
    font-weight: 900;
}

.event-ticket-modal-selected [data-ticket-modal-description],
.event-ticket-stock-note,
.event-ticket-payment-note {
    color: var(--hx-text-main-secondary);
    font-size: var(--hx-fs-sm);
}

.event-ticket-selected-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    max-width: 280px;
    text-align: right;
}

.event-ticket-selected-meta span {
    display: inline-flex;
    justify-content: flex-end;
    border-radius: 999px;
    padding: 0.25rem 0.6rem;
    background: var(--hx-body-secondary-bg);
    color: var(--hx-text-main);
    font-size: var(--hx-fs-xs);
    font-weight: 800;
}

.event-ticket-selected-meta span:first-child {
    background: rgba(25, 135, 84, .12);
    color: var(--hx-theme-color);
}

.event-ticket-step-head {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.event-ticket-step-head > span,
.event-ticket-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(25, 135, 84, .12);
    color: var(--hx-theme-color);
    font-size: var(--hx-fs-sm);
    font-weight: 900;
}

.event-ticket-step-head h5 {
    margin: 0 0 0.15rem;
    color: var(--hx-text-main);
    font-size: 1rem;
    font-weight: 900;
}

.event-ticket-step-head p {
    margin: 0;
    color: var(--hx-text-main-secondary);
    font-size: var(--hx-fs-sm);
}

.event-ticket-stock-note {
    display: grid;
    gap: 0.15rem;
    min-height: 100%;
    border: 1px dashed var(--hx-border-color);
    border-radius: 8px;
    padding: 0.7rem 0.85rem;
    background: var(--hx-body-secondary-bg);
}

.event-ticket-stock-note strong {
    color: var(--hx-text-main);
}

.event-ticket-modal-summary {
    position: sticky;
    top: 16px;
}

.event-ticket-modal-footer {
    display: flex;
    gap: 0.75rem;
}

.event-ticket-modal-feedback {
    flex: 1 1 auto;
    color: var(--hx-text-main-secondary);
    font-size: var(--hx-fs-sm);
    font-weight: 700;
}

.event-ticket-modal-feedback.is-error {
    color: #dc3545;
}

.event-ticket-modal-feedback.is-info,
.event-ticket-modal-feedback.is-success {
    color: var(--hx-theme-color);
}

.event-ticket-submit-btn {
    justify-content: center;
    min-width: 220px;
}
/*
.event-ticket-single-panel,
.event-ticket-beneficiary-panel {
    border: 1px solid var(--hx-border-color);
    border-radius: 8px;
    padding: 1rem;
    background: var(--hx-body-secondary-bg);
}
*/
.event-ticket-single-panel[hidden],
.event-ticket-beneficiary-panel[hidden] {
    display: none !important;
}

.event-ticket-beneficiary-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.event-ticket-beneficiary-head h5 {
    margin-bottom: 0.15rem;
    color: var(--hx-text-main);
    font-size: 1rem;
    font-weight: 800;
}

.event-ticket-beneficiary-head p {
    margin-bottom: 0;
    color: var(--hx-text-main-secondary);
    font-size: var(--hx-fs-sm);
}

.event-ticket-secondary-action {
    flex: 0 0 auto;
    border: 1px solid var(--hx-border-color);
    border-radius: 8px;
    padding: 0.55rem 0.8rem;
    background: var(--hx-body-bg);
    color: var(--hx-theme-color);
    font-size: var(--hx-fs-sm);
    font-weight: 800;
}

.event-ticket-check-option {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
    color: var(--hx-text-main);
    font-size: var(--hx-fs-sm);
    font-weight: 700;
}

.event-ticket-holder-list {
    display: grid;
    gap: 0.75rem;
}

.event-ticket-holder-row {
    border: 1px solid var(--hx-border-color);
    border-radius: 8px;
    padding: 0.75rem;
    background: var(--hx-body-bg);
}

.event-ticket-holder-row .form-control {
    min-width: 0;
}

.event-ticket-holder-title {
    margin-bottom: 0.55rem;
    color: var(--hx-theme-color);
    font-size: var(--hx-fs-sm);
    font-weight: 800;
}

.event-ticket-inline-summary {
    border: 1px dashed var(--hx-border-color);
    border-radius: 8px;
    padding: 1rem;
    background: var(--hx-body-bg);
}

.event-ticket-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.event-ticket-summary-grid span,
.event-ticket-summary-ticket-name span,
.event-ticket-summary-beneficiaries span {
    display: block;
    color: var(--hx-text-main-secondary);
    font-size: var(--hx-fs-xs);
    font-weight: 700;
    text-transform: uppercase;
}

.event-ticket-summary-grid strong {
    display: block;
    color: var(--hx-text-main);
    font-weight: 900;
}

.event-ticket-summary-total {
    grid-column: 1 / -1;
    border-top: 1px solid var(--hx-border-color);
    padding-top: 0.75rem;
}

.event-ticket-summary-total strong {
    color: var(--hx-theme-color);
    font-size: 1.35rem;
}

.event-ticket-summary-ticket-name,
.event-ticket-summary-beneficiaries {
    margin-top: 0.85rem;
}

.event-ticket-summary-ticket-name strong {
    display: block;
    margin-top: 0.25rem;
    color: var(--hx-text-main);
    font-weight: 900;
}

.event-ticket-summary-beneficiaries ul {
    display: grid;
    gap: 0.25rem;
    margin: 0.35rem 0 0;
    padding: 0;
    list-style: none;
    color: var(--hx-text-main);
    font-size: var(--hx-fs-sm);
}

.event-ticket-summary-beneficiaries li {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    border-bottom: 1px solid var(--hx-border-color);
    padding: 0.35rem 0;
}

.event-ticket-summary-beneficiaries li:last-child {
    border-bottom: 0;
}

.event-ticket-summary-beneficiaries li span {
    color: var(--hx-text-main-secondary);
    text-transform: none;
}

.event-ticket-summary-empty {
    color: var(--hx-text-main-secondary);
    font-weight: 800;
}

.event-access-empty {
    display: grid;
    gap: 0.35rem;
    border: 1px dashed var(--hx-border-color);
    border-radius: 8px;
    padding: 1rem;
    color: var(--hx-text-main-secondary);
    background: var(--hx-body-secondary-bg);
}

.event-reservation-section .event-registration-cta,
.event-participation-block .event-registration-cta {
    margin: 0;
    border: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.event-participation-block .event-registration-cta::before {
    display: none;
}

.event-reservation-note {
    margin-top: 0.5rem;
    font-size: var(--hx-fs-sm);
}

@media (min-width: 768px) {
    .event-access-section {
        padding: 1.5rem;
    }

    .event-ticket-grid--two,
    .event-ticket-grid--three,
    .event-ticket-grid--many {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .event-participation-choices {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .event-ticket-grid--three,
    .event-ticket-grid--many {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1099.98px) {
    .event-ticket-modal-grid {
        grid-template-columns: 1fr;
    }

    .event-ticket-modal-summary {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .event-access-head {
        flex-direction: column;
    }

    .event-ticket-card-top,
    .event-ticket-price-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .event-ticket-status {
        align-self: flex-start;
    }

    .event-ticket-modal-selected {
        grid-template-columns: 1fr;
    }

    .event-ticket-selected-meta {
        min-width: 0;
        max-width: none;
        justify-content: flex-start;
        text-align: left;
    }

    .event-ticket-selected-meta span {
        justify-content: flex-start;
    }

    .event-ticket-beneficiary-head {
        flex-direction: column;
    }

    .event-ticket-secondary-action {
        width: 100%;
    }

    .ticket-modal-header,
    .ticket-modal-footer {
        padding: 0.85rem 1rem;
    }

    .ticket-modal-body {
        padding: 1rem;
    }

    .event-ticket-submit-btn {
        width: 100%;
        min-width: 0;
    }

    .event-ticket-summary-grid {
        grid-template-columns: 1fr;
    }
}

[data-bs-theme="dark"] .event-access-section,
[data-bs-theme="dark"] .event-ticket-card,
[data-bs-theme="dark"] .event-participation-choice,
[data-bs-theme="dark"] .ticket-modal-dialog,
[data-bs-theme="dark"] .ticket-modal-header,
[data-bs-theme="dark"] .ticket-modal-footer,
[data-bs-theme="dark"] .ticket-modal-close,
[data-bs-theme="dark"] .event-ticket-modal-selected,
[data-bs-theme="dark"] .event-ticket-modal-step,
[data-bs-theme="dark"] .event-ticket-modal-summary,
[data-bs-theme="dark"] .event-ticket-single-panel,
[data-bs-theme="dark"] .event-ticket-holder-row,
[data-bs-theme="dark"] .event-ticket-inline-summary {
    background: var(--hx-body-secondary-bg);
    border-color: var(--hx-border-color);
}

[data-bs-theme="dark"] .event-ticket-status,
[data-bs-theme="dark"] .event-ticket-card.is-disabled .event-ticket-card-action,
[data-bs-theme="dark"] .event-access-empty,
[data-bs-theme="dark"] .event-ticket-beneficiary-panel,
[data-bs-theme="dark"] .event-ticket-stock-note,
[data-bs-theme="dark"] .ticket-modal-body {
    background: var(--hx-gray-850);
}

#toolbarContainer {
    display: none;
}
.space-ptb {
    padding: 100px 0;
}

.space-pt {
    padding: 100px 0 0;
}

.space-pb {
    padding: 0 0 100px;
}

.bg-primary {
    background: var(--hx-theme-color) !important;
}

.btn-theme {
    background-color: var(--thm-primary) !important;
}
.section-eloquence {
    padding: 5rem 0;
}

.portfolio-two-content {
    background-color: #FFF;
    padding: 4rem 0;
}

@media (max-width: 1199px) {
    .portfolio-two-section {
        padding-bottom: 70px;
    }
}

.section-title-box {
    margin-bottom: 40px;
}

.portfolio-two-section .section-title {
    margin: 10px 0;
    font-size: 50px;
    font-weight: 700;
    line-height: .9;
}

.portfolio-two-card .item {
    width: 200px;
    height: 200px;

}

.portfolio-two-card .item img {
    max-height: 100%;
    width: 100%;
}

.portfolio-two-carousel .owl-stage-outer {
    overflow: visible;
}

.masterclass-carousel .owl-stage-outer {
    overflow: visible;
}

.portfolio-two-card-content {
    position: absolute;
    z-index: 1;
    bottom: 5%;
    left: 5%;
    right: 5%;
    transition: transform 8s;
    transform: scale(1, 0);
    transform-origin: top;
    transition: transform 500ms;
    display: flex;
    align-items: center;
    padding: 35px 39px;
    background-color: var(--thm-primary);
}

.portfolio-two-card-content a {
    color: var(--thm-white);
    font-size: 24px;
    line-height: 1.2;
}

.portfolio-two-card:hover .portfolio-two-card-content {
    transform: scale(1.0);
}

.portfolio-two-image img {
    padding: 0px 30px;
}

.portfolio-two-card-text {
    max-width: 170px;
}

.portfolio-two-card-icon {
    margin-left: 40px;
}

.portfolio-two-card-icon a {
    height: 50px;
    width: 50px;
    display: inline-block;
    background-color: var(--thm-white);
    border-radius: 50%;
    text-align: center;
    color: var(--thm-black);
    line-height: 50px;
}

.portfolio-details {
    padding-top: 120px;
}

@media(max-width: 1199px) {
    .portfolio-details {
        padding-top: 70px;
    }
}

.portfolio-details img {
    width: 100%;
}

.portfolio-details-info {
    padding: 47px 60px;
    background-color: var(--thm-primary);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    /*background-color: var(--thm-light-bg);*/
}

@media(max-width: 991px) {
    .portfolio-details-info {
        padding: 50px 20px;
    }
}

@media (max-width: 991px) {
    .portfolio-details-info-item {
        width: 100%;
        margin-bottom: 20px;
    }

    .portfolio-two-card .item {
        width: 150px;
        height: 150px;
    }
}

.portfolio-details-item {
    background-color: var(--thm-light-bg);
    display: block;
    padding: 60px 60px;
    border: 4px solid var(--thm-border);
}

.portfolio-details-info-item-two+.portfolio-details-info-item-two {
    margin: 20px 0px;
}

@media (max-width: 991px) {
    .portfolio-details-info-item-two {
        margin-bottom: 0px;
    }
}

.portfolio-details-info-item span {
    color: var(--thm-white);
}

.portfolio-details-info-item-two span {
    color: var(--thm-black);
    font-weight: 700;
}

.portfolio-details-info-item-two .lead {
    color: var(--thm-gray);
    font-size: 17px;
}

.portfolio-details-info-item>p {
    font-size: 18px;
    color: var(--thm-white);
    font-weight: 500;
    margin-bottom: 0;
}

.portfolio-details-info-socials {
    display: flex;
}

.portfolio-details-info-socials a {
    height: 40px;
    display: inline-block;
    width: 40px;
    line-height: 40px;
    border-radius: 50%;
    text-align: center;
    background-color: var(--thm-dark-black);
    color: var(--thm-white);
}

.portfolio-details-info-socials a+a {
    margin-left: 10px;
}

.portfolio-details-content {
    padding-top: 50px;
    padding-bottom: 115px;
}

@media(max-width: 1199px) {
    .portfolio-details-content {
        padding-top: 40px;
        padding-bottom: 50px;
    }
}

.portfolio-details-content-inner {
    padding: 50px 0px;
}

.portfolio-details-content-list {
    padding: 0px;
}

.portfolio-details-content-title h3 {
    font-size: 34px;
    margin-bottom: 25px;
}

.portfolio-details-content-text p {
    margin-bottom: 0px;
}

.portfolio-details-content-text p+p {
    margin-top: 30px;
}

.portfolio-details-nav-inner {
    display: flex;
    justify-content: space-between;
    padding: 31px 0px;
    border-top: 1px solid var(--thm-border);
    border-bottom: 1px solid var(--thm-border);
}

@media (max-width: 575px) {
    .portfolio-details-nav-inner {
        display: grid;
    }
}

.portfolio-details-nav-item {
    display: flex;
    align-items: center;
    column-gap: 20px;
}

@media(max-width: 575px) {
    .portfolio-details-nav-item {
        padding-bottom: 50px;
    }
}

.portfolio-details-nav-content span {
    font-size: 14px;
}

.portfolio-details-nav-content h5 {
    margin-bottom: 0;
    font-size: 18px;
}

.portfolio-details-nav-content h5>a {
    color: inherit;
}

.portfolio-details-nav-content h5>a:hover {
    color: var(--thm-primary);
}

.portfolio-details-nav-item.next-item {
    flex-direction: row-reverse;
    text-align: right;
}

.portfolio-details-nav-icon a {
    height: 50px;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.2;
    color: var(--thm-black);
    border: 2px solid currentColor;
    border-radius: 50%;
    transition: all 500ms ease;
}

.portfolio-details-nav-item:hover .portfolio-details-nav-icon a {
    color: var(--thm-primary);
    opacity: 1;
}

.portfolio-details-nav-content a {
    color: inherit;
    font-weight: 800;
}

.page-wrapper {
    position: relative;
    overflow: hidden;
    margin-top: -25px
}
@media (min-width:1300px) {
    .content-wrapper {
        max-width: 550px;
        margin: auto
    }

    .header-inner .header-inner-title {
        max-width: 640px;
    }
}

.header-inner {
    padding: 140px 0px;
    background-size: cover;
    background-position: center center;
}

.header-inner {
    z-index: 99;
}

.bg-overlay-black-70 {
    position: relative;
    z-index: 1;
}

.bg-overlay-black-70::before {
    background: rgba(2, 45, 98, 0.7);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
}

.header-inner .header-inner-title {
    font-size: 18px;
}

.header-inner .header-inner-title h1 {
    font-size: 45px;
    margin-bottom: 10px;
    font-weight: 700 !important;
}
.bg-section {
    background-color: #dceafd;
    padding: 4rem 0;
}

.title-page {
    font-size: 55px;
    font-stretch: 75%;
    line-height: 50px;
    font-weight: 700;
    margin: 20px 0;
}

.p-page {
    font-size: 1.05rem;
}

.section-title {
    font-size: 45px;
    line-height: 45px;
}
/*
h1, h2, h3, h4, h5, h6 {
    line-height: 1;
}
*/
.topbar-one {
    --mn-bg-nav: #ffffff;
    --mn-margin-bottom: 1.5rem;
    display: flex;
    background-color: var(--thm-black);
    margin-bottom: var(--mn-margin-bottom);
}

@media(max-width: 991px) {
    .topbar-one {
        display: flex;
        justify-content: space-between;
    }
}

@media(max-width: 575px) {
    .topbar-one {
        display: flex;
        justify-content: space-between;
    }
}
.topbar-one-middle {
    display: flex;
    justify-content: space-between;
    padding: 8px 0px;
    align-items: center;
}

@media(max-width: 1199px) {
    .topbar-one-middle {
        display: block;
    }
}

.sticky-header--cloned {
    position: fixed;
    z-index: 9999 !important;
    top: 0;
    left: 0;
    background-color: var(--thm-white);
    width: 100%;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(-120%);
    transform: translateY(-120%);
    box-shadow: 0px 1px 4px 0px rgb(0 0 0 / 15%);
    margin-top: 0 !important;
}

@media (max-width: 1199px) {
    .sticky-header--cloned {
        display: none !important;
    }
}

.sticky-header--cloned.sticky-fixed {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
    -webkit-transition: visibility 500ms ease, -webkit-transform 500ms ease, opacity 500ms ease;
    transition: visibility 500ms ease, -webkit-transform 500ms ease, opacity 500ms ease;
    transition: transform 500ms ease, visibility 500ms ease, opacity 500ms ease;
    transition: transform 500ms ease, visibility 500ms ease, -webkit-transform 500ms ease, opacity 500ms ease;
    visibility: visible;
    -moz-transition: visibility 500ms ease, -webkit-transform 500ms ease, opacity 500ms ease;
    -ms-transition: visibility 500ms ease, -webkit-transform 500ms ease, opacity 500ms ease;
    -o-transition: visibility 500ms ease, -webkit-transform 500ms ease, opacity 500ms ease;
}

.main-menu {
    background-color: var(--thm-light-bg);
}

.main-menu.menu-two {
    padding-right: 0;
    z-index: 9;
    background-color: transparent;
    margin-top: 20px;
    margin-bottom: -10px!important;
}

@media(max-width: 1199px) {
    .main-menu.menu-two {
        margin-top: 10px
    }
}

@media(max-width: 575px) {
    .main-menu.menu-two {
        margin-top: -17px
    }
}

.main-menu-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main-menu-left {
    display: flex;
    align-items: center;
    flex-grow: 1;
}

.main-menu-logo {
    min-width: 253px;
    justify-content: center;
    display: flex;
    align-items: center;
    padding: 33px 20px;
    background: #fff;
}

@media (max-width: 399px) {
    .main-menu-logo {
        width: 100%;
        max-width: 220px;
        padding: 33px 20px;
    }
}


.navigation {
    padding-left: 50px;
    padding-right: 40px;
}

.menu-two .navigation {
    padding-left: 20px;
}

@media (max-width: 1499px) {
    .navigation {
        padding-left: 50px;
    }
}

@media (max-width: 1199px) {
    .navigation {
        display: none;
    }
}

.main-menu .main-menu-list {
    display: flex;
    margin: 0;
    padding: 0;
}

@media(max-width: 1399px) {
    .main-menu .main-menu-list {
        display: none;
    }
}

.main-menu .main-menu-list>li {
    position: relative;
}

.main-menu .main-menu-list>li>a {
    padding: 38px 0;
    display: flex;
    align-items: center;
    font-size: var(--mn-font-size-nav);
    position: relative;
    color: #222;
}

.main-menu .main-menu-list>li>a:before {
    position: absolute;
    content: '';
    height: 5px;
    left: 0;
    top: calc(60% + 3px);
    background-color: var(--thm-primary);
    width: 100%;
    opacity: 0.3;
    transform: scale(0, 1);
    transition: transform 500ms ease;
    transform-origin: right;
}

.main-menu .main-menu-list>li.active>a:before,
.main-menu .main-menu-list>li:hover>a:before {
    transform: scale(1, 1);
    transform-origin: left;
}

.main-menu .main-menu-list>li.active>a,
.main-menu .main-menu-list>li>a:hover {
    color: var(--thm-black);
}

.main-menu .main-menu-list>li.has-dropdown>a:after {
    content: '\f107';
    font-family: "bootstrap-icons";
    font-size: 13px;
    margin-left: 10px;
}

.main-menu.menu-two .main-menu-list>li>a {
    padding: 23px 0;
}

.main-menu .main-menu-list>li+li {
    margin-left: 50px;
}

@media (max-width: 1520px) {
    .main-menu .main-menu-list>li+li {
        margin-left: 30px;
    }
}

.main-menu .main-menu-list>li ul {
    opacity: 0;
    position: absolute;
    width: 220px;
    left: -15px;
    top: 100%;
    transform: translateY(30px);
    visibility: hidden;
    transition: all 500ms ease;
    z-index: 999;
    box-shadow: 0px 10px 30px 0px rgb(0 0 0 / 10%);
}

.main-menu .main-menu-list>li:hover>a+ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.main-menu .main-menu-list>li ul>li {
    position: relative;
}

.main-menu .main-menu-list>li ul>li>a {
    padding: 12px 20px;
    display: block;
    background-color: #fff;
    border-bottom: 1px solid var(--thm-border);
}

.main-menu .main-menu-list>li ul>li:last-child>a {
    border-bottom: 0;
}

.main-menu .main-menu-list>li ul>li>a:hover {
    background-color: var(--thm-primary);
    color: #fff !important;
}

.main-menu .main-menu-list>li>ul li>ul {
    left: 100%;
    top: 0;
}

.main-menu .main-menu-list>li:hover>ul li:hover>ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Aligne les menus déroulants statiques de GENOCOST sur la navigation commune. */
.main-menu .main-menu-list>li.dropdown>.nav-link .mn-icon {
    margin-left: 0.35rem;
    width: 1.125rem;
    height: 1.125rem;
    fill: currentColor;
}

.main-menu .main-menu-list>li.dropdown>.standard-dropdown {
    display: none;
    width: auto;
    min-width: 220px;
    margin-top: 0;
    padding: 10px 0;
    border: 1px solid var(--mn-border);
    border-radius: 0;
    background-color: var(--mn-bg-dropdown);
    box-shadow: var(--mn-shadow);
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
}

.main-menu .main-menu-list>li.dropdown:hover>.standard-dropdown,
.main-menu .main-menu-list>li.dropdown>.standard-dropdown.show {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: none;
}

.main-menu .main-menu-list>li.dropdown>.standard-dropdown>li>a.dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.625rem 1.25rem !important;
    border-bottom: 0;
    background: transparent;
    color: var(--mn-text-sub);
    font-size: var(--hx-fs-sm);
    font-weight: 500;
}

.main-menu .main-menu-list>li.dropdown>.standard-dropdown>li.active>a.dropdown-item,
.main-menu .main-menu-list>li.dropdown>.standard-dropdown>li>a.dropdown-item:hover {
    background: transparent;
    color: var(--hx-theme-color) !important;
}
.topbar-one {
    box-shadow: 0px 1px 4px 0px rgb(0 0 0 / 15%);
    margin-top: 0 !important;
}

.mobile-menu-button span {
    background-color: var(--thm-black);
}

.mobile-menu-button {
    display: none;
    margin-left: 30px;
    margin-right: 30px;
}

@media (max-width: 1399px) {
    .mobile-menu-button {
        display: block;
    }
}

@media (max-width: 575px) {
    .mobile-menu-button {
        margin-left: 0px;
    }
}

.mobile-menu-button span {
    height: 2px;
    width: 20px;
    background-color: var(--thm-black);
    display: block;
}

.mobile-menu-button span+span {
    margin-top: 4px;
}

.main-menu-right {
    display: flex;
    align-items: center;
    margin-left: 10px;
}

@media (max-width:575px) {
    .main-menu-right {
        margin-right: 20px;
    }
}

@media (max-width: 250px) {
    .main-menu-right {
        position: absolute;
        top: 68px;
        left: 0;
        right: 0;
    }
}

a.search-toggler {
    display: block;
    height: 50px;
    width: 50px;
    border-radius: 50%;
    background-color: var(--thm-white);
    line-height: 55px;
    text-align: center;
}

.search-box {
    margin-right: 30px;
}

.search-box i {
    color: var(--thm-black);
    font-size: 20px;
    line-height: 2.5;
}

.main-menu-right-button .btn-primary {
    margin-right: 40px;
    padding: 12px 20px;
}

@media (max-width: 1399px) {
    .main-menu-right-button {
        display: none;
    }
}

.main-menu-right-button .btn-primary a {
    color: var(--thm-white);
    padding: 10px 0px;
}

@media (max-width: 1399px) {
    .main-menu-right-button .btn-primary {
        padding: 13px 20px;
    }
}

.main-menu-one-inner {
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: 0 30px;
    position: relative;
    z-index: 99;
}

@media (max-width: 1399px) {
    .main-menu-one-inner {
        background-color: inherit;
        justify-content: end;
        padding: 0px;
        margin-top: 15px;
    }
}

@media (max-width: 575px) {
    .main-menu-one-inner {
        margin-top: 30px;
    }
}

.topbar-one-button {
    margin-top: 25px;
    margin-bottom: 25px;
    margin-right: 60px;
    display: flex;
}

@media(max-width: 1199px) {
    .topbar-one-button {
        display: none;
    }
}

@media(max-width: 767px) {
    .topbar-one-button {
        margin-left: 105px;
    }
}

@media(max-width: 575px) {
    .topbar-one-button {
        margin-left: 0px;
    }
}

.topbar-one-button .btn-p {
    padding: 12px 24px;
    margin-left: 15px;
    background-color: var(--thm-primary) !important;
}

@media(max-width: 1399px) {
    .topbar-one-button .btn-primary {
        display: none;
    }
}

@media(max-width: 991px) {
    .topbar-one-button .btn-primary {
        padding: 14px 49px;
    }
}

.topbar-one-button .btn-primary:hover,
.topbar-one-button .btn-primary:focus,
.topbar-one-button .btn-primary.active {
    background-color: var(--thm-primary);
    ;
}

.topbar-one-button a {
    flex-shrink: 0;
}
.menu-logo {
    padding: 40px 60px;
    max-width: 250px;
    max-height: 100px;
    align-items: center;
    color: var(--thm-white);
    display: inline-block;
    background-color: var(--thm-dark-black);
}
.menu-logo {
    padding: 35px 20px;
    min-width: 250px;
    max-height: 100px;
    align-items: center;
    color: var(--thm-white);
    display: flex;
    background-color: var(--thm-black);
    justify-content: center;
}

@media(max-width: 575px) {
    .menu-logo {
        min-width: 170px;
    }
}
.nav-main .navbar-nav .nav-link {
    display: flex;
    align-items: center;
    color: #222;
    line-height: 42px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    padding: 20px 12px;
    white-space: nowrap;
}

.nav-main .navbar-nav .nav-link i {
    font-size: 12px;
    margin-left: 3px;
}

.nav-main .navbar-nav .search-icon:hover,
.nav-main .navbar-nav .search-icon:active,
.nav-main .navbar-nav .search-icon:focus {
    color: var(--hx-theme-color) !important;
}

.dropdown .dropdown-menu .dropdown-item i {
    font-size: 12px;
    margin-left: 3px;
}

.nav-main .navbar-nav .nav-link:hover,
.nav-main .navbar-nav .nav-link:focus {
    color: #222
}

.nav-main .navbar-nav .nav-link.active {
    font-weight: 600;
    color: #222
}

.nav-main .navbar-nav-svg {
    width: 1rem;
    height: 1rem
}
.about-footer p {
    font-size: 1.125rem;
    color: var(--white-color);
    margin-bottom: 40px;
    font-stretch: 75%;
}
@media only screen and (max-width: 991px) {
    .about-footer {
        margin: 0 0 30px 0;
    }

    .about-footer p {
        font-size: 1rem;
        margin-bottom: 20px;
    }
}

.footer-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer-links ul li {
    text-transform: uppercase;
    color: var(--white-color);
    line-height: normal;
    margin-bottom: 12px;
    transition: all 0.3s ease-in-out;
    font-stretch: 75%;
}

.footer-links ul li:hover {
    color: var(--accent-secondary-color);
}

.footer-links ul li:last-child {
    margin-bottom: 0;
}

.footer-links ul li a {
    color: var(--white-color);
}

.footer-links ul li a:hover {
    color: var(--white-color) !important;
    text-decoration: underline;
}
.footer-copyright {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    border-top: 1px solid var(--dark-divider-color);
    margin-top: 20px;
    padding: 50px 0;
    color: var(--white-color);
}

.footer-copyright-text p {
    color: var(--white-color);
    margin-bottom: 0;
}

.footer-privacy-policy {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    border-top: 1px solid var(--dark-divider-color);
    margin-top: 60px;
    padding-top: 20px;
}

.privacy-policy-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: right;
}

.privacy-policy-list ul li {
    display: inline-block;
    text-transform: capitalize;
    line-height: normal;
    color: var(--white-color);
    border-right: 1px solid var(--dark-divider-color);
    padding-right: 10px;
    margin-right: 10px;
    transition: all 0.3s ease-in-out;
}

.privacy-policy-list ul li:hover {
    color: var(--accent-secondary-color);
}

.privacy-policy-list ul li:last-child {
    border-right: none;
    padding-right: 0;
    margin-right: 0;
}

.privacy-policy-list ul li a {
    color: #ffffff !important;
}

.privacy-policy-list ul li a:hover {
    color: #ffffff !important;
}

@media only screen and (max-width: 767px) {
    .footer-privacy-policy {
        display: block;
        margin-top: 0;
    }
}

@media only screen and (max-width: 991px) {
    .footer-privacy-policy {
        margin-top: 40px;
    }
}
#pre-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999999;
}

#pre-loader .loader-section {
    position: fixed;
    top: 0;
    width: 51%;
    height: 100%;
    z-index: 999999;
    background-color: var(--thm-black);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

#pre-loader .loader-section.section-left {
    left: 0;
}

#pre-loader .loader-section.section-right {
    right: 0;
}

#loader-logo {
    display: block;
    position: relative;
    left: calc(50% - 20em/2);
    top: 15%;
    width: 20em;
    height: 9.375em;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("../../../img/6-dots-rotate.svg");
    z-index: 1001;
}

#loader-circle {
    display: block;
    position: relative;
    left: 50%;
    top: 35%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #fff;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    z-index: 9999999;
}

#loader-circle:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--thm-gray);
    -webkit-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite;
}

#loader-circle:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--thm-primary);
    -webkit-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}

.loaded #pre-loader .loader-section.section-left {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.loaded #pre-loader .loader-section.section-right {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.loaded #loader-logo,
.loaded #loader-circle {
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.loaded #pre-loader {
    visibility: hidden;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: all 0.3s 1s ease-out;
    transition: all 0.3s 1s ease-out;
}

.no-js #pre-loader {
    display: none;
}

/***********************
* Animations
***********************/
@keyframes UpDown {

    0%,
    100% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(10deg);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(300px);
    }

    to {
        opacity: 1;
    }
}

@keyframes ripple {
    70% {
        box-shadow: 0 0 0 40px rgba(255, 255, 255, 0);
    }

    100% {
        box-shadow: 0 0 0 0px rgba(255, 255, 255, 0);
    }
}

@-webkit-keyframes mover {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-20px);
    }
}

@keyframes mover {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-20px);
    }
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* ==========================================================================
   Variables
   ========================================================================== */

/* Source : assets/vendor/google-fonts/fonts.css */
/* Cinzel, sous-ensemble latin et latin étendu, auto-hébergé. */
@font-face {
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("../../../vendor/google-fonts/webfonts/cinzel-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("../../../vendor/google-fonts/webfonts/cinzel-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* EB Garamond, styles romain et italique, auto-hébergé. */
@font-face {
  font-family: "EB Garamond";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../../../vendor/google-fonts/webfonts/eb-garamond-normal-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "EB Garamond";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../../../vendor/google-fonts/webfonts/eb-garamond-normal-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "EB Garamond";
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url("../../../vendor/google-fonts/webfonts/eb-garamond-italic-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "EB Garamond";
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url("../../../vendor/google-fonts/webfonts/eb-garamond-italic-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Figtree, sous-ensemble latin et latin étendu, auto-hébergé. */
@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../../../vendor/google-fonts/webfonts/figtree-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../../../vendor/google-fonts/webfonts/figtree-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {

  --color-background-primary: #11110f;
  --color-background-charcoal: #151513;
  --color-background-secondary: #181815;
  --color-background-mineral: #1d1b17;
  --color-background-tertiary: #20201c;
  --color-surface-elevated: #272720;
  --color-text-primary: #f3f0e8;
  --color-text-secondary: #cbc5bb;
  --color-text-discreet: #aaa399;
  --color-accent-primary: #c9a56d;
  --color-accent-primary-hover: #d9b77f;
  --color-accent-primary-active: #b88d52;
  --color-accent-mineral: #755636;
  --color-accent-on: #11110f;
  --text-on-dark: #f3f0e8;
  --text-on-dark-secondary: #cbc5bb;
  --accent-on-dark: #c9a56d;
  --accent-on-dark-hover: #d9b77f;
  --accent-on-dark-active: #b88d52;
  --color-border-dark-subtle: rgba(255, 255, 255, 0.1);
  --color-border-dark-default: rgba(255, 255, 255, 0.14);
  --color-border-dark-strong: rgba(255, 255, 255, 0.18);
  --color-border-structural: rgba(255, 255, 255, 0.36);
  --color-border-interactive: rgba(255, 255, 255, 0.42);
  --color-overlay-image-soft: rgba(8, 8, 7, 0.45);
  --color-overlay-image-medium: rgba(8, 8, 7, 0.6);
  --color-overlay-image-strong: rgba(8, 8, 7, 0.75);
  --color-overlay-text-side-start: rgba(8, 8, 7, 0.86);
  --color-overlay-text-side-middle: rgba(8, 8, 7, 0.68);
  --color-overlay-text-side-end: rgba(8, 8, 7, 0.24);
  --color-overlay-text-bottom: rgba(8, 8, 7, 0.88);
  --reservation-overlay-start: rgba(8, 8, 7, 0.9);
  --reservation-overlay-middle: rgba(8, 8, 7, 0.72);
  --reservation-overlay-end: rgba(8, 8, 7, 0.22);
  --reservation-overlay-edge: rgba(8, 8, 7, 0.12);
  --reservation-overlay-bottom: rgba(8, 8, 7, 0.66);
  --reservation-overlay-clear: rgba(8, 8, 7, 0.04);
  --reservation-overlay-top: rgba(8, 8, 7, 0.2);
  --reservation-related-overlay-start: rgba(8, 8, 7, 0.94);
  --reservation-related-overlay-middle: rgba(8, 8, 7, 0.46);
  --reservation-related-overlay-end: rgba(8, 8, 7, 0.18);
  --reservation-on-dark-soft: rgba(255, 255, 255, 0.68);
  --reservation-on-dark-muted: rgba(255, 255, 255, 0.66);
  --reservation-on-dark-readable: rgba(255, 255, 255, 0.76);
  --reservation-rule-soft: rgba(255, 255, 255, 0.2);
  --reservation-rule-medium: rgba(255, 255, 255, 0.22);
  --reservation-rule-strong: rgba(255, 255, 255, 0.28);
  --reservation-rule-hero: rgba(255, 255, 255, 0.34);
  --reservation-progress-background: rgba(250, 248, 244, 0.96);

  /*
   * Palette claire complémentaire.
   * Ces surfaces sont chaudes et minérales ; elles ne sont activées que par
   * les variantes dédiées afin de préserver le thème sombre par défaut.
   */
  --surface-ivory: #f1eee7;
  --surface-stone: #e7e1d7;
  --surface-paper: #f6f3ed;
  --surface-warm: #ddd5c8;
  --surface-light-glow: rgba(221, 213, 200, 0.28);
  --text-on-light: #181713;
  --text-on-light-secondary: #4f4a42;
  --border-on-light: rgba(24, 23, 19, 0.16);
  --border-on-light-strong: #766f65;
  /* L’ocre approfondi conserve un contraste AA sur toutes les surfaces claires. */
  --accent-on-light: #76571f;
  --accent-on-light-hover: #5e4419;
  --accent-on-light-active: #493310;
  --accent-on-light-contrast: #f6f3ed;
  --focus-on-light: #5e4419;
  --shadow-light-surface: none;
  --shadow-focus-on-light: 0 0 0 6px var(--surface-paper);

  /*
   * Palette du parcours d’annulation de visite.
   * Les valeurs restent propres à ce module afin de conserver son contraste
   * administratif sans modifier les chapitres éditoriaux du site.
   */
  --visit-cancel-page-background: #f3f0e9;
  --visit-cancel-text: #24211d;
  --visit-cancel-panel-background: #fffdf8;
  --visit-cancel-border: #cec7bb;
  --visit-cancel-eyebrow: #6a6258;
  --visit-cancel-title: #1c1a17;
  --visit-cancel-introduction: #5b554d;
  --visit-cancel-message-border: #a9a197;
  --visit-cancel-message-background: #f5f2ec;
  --visit-cancel-message-text: #332f2a;
  --visit-cancel-success-border: #477257;
  --visit-cancel-success-background: #edf4ef;
  --visit-cancel-success-text: #24412e;
  --visit-cancel-error-border: #9a5149;
  --visit-cancel-error-background: #f8eeee;
  --visit-cancel-error-text: #642d28;
  --visit-cancel-primary: #a33a2d;
  --visit-cancel-primary-hover: #7f2d23;
  --visit-cancel-secondary-border: #4d4841;
  --visit-cancel-secondary-text: #2a2723;

  /*
   * Densités du hero calculées selon la position du texte et la luminosité de
   * chacune des trois images. Elles restent séparées des overlays génériques.
   */
  --color-hero-overlay-memory-start: rgba(8, 8, 7, 0.92);
  --color-hero-overlay-memory-middle: rgba(8, 8, 7, 0.72);
  --color-hero-overlay-memory-end: rgba(8, 8, 7, 0.28);
  --color-hero-overlay-history-start: rgba(8, 8, 7, 0.94);
  --color-hero-overlay-history-middle: rgba(8, 8, 7, 0.78);
  --color-hero-overlay-history-end: rgba(8, 8, 7, 0.34);
  --color-hero-overlay-transmission-middle: rgba(8, 8, 7, 0.74);
  --color-hero-overlay-transmission-end: rgba(8, 8, 7, 0.26);
  --color-hero-overlay-bottom-strong: rgba(8, 8, 7, 0.8);
  --color-hero-overlay-bottom-soft: rgba(8, 8, 7, 0.22);
  --color-hero-overlay-mobile-strong: rgba(8, 8, 7, 0.96);
  --color-hero-overlay-mobile-middle: rgba(8, 8, 7, 0.52);
  --color-hero-depth-plane: rgba(8, 8, 7, 0.32);
  --color-hero-control-background: rgba(8, 8, 7, 0.48);
  --color-hero-control-background-hover: rgba(8, 8, 7, 0.78);

  /* Palette historique : les alias existants restent disponibles pour éviter toute régression. */
  --color-background: #f4f1ea;
  --color-background-subtle: #fbfaf7;
  --color-background-inverse: #11100f;
  --color-surface: #ffffff;
  --color-text: #191715;
  --color-text-muted: #625e57;
  --color-text-inverse: #f8f5ef;
  --color-primary: #c9a56d;
  --color-accent: #755636;
  --color-border: #d8d2c7;
  --color-border-strong: #393633;
  --color-error: #9f302b;
  --color-success: #38674b;
  --color-white: #ffffff;

  /* Nuances sombres et textes secondaires issus du template. */
  --color-ink-deep: #090909;
  --color-ink-soft: #151412;
  --color-ink-raised: #1b1917;
  --color-ink-footer: #0d0c0b;
  --color-media-placeholder: #282521;
  --color-topbar-text: #d9d4cc;
  --color-brand-border: #f1eee8;
  --color-brand-muted: #a9a49c;
  --color-nav-text: #f2eee7;
  --color-menu-text: #d6d0c7;
  --color-hero-text: #e6e0d7;
  --color-card-text: #d4cec5;
  --color-home-copy: #b8b1a7;
  --color-memorial-text: #dfd9d0;
  --color-footer-text: #d5d0c8;
  --color-footer-link: #c6c0b7;
  --color-footer-muted: #8f8a82;

  /* Transparences utilisées par les superpositions, bordures et états. */
  --color-border-translucent: rgba(255, 255, 255, 0.12);
  --color-index-text: rgba(255, 255, 255, 0.72);
  --color-hero-overlay-start: rgba(3, 3, 3, 0.88);
  --color-hero-overlay-middle: rgba(3, 3, 3, 0.55);
  --color-hero-overlay-end: rgba(3, 3, 3, 0.18);
  --color-hero-overlay-mobile-start: rgba(3, 3, 3, 0.92);
  --color-hero-overlay-mobile-end: rgba(3, 3, 3, 0.62);
  --color-media-overlay: rgba(8, 8, 8, 0.92);
  --color-home-overlay-start: rgba(8, 8, 8, 0.86);
  --color-home-overlay-end: rgba(8, 8, 8, 0.34);
  --color-modal-backdrop: rgba(8, 8, 8, 0.76);
  --color-focus-ring: rgba(201, 165, 109, 0.22);
  --color-focus-visible: #9b7446;
  --color-focus-contrast-light: #f3f0e8;
  --color-focus-contrast-dark: #11110f;
  --color-home-depth-subtle: rgba(9, 9, 9, 0.18);
  --color-home-depth-medium: rgba(9, 9, 9, 0.38);
  --color-home-depth-strong: rgba(9, 9, 9, 0.62);
  --color-home-border-subtle: rgba(255, 255, 255, 0.08);
  --color-panel-overlay-dark: rgba(17, 16, 15, 0.95);
  --color-panel-overlay-light: rgba(244, 241, 234, 0.96);
  --color-panel-overlay-light-soft: rgba(244, 241, 234, 0.32);
  --color-panel-overlay-memorial-dark: rgba(17, 17, 15, 0.94);
  --color-panel-overlay-memorial-raised: rgba(32, 32, 28, 0.96);
  --color-panel-overlay-memorial-raised-soft: rgba(32, 32, 28, 0.48);
  --color-header-transparent: rgba(9, 9, 9, 0.72);
  --color-header-solid: rgba(9, 9, 9, 0.97);
  --color-header-submenu: rgba(21, 20, 18, 0.98);
  --color-navigation-backdrop: rgba(5, 5, 4, 0.72);
  --color-night-deep: #080807;
  --color-object-light: rgba(215, 181, 128, 0.14);
  --color-footer-glow: rgba(178, 140, 88, 0.12);
  --color-footer-haze: rgba(255, 239, 210, 0.1);
  --color-primary-glow-strong: rgba(178, 140, 88, 0.8);
  --color-hero-light: rgba(26, 23, 19, 0.14);
  --color-hero-haze: rgba(245, 226, 190, 0.08);
  --color-panorama-shade-top: rgba(21, 21, 19, 0.96);
  --color-panorama-shade-bottom: rgba(24, 24, 21, 0.96);
  --color-hero-threshold-dark: rgba(9, 9, 9, 0.18);
  --color-hero-threshold-light: rgba(244, 241, 234, 0.2);
  --color-silence-shadow: rgba(9, 9, 9, 0.08);
  --color-silence-glow: rgba(178, 140, 88, 0.08);
  --color-silence-haze: rgba(178, 140, 88, 0.06);
  --color-footer-door-light-soft: rgba(255, 239, 210, 0.04);
  --color-footer-door-light: rgba(255, 239, 210, 0.2);
  --color-footer-door-shadow: rgba(178, 140, 88, 0.1);
  --color-footer-transition-soft: rgba(13, 12, 11, 0.26);
  --color-footer-image-deep: rgba(9, 9, 9, 0.8);
  --color-footer-image-middle: rgba(9, 9, 9, 0.34);
  --color-footer-image-end: rgba(9, 9, 9, 0.68);
  --color-footer-image-fade-start: rgba(13, 12, 11, 0.12);
  --color-footer-image-fade-end: rgba(13, 12, 11, 0.42);
  --color-footer-rule-faint: rgba(198, 192, 183, 0.15);
  --color-footer-rule-line: rgba(198, 192, 183, 0.17);
  --color-footer-rule-soft: rgba(198, 192, 183, 0.24);
  --color-footer-rule-medium: rgba(198, 192, 183, 0.3);
  --color-footer-rule-strong: rgba(198, 192, 183, 0.35);
  --color-footer-journey-deep: rgba(8, 8, 7, 0.96);
  --color-footer-journey-middle: rgba(8, 8, 7, 0.5);
  --color-footer-journey-top: rgba(8, 8, 7, 0.25);
  --color-footer-journey-side: rgba(8, 8, 7, 0.54);
  --color-door-shadow: rgba(0, 0, 0, 0.74);
  --color-door-shadow-hover: rgba(0, 0, 0, 0.68);
  --color-door-elevation: rgba(0, 0, 0, 0.2);
  --color-door-light: rgba(220, 190, 143, 0.24);
  --color-door-shade-start: rgba(8, 8, 7, 0.08);
  --color-door-shade-end: rgba(8, 8, 7, 0.88);
  --color-door-border-active: rgba(178, 140, 88, 0.72);

  /* Alias de compatibilité employés par les styles déjà en place. */
  --color-base: var(--color-background);
  --color-base-light: var(--color-background-subtle);
  --color-base-dark: var(--color-background-inverse);
  --color-text-soft: var(--color-text-muted);
  --color-primary-hover: var(--color-accent);
  --color-border-dark: var(--color-border-strong);

  /* Familles typographiques officielles. */
  --font-display: "Cinzel", serif;
  --font-editorial: "EB Garamond", serif;
  --font-body: "Figtree", sans-serif;

  /*
   * Échelle typographique de référence Musea.
   * Les valeurs fixes en px reprennent le thème archivé dans legacy/musea ;
   * seules les familles propres au mémorial sont conservées.
   */
  --font-size-display-hero: 51px;
  --font-size-title-h1: 51px;
  --font-size-title-h2: 40px;
  --font-size-title-h3: 32px;
  --font-size-eyebrow: 13px;
  --font-size-lead-responsive: 21px;
  --font-size-body-responsive: 17px;
  --font-size-caption-responsive: 14px;
  --font-size-metadata: 13px;
  --font-size-button: 13px;

  /* Titres monumentaux, ramenés sur la hiérarchie Musea. */
  --font-size-display-xl: 51px;
  --font-size-display-lg: 49px;
  --font-size-display-md: 40px;
  --font-size-display-sm: 32px;
  --font-size-display-compact: 42px;
  --font-size-display-mobile: 34px;

  /* Titres hiérarchiques Musea. */
  --font-size-h1: 51px;
  --font-size-h2: 40px;
  --font-size-h3: 32px;
  --font-size-h4: 27px;
  --font-size-h5: 22px;
  --font-size-h6: 20px;

  /* Textes éditoriaux. */
  --font-size-lead-xl: 30px;
  --font-size-lead-lg: 26px;
  --font-size-lead: 22px;
  --font-size-quote: 28px;
  --font-size-intro: 24px;
  --font-size-subtitle: 20px;

  /* Textes courants et fonctionnels. */
  --font-size-body-xl: 20px;
  --font-size-body-lg: 18px;
  --font-size-body: 17px;
  --font-size-body-sm: 15.5px;
  --font-size-body-md: 16px;
  --font-size-caption: 14.5px;
  --font-size-label: 13px;
  --font-size-tiny: 12px;
  --font-size-micro: 10px;

  /* Graisses autorisées. */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Hauteurs de ligne calculées depuis les rapports du thème Musea. */
  --line-height-display: 59px;
  --line-height-heading: 1;
  --line-height-h1: 59px;
  --line-height-h2: 47px;
  --line-height-h3: 32px;
  --line-height-h4: 27px;
  --line-height-h5: 22px;
  --line-height-h6: 20px;
  --line-height-editorial: 1.2;
  --line-height-body: 27px;
  --line-height-interface: 26px;
  --line-height-caption: 21px;

  /* Approches typographiques. */
  --letter-spacing-display: -0.02em;
  --letter-spacing-heading: -0.01em;
  --letter-spacing-normal: 0;
  --letter-spacing-label: 0.04em;
  --letter-spacing-uppercase: 0.08em;

  /* Échelle canonique issue des espacements récurrents de Musea. */
  --space-1: 5px;
  --space-2: 10px;
  --space-3: 15px;
  --space-4: 20px;
  --space-5: 30px;
  --space-6: 40px;
  --space-7: 50px;
  --space-8: 80px;
  --space-9: 100px;
  --space-10: 116px;
  --space-11: 147px;
  --space-12: 180px;

  /*
   * Rôles de rythme vertical.
   * Ces alias décrivent l’intention narrative plutôt qu’une valeur isolée.
   */
  --rhythm-section-large: var(--space-12);
  --rhythm-section: var(--space-11);
  --rhythm-section-compact: var(--space-10);
  --rhythm-section-mobile: var(--space-9);
  --rhythm-section-mobile-compact: var(--space-8);
  --rhythm-group: var(--space-8);
  --rhythm-group-mobile: var(--space-7);
  --rhythm-eyebrow-title: var(--space-5);
  --rhythm-title-intro: var(--space-6);
  --rhythm-content-action: var(--space-6);
  --rhythm-card-gap: var(--space-6);
  --rhythm-card-gap-mobile: var(--space-5);
  --rhythm-media-caption: var(--space-3);

  /*
   * Échelle éditoriale propre à l’accueil.
   * Elle borne les respirations à 120px et distingue clairement chapitre,
   * groupe, contenu et mosaïque afin d’éviter les marges cumulées.
   */
  --home-rhythm-xs: 10px;
  --home-rhythm-sm: 15px;
  --home-rhythm-md: 20px;
  --home-rhythm-lg: 25px;
  --home-rhythm-xl: 35px;
  --home-rhythm-group: 45px;
  --home-rhythm-section-compact: 60px;
  --home-rhythm-section: 80px;
  --home-rhythm-silence: 100px;
  --home-rhythm-overlap: 70px;

  /* Alias historiques conservés pendant la migration progressive. */
  --space-3xs: 8px;
  --space-2xs: 10px;
  --space-xs: 15px;
  --space-sm: 20px;
  --space-md: 30px;
  --space-lg: 30px;
  --space-xl: 40px;
  --space-2xl: 50px;
  --space-3xl: 80px;
  --space-4xl: 147px;
  /*
   * Conteneurs et grille alignés sur Bootstrap 5.3.8, sans charger le
   * framework complet. Les valeurs restent explicites pour documenter le
   * contrat responsive même si les media queries CSS ne lisent pas de jetons.
   */
  --container-standard: 1300px;
  --container-narrow: 840px;
  --container-wide: 1440px;
  --container-musea-mobile: 300px;
  --container-musea-narrow: 420px;
  --container-musea-tablet: 600px;
  --container-musea-laptop: 768px;
  --container-musea-desktop: 950px;
  --container-musea-wide: 1300px;
  /* Alias historiques conservés pour les consommateurs encore en migration. */
  --container-bootstrap-sm: var(--container-musea-narrow);
  --container-bootstrap-md: var(--container-musea-tablet);
  --container-bootstrap-lg: var(--container-musea-laptop);
  --container-bootstrap-xl: var(--container-musea-desktop);
  --container-bootstrap-xxl: var(--container-musea-wide);
  --container-reading: 68ch;
  --container-reading-narrow: 60ch;
  --container-reading-wide: 75ch;
  --container-gutter: 30px;
  --grid-columns-mobile: 4;
  --grid-columns-tablet: 8;
  --grid-columns-desktop: 12;
  --grid-gutter-mobile: 15px;
  --grid-gutter-tablet: 30px;
  --grid-gutter-desktop: 30px;
  --breakpoint-bootstrap-sm: 576px;
  --breakpoint-bootstrap-md: 768px;
  --breakpoint-bootstrap-lg: 992px;
  --breakpoint-bootstrap-xl: 1200px;
  --breakpoint-bootstrap-xxl: 1400px;
  --container-width: var(--container-standard);
  --container: var(--container-width);
  --gutter: var(--container-gutter);
  --section-space: var(--space-4xl);
  --section-space-small: 81px;
  --header-height: 90px;
  --topbar-height: 46px;
  --control-height: 50px;
  --field-height: 50px;
  --icon-button-size: 50px;
  --hero-min-height: 720px;
  --hero-inner-min-height: 500px;
  --hero-padding-top: 147px;
  --hero-padding-bottom: 152px;

  /* Contrats communs des boutons et liens d’action. */
  --button-min-height: 50px;
  --button-icon-size: 50px;
  --button-padding-inline: 43px;
  --button-primary-background: var(--color-accent-primary);
  --button-primary-background-hover: var(--color-accent-primary-hover);
  --button-primary-background-active: var(--color-accent-primary-active);
  --button-primary-text: var(--color-accent-on);
  --button-outline-color: var(--color-accent-mineral);
  --button-outline-background-hover: var(--color-accent-mineral);
  --button-outline-text-hover: var(--color-white);
  --button-link-color: var(--color-accent-mineral);
  --button-disabled-opacity: 0.5;

  /* Bordures, rayons, ombres et focus. */
  --border-width: 1px;
  --border-width-accent: 2px;
  --radius-none: 0;
  --radius-small: 2px;
  --focus-outline-width: 3px;
  --focus-outline-offset: 4px;
  --shadow-none: none;
  --shadow-soft: 0 2px 7px rgba(17, 16, 15, 0.11);
  --shadow-document-soft: 0 5px 16px rgba(17, 16, 15, 0.08);
  --shadow-sticky: none;
  --shadow-navigation-submenu: 0 6px 16px rgba(0, 0, 0, 0.18);
  --shadow-navigation-panel: none;
  --shadow-focus: 0 0 0 3px var(--color-focus-ring);
  --shadow-focus-contrast: 0 0 0 6px var(--color-focus-contrast-dark);
  --shadow-caption: 0 1px 8px rgba(0, 0, 0, 0.6);
  --shadow-memory-point: 0 0 18px rgba(178, 140, 88, 0.7);
  --shadow-footer-door: 0 0 90px var(--color-footer-door-shadow);
  --shadow-memory-door:
    inset 0 0 0 1px var(--color-border-translucent),
    inset 0 -90px 90px var(--color-door-shadow);
  --shadow-memory-door-active:
    inset 0 0 0 1px var(--color-door-border-active),
    inset 0 -110px 100px var(--color-door-shadow-hover),
    0 28px 70px var(--color-door-elevation);

  /* Courbes et durées communes. */
  --motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --transition-fast: 180ms ease;
  --transition-base: 420ms var(--motion-ease);
  --transition-medium: var(--transition-base);
  --transition-slow: 900ms var(--motion-ease);
  --transition-pulse: 1800ms ease-in-out;
  --transition-reduced-motion: 1ms;

  /* Référentiel des paliers globaux. Les media queries reprennent ces valeurs en px. */
  --breakpoint-wide: 1320px;
  --breakpoint-tablet: 900px;
  --breakpoint-mobile: 680px;
}

/* Surcharges globales responsive : elles restent centralisées avec leurs valeurs par défaut. */
@media (max-width: 1320px) {
  html[data-experience-level] {
    --gutter: 10px;
    --section-space: 116px;
  }
}

/* Ce palier intermédiaire préserve la respiration des grands écrans compacts. */
@media (max-width: 1180px) {
  html[data-experience-level] {
    --gutter: 10px;
  }
}

@media (max-width: 680px) {
  html[data-experience-level] {
    --gutter: 15px;
    --section-space: 80px;
    --section-space-small: 50px;
    --header-height: 70px;
  }
}

/* ==========================================================================
   Typographie
   ========================================================================== */

/* Source : assets/css/typography.css */
/* =========================================================
   1. FONT FAMILIES
   ========================================================= */

/*
 * Les familles et graisses sont chargées une seule fois par le générateur HTML.
 * Les jetons globaux restent déclarés dans variables.css afin de préserver
 * l’unique sélecteur racine du projet.
 */

/* =========================================================
   2. TYPOGRAPHY TOKENS
   ========================================================= */

/*
 * Familles : --font-display, --font-editorial, --font-body.
 * Tailles, graisses, interlignages et approches : assets/css/variables.css.
 */

/* =========================================================
   3. BASE TYPOGRAPHY
   ========================================================= */

body {
  font-family: var(--font-body);
  font-size: var(--font-size-body-responsive);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-normal);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

p,
li,
dd,
dt {
  font-size: var(--font-size-body-responsive);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-normal);
}

strong,
b {
  font-weight: var(--font-weight-bold);
}

small {
  font-size: var(--font-size-caption-responsive);
  line-height: var(--line-height-caption);
}

/* =========================================================
   4. HEADINGS
   ========================================================= */

h1,
.h1 {
  font-family: var(--font-display);
  font-size: var(--font-size-title-h1);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-h1);
  letter-spacing: var(--letter-spacing-heading);
}

h2,
.h2,
.heading-level-2 {
  font-family: var(--font-display);
  font-size: var(--font-size-title-h2);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-h2);
  letter-spacing: var(--letter-spacing-heading);
}

h3,
.h3 {
  font-family: var(--font-display);
  font-size: var(--font-size-title-h3);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-h3);
  letter-spacing: -0.01em;
}

h4,
.h4 {
  font-family: var(--font-display);
  font-size: var(--font-size-h4);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-h4);
  letter-spacing: -0.01em;
}

h5,
.h5 {
  font-family: var(--font-display);
  font-size: var(--font-size-h5);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-h5);
  letter-spacing: -0.01em;
}

h6,
.h6 {
  font-family: var(--font-display);
  font-size: var(--font-size-h6);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-h6);
  letter-spacing: -0.01em;
}

.text-display-xl,
.text-display-lg,
.text-display-md,
.text-display-sm {
  font-family: var(--font-display);
}

.text-display-xl {
  font-size: var(--font-size-display-hero);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-display);
  line-height: var(--line-height-h1);
}

.text-display-lg {
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-display);
  line-height: var(--line-height-h1);
}

.text-display-md {
  font-size: var(--font-size-display-md);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-display);
  line-height: var(--line-height-h2);
}

.text-display-sm {
  font-size: var(--font-size-display-sm);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-h3);
  letter-spacing: var(--letter-spacing-heading);
}

/* =========================================================
   5. EDITORIAL TYPOGRAPHY
   ========================================================= */

.lead,
.text-lead-xl,
.text-lead-lg,
.text-lead,
.text-subtitle,
.text-intro,
blockquote,
.text-quote {
  font-family: var(--font-editorial);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-editorial);
}

.lead,
.text-lead-xl {
  font-size: var(--font-size-lead-responsive);
}

.text-lead-lg {
  font-size: var(--font-size-lead-lg);
}

.text-lead {
  font-size: var(--font-size-lead);
}

.text-subtitle {
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-caption);
}

.text-intro {
  font-size: var(--font-size-intro);
  line-height: 1.55;
}

blockquote,
.text-quote {
  font-size: var(--font-size-quote);
  font-style: italic;
}

.eyebrow,
.section-label {
  font-family: var(--font-editorial);
  font-size: var(--font-size-eyebrow);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-interface);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* =========================================================
   6. INTERFACE TYPOGRAPHY
   ========================================================= */

button,
.button,
.btn,
input,
textarea,
select,
label,
nav,
.menu,
.pagination,
.badge,
.alert,
.tooltip {
  font-family: var(--font-body);
}

button,
.button,
.btn {
  font-size: var(--font-size-button);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-interface);
  letter-spacing: var(--letter-spacing-label);
}

nav,
.menu {
  font-size: var(--font-size-body-sm);
  font-weight: var(--font-weight-medium);
}

label,
.form-label {
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-interface);
}

input,
textarea,
select {
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-interface);
  letter-spacing: var(--letter-spacing-normal);
}

.meta {
  font-family: var(--font-body);
  font-size: var(--font-size-metadata);
  line-height: var(--line-height-caption);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

.provisional-note {
  font-family: var(--font-body);
  font-size: var(--font-size-body-sm);
  line-height: var(--line-height-caption);
}

/* =========================================================
   7. UTILITY CLASSES
   ========================================================= */

.font-display {
  font-family: var(--font-display);
  font-weight: var(--font-weight-semibold);
}

.font-editorial {
  font-family: var(--font-editorial);
}

.font-body {
  font-family: var(--font-body);
}

.font-regular {
  font-weight: var(--font-weight-regular);
}

.font-medium {
  font-weight: var(--font-weight-medium);
}

.font-semibold {
  font-weight: var(--font-weight-semibold);
}

.font-bold {
  font-weight: var(--font-weight-bold);
}

.text-body-xl {
  font-size: var(--font-size-body-xl);
  line-height: var(--line-height-body);
}

.text-body-lg {
  font-size: var(--font-size-body-lg);
  line-height: var(--line-height-body);
}

.text-body {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.text-body-sm {
  font-size: var(--font-size-body-sm);
  line-height: 1.6;
}

.text-caption {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-caption);
}

.text-label {
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-interface);
  letter-spacing: var(--letter-spacing-label);
}

.text-tiny {
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-caption);
}

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-uppercase);
}

.text-soft {
  color: var(--color-text-soft);
}

/* Harmonisations contextuelles migrées depuis les modules. */

/* Sources migrées : assets/css/components/accordion.css */
.accordion__button span:first-child {
  font-family: var(--font-body);
  font-size: var(--font-size-h5);
}

/* Sources migrées : assets/css/components/accordion.css */
.accordion__symbol {
  font-size: var(--font-size-intro);
}

/* Sources migrées : assets/css/components/audio-player.css */
.audio-player__controls button {
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/components/audio-player.css, assets/css/components/footer.css, assets/css/components/forms.css, assets/css/pages/chronologie.css, assets/css/pages/home-understanding.css, assets/css/pages/home-voices.css, assets/css/pages/mission.css */
.audio-player__status,
.site-footer__visit a,
.field__error,
body[data-page="chronologie"] .timeline-status,
body[data-page="home"] .home-understanding__stage figcaption,
body[data-page="home"] .home-voices__status,
body[data-page="mission"] .mission-commitments li {
  font-size: var(--font-size-caption);
}

/* Sources migrées : assets/css/components/buttons.css, assets/css/components/content-warning.css, assets/css/components/header.css, assets/css/pages/catalogue.css, assets/css/pages/content.css, assets/css/pages/histoire.css, assets/css/pages/memoire-sensible.css */
.button,
.text-link,
.content-warning__label,
.desktop-nav__link,
.desktop-nav__toggle,
.menu-button__label,
body:is([data-page="actualites"], [data-page="archives"], [data-page="evenements"], [data-page="publications"], [data-page="temoignages"]) .catalog-search label,
body:is([data-page="404"], [data-page="about"], [data-page="accessibilite"], [data-page="comprendre"], [data-page="contact"], [data-page="contexte"], [data-page="faq"], [data-page="partenaires"], [data-page="programmes-scolaires"], [data-page="visiter"]) .contact-details dt,
body[data-page="histoire"] .history-story__nav > p,
body:is([data-page="hommages"], [data-page="mur-de-la-memoire"], [data-page="temoignages"], [data-page="victimes"]) .memory-metadata dt {
  font-size: var(--font-size-button);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/components/cards.css, assets/css/pages/home-understanding.css */
.card__number,
body[data-page="home"] .home-understanding__step > span {
  font-family: var(--font-display);
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/components/content-warning.css */
.content-warning h2 {
  font-size: var(--font-size-h4);
}

/* Sources migrées : assets/css/components/exhibition-objects.css */
[data-exhibition-object].is-present .meta,
[data-exhibition-object].is-present .catalog-card__type,
[data-exhibition-object].is-present .listing-card__status,
[data-exhibition-object].is-present .home-trace__meta {
  letter-spacing: var(--letter-spacing-label);
}

/* Sources migrées : assets/css/components/filters.css, assets/css/pages/catalogue.css, assets/css/pages/chronologie.css, assets/css/pages/expositions.css, assets/css/pages/home-understanding.css, assets/css/pages/hommages.css, assets/css/pages/listing.css, assets/css/pages/visiter.css */
.filter-button,
body:is([data-page="actualites"], [data-page="archives"], [data-page="evenements"], [data-page="publications"], [data-page="temoignages"]) .catalog-card__type,
body[data-page="chronologie"] .timeline__period,
body[data-page="expositions"] .exhibition__status,
body[data-page="home"] .home-understanding__step .meta,
body[data-page="hommages"] .tribute-words span,
body:is([data-page="actualites"], [data-page="evenements"]) .listing-card__type,
body:is([data-page="actualites"], [data-page="evenements"]) .listing-card__status,
body[data-page="visiter"] .visit-map__placeholder span {
  font-size: var(--font-size-label);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/components/footer.css, assets/css/pages/home-traces.css */
.site-footer__eyebrow,
body[data-page="home"] .trace-visual__context-fragments strong,
body[data-page="home"] .trace-visual__type {
  font-family: var(--font-body);
  font-size: var(--font-size-tiny);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__title {
  font-family: var(--font-body);
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-display);
  line-height: var(--line-height-h1);
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__intro {
  font-size: var(--font-size-body-lg);
  line-height: var(--line-height-interface);
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__journey-number {
  font-family: var(--font-body);
  font-size: var(--font-size-intro);
  line-height: var(--line-height-h6);
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__journey-title {
  font-family: var(--font-body);
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__journey-description {
  font-size: var(--font-size-body-sm);
  line-height: var(--line-height-interface);
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__journey-cta {
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-interface);
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__brand-mark {
  font-family: var(--font-body);
  font-size: var(--font-size-quote);
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__brand strong {
  font-family: var(--font-body);
  font-size: var(--font-size-body-lg);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/components/footer.css, assets/css/components/header.css, assets/css/pages/chronologie.css, assets/css/pages/narrative.css */
.site-footer__brand small,
.brand__descriptor,
body[data-page="chronologie"] .timeline-current span,
body[data-page="chronologie"] .timeline__index,
body:is([data-page="about"], [data-page="archives"], [data-page="chronologie"], [data-page="contact"], [data-page="education"], [data-page="expositions"], [data-page="histoire"], [data-page="hommages"], [data-page="mission"], [data-page="reservation"], [data-page="temoignages"], [data-page="visiter"]) .narrative-document span {
  font-size: var(--font-size-tiny);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__identity > p,
.site-footer__group a {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-interface);
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__group h3,
.site-footer__visit > p {
  font-family: var(--font-body);
  font-size: var(--font-size-tiny);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/components/footer.css, assets/css/components/header.css, assets/css/pages/chronologie.css, assets/css/pages/expositions.css, assets/css/pages/home-traces.css, assets/css/pages/home-voices.css, assets/css/pages/narrative.css */
.site-footer__bottom,
.desktop-nav__icon,
body[data-page="chronologie"] .timeline__media figcaption,
body[data-page="expositions"] .exhibition-room-nav a,
body[data-page="home"] .trace-visual__territory-legend span,
body[data-page="home"] .home-traces__method,
body[data-page="home"] .home-voices__media figcaption,
body:is([data-page="about"], [data-page="archives"], [data-page="chronologie"], [data-page="contact"], [data-page="education"], [data-page="expositions"], [data-page="histoire"], [data-page="hommages"], [data-page="mission"], [data-page="reservation"], [data-page="temoignages"], [data-page="visiter"]) .narrative-media figcaption {
  font-size: var(--font-size-tiny);
}

/* Sources migrées : assets/css/components/footer.css */
.site-footer__legal a {
  font-family: var(--font-body);
  font-size: var(--font-size-tiny);
}

/* Sources migrées : assets/css/components/footer.css, assets/css/components/forms.css, assets/css/pages/archives.css, assets/css/pages/contact.css, assets/css/pages/memoire-sensible.css, assets/css/pages/reservation.css */
.back-to-top .fa-arrow-up,
.field__hint,
.form-status,
body[data-page="archives"] .archive-modes__grid small,
body[data-page="contact"] .contact-coordinates__notice,
body:is([data-page="hommages"], [data-page="mur-de-la-memoire"], [data-page="temoignages"], [data-page="victimes"]) .memory-browser__status,
body[data-page="reservation"] .reservation-summary dt,
body[data-page="reservation"] .reservation-summary dd,
body[data-page="reservation"] .reservation-summary__notice {
  font-size: var(--font-size-body-sm);
}

/* Sources migrées : assets/css/components/forms.css */
.field label,
.field legend {
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-label);
}

/* Sources migrées : assets/css/components/forms.css, assets/css/pages/memoire-sensible.css */
.field--checkbox label,
body:is([data-page="hommages"], [data-page="mur-de-la-memoire"], [data-page="temoignages"], [data-page="victimes"]) .field--checkbox label {
  font-weight: var(--font-weight-regular);
  letter-spacing: var(--letter-spacing-normal);
}

/* Sources migrées : assets/css/components/header.css */
.brand__mark {
  font-family: var(--font-display);
  font-size: var(--font-size-h5);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/components/header.css */
.brand__text {
  line-height: var(--line-height-body);
}

/* Sources migrées : assets/css/components/header.css */
.brand__name {
  font-family: var(--font-display);
  font-size: var(--font-size-body);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/components/header.css */
.submenu a {
  font-family: var(--font-body);
  font-size: var(--font-size-body);
}

/* Sources migrées : assets/css/components/header.css */
.mobile-panel__home {
  font-family: var(--font-body);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/components/header.css, assets/css/components/story-navigation.css, assets/css/components/story-progress.css, assets/css/pages/chronologie.css, assets/css/pages/home-traces.css */
.mobile-panel__heading,
.story-navigation__label,
.story-progress__label,
body[data-page="chronologie"] .timeline-controls__label,
body[data-page="home"] .trace-visual__territory-legend strong {
  font-size: var(--font-size-tiny);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/components/header.css, assets/css/pages/chronologie.css */
.mobile-panel a,
body[data-page="chronologie"] .timeline-period-nav a {
  font-family: var(--font-body);
  font-size: var(--font-size-body-lg);
}

.desktop-nav__link[aria-current="page"],
.desktop-nav__toggle.is-active,
.mobile-panel a[aria-current="page"] {
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/components/hero.css */
.hero__lead {
  font-family: var(--font-editorial);
  font-size: var(--font-size-h4);
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/components/hero.css, assets/css/pages/narrative.css */
.hero__index,
body:is([data-page="about"], [data-page="archives"], [data-page="chronologie"], [data-page="contact"], [data-page="education"], [data-page="expositions"], [data-page="histoire"], [data-page="hommages"], [data-page="mission"], [data-page="reservation"], [data-page="temoignages"], [data-page="visiter"]) .narrative-number {
  font-family: var(--font-display);
  font-size: var(--font-size-body-sm);
  letter-spacing: var(--letter-spacing-label);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/components/quote.css */
.quote blockquote {
  font-family: var(--font-editorial);
  font-size: var(--font-size-h2);
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/components/quote.css */
.quote cite {
  font-size: var(--font-size-caption);
  font-style: normal;
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/components/story-navigation.css, assets/css/components/story-progress.css, assets/css/components/topbar.css, assets/css/pages/histoire.css, assets/css/pages/home-threshold.css, assets/css/pages/temoignages.css */
.story-navigation a,
.story-progress__inner a,
.topbar a,
body[data-page="histoire"] .history-story__nav a,
body[data-page="home"] .home-threshold__media figcaption,
body[data-page="temoignages"] .voice-player strong {
  font-size: var(--font-size-label);
}

/* Sources migrées : assets/css/components/story-orchestration.css */
.site-header__chapter {
  font-family: var(--font-body);
  font-size: var(--font-size-tiny);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/layout.css */
.media-frame__caption {
  font-size: var(--font-size-label);
  letter-spacing: var(--letter-spacing-label);
}

/* Sources migrées : assets/css/pages/about.css, assets/css/pages/expositions.css, assets/css/pages/histoire.css, assets/css/pages/home.css, assets/css/pages/hommages.css, assets/css/pages/mission.css */
body[data-page="about"] .about-absence__inner h2,
body[data-page="expositions"] .exhibition-room__copy h2,
body[data-page="histoire"] .history-story__opening h2,
body[data-page="home"] .hero-slide__title,
body[data-page="home"] .hero-slide[data-hero-theme="transmission"] .hero-slide__title,
body[data-page="hommages"] .tribute-silence h2,
body[data-page="mission"] .mission-opening h2 {
  font-size: var(--font-size-display-lg);
}

/* Sources migrées : assets/css/pages/archive-detail.css */
body[data-page="archive-detail"] .archive-preview__placeholder span {
  font-family: var(--font-display);
  font-size: var(--font-size-display-sm);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/archives.css, assets/css/pages/expositions.css, assets/css/pages/visiter.css */
body[data-page="archives"] .archive-modes__grid strong,
body[data-page="expositions"] .exhibition-information__grid strong,
body[data-page="visiter"] .visit-respect__grid p {
  font-family: var(--font-editorial);
  font-size: var(--font-size-intro);
}

/* Sources migrées : assets/css/pages/chronologie.css */
body[data-page="chronologie"] .timeline__index {
  font-family: var(--font-display);
  font-size: var(--font-size-body-lg);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/contact.css, assets/css/pages/home-transmission.css, assets/css/pages/home-understanding.css, assets/css/pages/legal.css */
body[data-page="contact"] .contact-coordinates h2,
body[data-page="home"] .home-transmission__entry h3,
body[data-page="home"] .home-understanding__step h3,
body:is([data-page="mentions-legales"], [data-page="politique-confidentialite"]) .legal-content h2 {
  font-size: var(--font-size-h3);
}

/* Sources migrées : assets/css/pages/content.css, assets/css/pages/reservation.css */
body:is([data-page="404"], [data-page="about"], [data-page="accessibilite"], [data-page="comprendre"], [data-page="contact"], [data-page="contexte"], [data-page="faq"], [data-page="partenaires"], [data-page="programmes-scolaires"], [data-page="visiter"]) .numbered-list__item::before,
body[data-page="reservation"] .reservation-steps span {
  font-family: var(--font-display);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/content.css, assets/css/pages/home-understanding.css */
body:is([data-page="404"], [data-page="about"], [data-page="accessibilite"], [data-page="comprendre"], [data-page="contact"], [data-page="contexte"], [data-page="faq"], [data-page="partenaires"], [data-page="programmes-scolaires"], [data-page="visiter"]) .contact-details dd,
body[data-page="home"] .home-understanding__intro > p:last-child {
  font-family: var(--font-editorial);
  font-size: var(--font-size-lead);
}

/* Sources migrées : assets/css/pages/education.css */
body[data-page="education"] .education-audiences__grid span {
  font-family: var(--font-display);
  letter-spacing: var(--letter-spacing-label);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/education.css */
body[data-page="education"] .education-audiences__grid h3 {
  font-size: var(--font-size-lead-lg);
}

/* Sources migrées : assets/css/pages/expositions.css */
body[data-page="expositions"] .exhibition-room__copy > span {
  font-family: var(--font-display);
  font-size: var(--font-size-lead);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/histoire.css, assets/css/pages/mission.css */
body[data-page="histoire"] .history-scene__copy > p:not(.eyebrow),
body[data-page="mission"] .mission-stage__copy > p:not(.eyebrow) {
  font-size: var(--font-size-body-xl);
}

/* Sources migrées : assets/css/pages/home-doors.css, assets/css/pages/home-voices.css, assets/css/pages/home.css */
body[data-page="home"] .home-next__heading h2,
body[data-page="home"] .home-voices__heading h2,
body[data-page="home"] .hero-slide[data-hero-theme="history"] .hero-slide__title {
  font-size: var(--font-size-display-md);
}

/* Sources migrées : assets/css/pages/home-doors.css, assets/css/pages/home-transmission.css, assets/css/pages/home.css */
body[data-page="home"] .home-next__doors span,
body[data-page="home"] .home-next__doors strong,
body[data-page="home"] .home-transmission__entry > span,
body[data-page="home"] .home-transmission__entry strong,
body[data-page="home"] .hero-slider__continuation {
  font-family: var(--font-display);
  font-size: var(--font-size-tiny);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/home-doors.css */
body[data-page="home"] .home-next__doors h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-heading);
}

/* Sources migrées : assets/css/pages/home-doors.css */
body[data-page="home"] .home-next__doors p {
  font-size: var(--font-size-body);
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/pages/home-panorama.css, assets/css/pages/home-transmission.css, assets/css/pages/home-understanding.css */
body[data-page="home"] .home-panorama__copy h2,
body[data-page="home"] .home-transmission__heading h2,
body[data-page="home"] .home-understanding__intro h2 {
  font-size: var(--font-size-display-sm);
}

/* Sources migrées : assets/css/pages/home-threshold.css, assets/css/pages/home-traces.css */
body[data-page="home"] .home-threshold__copy h2,
body[data-page="home"] .home-traces__title-group h2 {
  font-size: var(--font-size-display-sm);
  line-height: var(--line-height-h3);
}

/* Sources migrées : assets/css/pages/home-threshold.css */
body[data-page="home"] .home-threshold__copy > p {
  font-family: var(--font-editorial);
  font-size: var(--font-size-lead-lg);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .home-traces__introduction > p:first-child {
  font-family: var(--font-editorial);
  font-size: var(--font-size-body-lg);
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .home-traces__count strong {
  font-family: var(--font-editorial);
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-h3);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .home-traces__count span {
  font-family: var(--font-body);
  font-size: var(--font-size-tiny);
  line-height: 1.25;
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .trace-index__number {
  font-family: var(--font-display);
  font-size: var(--font-size-body-lg);
  line-height: var(--line-height-body);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .trace-index__content strong {
  font-family: var(--font-body);
  font-size: var(--font-size-body-sm);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-caption);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .trace-index__content small {
  font-family: var(--font-body);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .trace-visual__media figcaption {
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .trace-visual__sequence {
  font-family: var(--font-editorial);
  font-size: var(--font-size-body-lg);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .trace-visual__territory-legend {
  font-family: var(--font-body);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .trace-visual h3 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .trace-visual__copy > p:last-child {
  font-size: var(--font-size-label);
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .trace-visual__metadata div {
  font-family: var(--font-body);
  font-size: var(--font-size-tiny);
  line-height: 1.25;
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .trace-visual__metadata dt {
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .home-traces__conclusion {
  font-family: var(--font-editorial);
  font-size: var(--font-size-lead-lg);
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/pages/home-traces.css */
body[data-page="home"] .home-traces__transition p {
  font-family: var(--font-editorial);
  font-size: var(--font-size-body);
  line-height: 1.25;
}

/* Sources migrées : assets/css/pages/home-transmission.css, assets/css/pages/home-voices.css */
body[data-page="home"] .home-transmission__heading > p,
body[data-page="home"] .home-voices__heading > p {
  font-family: var(--font-display);
  font-size: var(--font-size-body-xl);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/home-transmission.css */
body[data-page="home"] .home-transmission__transition {
  font-family: var(--font-editorial);
  font-size: var(--font-size-h2);
  line-height: var(--line-height-heading);
}

/* Sources migrées : assets/css/pages/home-tribute.css */
body[data-page="home"] .home-tribute__copy h2 {
  font-size: var(--font-size-display-sm);
  line-height: var(--line-height-heading);
}

/* Sources migrées : assets/css/pages/home-understanding.css */
body[data-page="home"] .home-understanding__stage-number {
  font-family: var(--font-display);
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/home-voices.css, assets/css/pages/home.css */
body[data-page="home"] .home-voices__index,
body[data-page="home"] .hero-slider__counter,
body[data-page="home"] .hero-slider__pause {
  font-family: var(--font-display);
  font-size: var(--font-size-label);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
  font-weight: var(--font-weight-semibold);
}

/* Le hero regroupe ses libellés fonctionnels sans les faire passer pour des titres. */
body[data-page="home"] .hero-slide__caption,
body[data-page="home"] .hero-slider__pagination-label,
body[data-page="home"] .hero-slider__pagination-index {
  font-size: var(--font-size-caption-responsive);
  line-height: var(--line-height-caption);
}

body[data-page="home"] .hero-slider__pagination-index {
  font-weight: var(--font-weight-semibold);
}

/* Sources migrées : assets/css/pages/home-voices.css */
body[data-page="home"] .home-voices blockquote p {
  font-family: var(--font-editorial);
  font-size: var(--font-size-display-sm);
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/pages/home-voices.css */
body[data-page="home"] .home-voices__controls button,
body[data-page="home"] .home-voices__selectors button {
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
}

/* Sources migrées : assets/css/pages/home.css */
body[data-page="home"] .hero-slide__description {
  font-family: var(--font-editorial);
  font-size: var(--font-size-quote);
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/pages/home.css */
body[data-page="home"] .hero-slider__pagination-button {
  font-family: var(--font-body);
  font-size: var(--font-size-label);
}

/* Sources migrées : assets/css/pages/hommages.css */
body[data-page="hommages"] .tribute-light p {
  font-family: var(--font-editorial);
  font-size: var(--font-size-display-lg);
  line-height: var(--line-height-caption);
}

/* Sources migrées : assets/css/pages/hommages.css */
body[data-page="hommages"] .tribute-light p span {
  font-family: var(--font-body);
  font-size: var(--font-size-label);
  font-style: normal;
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

/* Sources migrées : assets/css/pages/hommages.css */
body[data-page="hommages"] .tribute-words article p {
  font-family: var(--font-editorial);
  font-size: var(--font-size-h2);
}

/* Sources migrées : assets/css/pages/memoire-sensible.css */
body:is([data-page="hommages"], [data-page="mur-de-la-memoire"], [data-page="temoignages"], [data-page="victimes"]) .memory-empty {
  font-family: var(--font-editorial);
  font-size: var(--font-size-body-xl);
}

/* Sources migrées : assets/css/pages/narrative.css */
body:is([data-page="about"], [data-page="archives"], [data-page="chronologie"], [data-page="contact"], [data-page="education"], [data-page="expositions"], [data-page="histoire"], [data-page="hommages"], [data-page="mission"], [data-page="reservation"], [data-page="temoignages"], [data-page="visiter"]) .narrative-quote p {
  font-family: var(--font-editorial);
  font-size: var(--font-size-h3);
  font-style: italic;
  line-height: var(--line-height-editorial);
}

/* Sources migrées : assets/css/pages/narrative.css */
body:is([data-page="about"], [data-page="archives"], [data-page="chronologie"], [data-page="contact"], [data-page="education"], [data-page="expositions"], [data-page="histoire"], [data-page="hommages"], [data-page="mission"], [data-page="reservation"], [data-page="temoignages"], [data-page="visiter"]) .narrative-quote cite {
  font-family: var(--font-editorial);
  font-size: var(--font-size-label);
  font-style: normal;
}

/* Sources migrées : assets/css/pages/reservation.css */
body[data-page="reservation"] .reservation-steps strong {
  font-family: var(--font-editorial);
  font-size: var(--font-size-intro);
  font-weight: var(--font-weight-regular);
}

/* Sources migrées : assets/css/pages/temoignages.css */
body[data-page="temoignages"] .voice-quote p {
  font-family: var(--font-editorial);
  font-size: var(--font-size-display-md);
  font-style: italic;
  line-height: var(--line-height-h2);
}

/* Sources migrées : assets/css/pages/temoignages.css */
body[data-page="temoignages"] .voice-quote cite {
  font-size: var(--font-size-label);
  font-style: normal;
}

/* Sources migrées : assets/css/pages/visiter.css */
body[data-page="visiter"] .visit-panorama p {
  font-family: var(--font-editorial);
  font-size: var(--font-size-display-lg);
  line-height: var(--line-height-editorial);
}

/* =========================================================
   8. RESPONSIVE TYPOGRAPHY
   ========================================================= */

/*
 * Musea conserve sa hiérarchie typographique entre les paliers. La largeur
 * disponible et les conteneurs assurent l'adaptation sans taille fluide.
 */

@media (max-width: 680px) {
  /* Sources migrées : assets/css/components/content-warning.css */
  .content-warning h2 {
    font-size: var(--font-size-lead-lg);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__eyebrow {
    font-size: var(--font-size-tiny);
    letter-spacing: var(--letter-spacing-label);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__title {
    font-size: var(--font-size-h2);
    letter-spacing: var(--letter-spacing-display);
    line-height: var(--line-height-h2);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__intro {
    font-size: var(--font-size-body);
    line-height: var(--line-height-interface);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__journey-number {
    font-size: var(--font-size-body-xl);
  }

  /* Sources migrées : assets/css/components/footer.css, assets/css/pages/home-doors.css, assets/css/pages/home-motion.css, assets/css/pages/home-panorama.css, assets/css/pages/home-threshold.css, assets/css/pages/home-transmission.css, assets/css/pages/home-tribute.css, assets/css/pages/home-understanding.css, assets/css/pages/home-voices.css */
  .site-footer__journey-title,
  body[data-page="home"] .home-next__heading h2,
  body[data-page="home"] .home-next__doors h3,
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title,
  body[data-page="home"] .home-panorama__copy h2,
  body[data-page="home"] .home-threshold__copy h2,
  body[data-page="home"] .home-transmission__heading h2,
  body[data-page="home"] .home-transmission__transition,
  body[data-page="home"] .home-tribute__copy h2,
  body[data-page="home"] .home-understanding__intro h2,
  body[data-page="home"] .home-voices blockquote p {
    font-size: var(--font-size-h3);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__journey-description,
  .site-footer__identity > p {
    font-size: var(--font-size-body-sm);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__visit a {
    font-size: var(--font-size-body);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__visit > p {
    font-size: var(--font-size-label);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__bottom {
    font-size: var(--font-size-label);
    line-height: var(--line-height-interface);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__legal a {
    font-size: var(--font-size-caption);
  }

  /* Sources migrées : assets/css/pages/home-threshold.css, assets/css/pages/home.css */
  body[data-page="home"] .home-threshold__copy > p,
  body[data-page="home"] .hero-slide__description {
    font-size: var(--font-size-lead);
  }

  /* Sources migrées : assets/css/pages/home-understanding.css */
  body[data-page="home"] .home-understanding__step h3 {
    font-size: var(--font-size-h4);
  }

  /* Sources migrées : assets/css/pages/home.css */
  body[data-page="home"] .hero-slide__title {
    font-size: var(--font-size-h2);
    letter-spacing: var(--letter-spacing-display);
  }
}

@media (max-width: 1180px) {
  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__title {
    font-size: var(--font-size-display-md);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__journey-title {
    font-size: var(--font-size-h3);
  }

  /* Sources migrées : assets/css/pages/home-doors.css */
  body[data-page="home"] .home-next__doors h3 {
    font-size: var(--font-size-quote);
  }

  /* Sources migrées : assets/css/pages/home-motion.css */
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title {
    font-size: var(--font-size-display-sm);
  }

  /* Sources migrées : assets/css/pages/home-traces.css */
  body[data-page="home"] .home-traces__title-group h2 {
    font-size: var(--font-size-h2);
  }

  /* Sources migrées : assets/css/pages/home.css */
  body[data-page="home"] .hero-slide__title {
    font-size: var(--font-size-display-lg);
  }
}

@media (max-width: 900px) {
  /* Sources migrées : assets/css/components/footer.css, assets/css/pages/home.css */
  .site-footer__title,
  body[data-page="home"] .hero-slide__title {
    font-size: var(--font-size-display-md);
  }

  /* Sources migrées : assets/css/components/footer.css, assets/css/pages/home-transmission.css */
  .site-footer__journey-title,
  body[data-page="home"] .home-transmission__transition {
    font-size: var(--font-size-h3);
  }

  /* Sources migrées : assets/css/components/story-navigation.css, assets/css/components/story-progress.css */
  .story-navigation a,
  .story-progress__inner a {
    font-size: var(--font-size-tiny);
  }

  /* Sources migrées : assets/css/pages/about.css */
  body[data-page="about"] .about-absence__inner h2 {
    font-size: var(--font-size-display-sm);
  }

  /* Sources migrées : assets/css/pages/home-panorama.css, assets/css/pages/home-threshold.css, assets/css/pages/home-transmission.css, assets/css/pages/home-tribute.css, assets/css/pages/home-understanding.css, assets/css/pages/home-voices.css */
  body[data-page="home"] .home-panorama__copy h2,
  body[data-page="home"] .home-threshold__copy h2,
  body[data-page="home"] .home-transmission__heading h2,
  body[data-page="home"] .home-tribute__copy h2,
  body[data-page="home"] .home-understanding__intro h2,
  body[data-page="home"] .home-voices__heading h2 {
    font-size: var(--font-size-h2);
  }
}

@media (max-width: 330px) {
  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__title {
    font-size: var(--font-size-h3);
  }

  /* Sources migrées : assets/css/components/footer.css */
  .site-footer__journey-title {
    font-size: var(--font-size-h4);
  }
}

@media (max-width: 560px) {
  /* Sources migrées : assets/css/pages/about.css, assets/css/pages/histoire.css */
  body[data-page="about"] .about-absence__inner h2,
  body[data-page="histoire"] .history-story__opening h2 {
    font-size: var(--font-size-h2);
  }

  /* Sources migrées : assets/css/pages/temoignages.css */
  body[data-page="temoignages"] .voice-quote p {
    font-size: var(--font-size-h3);
  }
}

@media (max-width: 760px) {
  /* Sources migrées : assets/css/pages/chronologie.css, assets/css/pages/home-traces.css */
  body[data-page="chronologie"] .timeline-period-nav a,
  body[data-page="home"] .home-traces__introduction > p:first-child {
    font-size: var(--font-size-body-lg);
  }

  /* Sources migrées : assets/css/pages/home-traces.css */
  body[data-page="home"] .home-traces__title-group h2 {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }

  /* Sources migrées : assets/css/pages/home-traces.css, assets/css/pages/narrative.css */
  body[data-page="home"] .home-traces__count strong,
  body:is([data-page="about"], [data-page="archives"], [data-page="chronologie"], [data-page="contact"], [data-page="education"], [data-page="expositions"], [data-page="histoire"], [data-page="hommages"], [data-page="mission"], [data-page="reservation"], [data-page="temoignages"], [data-page="visiter"]) .narrative-quote p {
    font-size: var(--font-size-h4);
  }

  /* Sources migrées : assets/css/pages/home-traces.css */
  body[data-page="home"] .trace-visual__metadata div {
    font-size: var(--font-size-tiny);
    line-height: var(--line-height-editorial);
  }

  /* Sources migrées : assets/css/pages/home-traces.css */
  body[data-page="home"] .trace-visual__media figcaption {
    font-size: var(--font-size-tiny);
  }

  /* Sources migrées : assets/css/pages/home-traces.css */
  body[data-page="home"] .home-traces__conclusion {
    font-size: var(--font-size-lead-lg);
  }
}

@media (max-width: 860px) {
  body[data-page="expositions"] .exhibition-room__copy h2 {
    font-size: 30px;
    line-height: 34px;
  }
}

@media (max-width: 430px) {
  /* Le titre du Hero conserve le plus petit palier monumental officiel. */
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title,
  body[data-page="home"] .hero-slide__title {
    font-size: var(--font-size-display-sm);
  }

  /* Sources migrées : assets/css/pages/home-traces.css */
  body[data-page="home"] .home-traces__title-group h2 {
    font-size: var(--font-size-h3);
  }

  /* Sources migrées : assets/css/pages/home-traces.css */
  body[data-page="home"] .home-traces__title-group h2 span:last-child {
    font-size: var(--font-size-quote);
  }

  /* Sources migrées : assets/css/pages/home-traces.css */
  body[data-page="home"] .trace-visual h3 {
    font-size: var(--font-size-h4);
  }

  /* Sources migrées : assets/css/pages/home-traces.css */
  body[data-page="home"] .home-traces__conclusion {
    font-size: var(--font-size-intro);
  }

  /* Sources migrées : assets/css/pages/home.css */
  body[data-page="home"] .hero-slide__description {
    font-size: var(--font-size-body-xl);
  }
}

@media (max-width: 375px) {
  /* Les trois récits du Hero partagent le même palier monumental. */
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title,
  body[data-page="home"] .hero-slide__title {
    font-size: var(--font-size-display-sm);
  }

  /* Sources migrées : assets/css/pages/home.css */
  body[data-page="home"] .hero-slider__pause {
    font-size: var(--font-size-tiny);
  }
}

@media (max-width: 320px) {
  /* Le palier 34px évite une réduction arbitraire du titre monumental. */
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title,
  body[data-page="home"] .hero-slide__title {
    font-size: var(--font-size-display-sm);
  }

  /* Sources migrées : assets/css/pages/home.css */
  body[data-page="home"] .hero-slide__description {
    font-size: var(--font-size-body-lg);
  }
}

@media (min-width: 681px) {
  /* Sources migrées : assets/css/pages/home.css */
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="history"] .hero-slide__title {
    font-size: var(--font-size-display-sm);
  }

  /* Sources migrées : assets/css/pages/home.css */
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title {
    font-size: var(--font-size-display-md);
  }

  /* Sources migrées : assets/css/pages/home.css */
  body[data-page="home"] .hero-slide[data-hero-theme="history"] .hero-slide__description,
  body[data-page="home"] .hero-slide[data-hero-theme="transmission"] .hero-slide__description {
    font-size: var(--font-size-intro);
    line-height: var(--line-height-editorial);
  }
}

@media (min-width: 992px) and (max-height: 800px) {
  /* Le titre conserve son rôle monumental sans recouvrir les commandes du Hero. */
  body[data-page="home"] .hero-slide__title,
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
  body[data-page="home"] .home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title {
    font-size: var(--font-size-display-sm);
  }
}

@media (max-width: 700px) {
  /* Sources migrées : assets/css/pages/hommages.css, assets/css/pages/visiter.css */
  body[data-page="hommages"] .tribute-silence h2,
  body[data-page="visiter"] .visit-panorama p {
    font-size: var(--font-size-h2);
  }

  /* Sources migrées : assets/css/pages/hommages.css */
  body[data-page="hommages"] .tribute-light p {
    font-size: var(--font-size-display-sm);
  }

  /* Sources migrées : assets/css/pages/hommages.css */
  body[data-page="hommages"] .tribute-words article p {
    font-size: var(--font-size-h3);
  }
}

@media (max-width: 820px) {
  /* Sources migrées : assets/css/pages/mission.css */
  body[data-page="mission"] .mission-opening h2 {
    font-size: var(--font-size-h2);
  }
}

/* =========================================================
   9. ACCESSIBILITY
   ========================================================= */

/*
 * Sur l’accueil, les petits textes fonctionnels gagnent en densité sans
 * devenir dominants. Les tailles minimales sont remappées par le thème home.
 */
body[data-page="home"] :where(
  .topbar a,
  .meta,
  figcaption
) {
  font-weight: var(--font-weight-medium);
}

/* Le footer conserve la densité typographique de l'accueil sur toutes les pages. */
.site-footer__brand small,
.site-footer__bottom {
  font-weight: var(--font-weight-medium);
}

@media (max-width: 767px) {
  input,
  textarea,
  select {
    font-size: var(--font-size-body);
  }
}

/* =========================================================
   10. HIÉRARCHIE TYPOGRAPHIQUE DE L’ACCUEIL
   ========================================================= */

/*
 * Cette couche sémantique remplace les anciens paliers ponctuels de l’accueil.
 * Elle associe chaque rôle éditorial à un jeton fluide unique, quel que soit
 * le chapitre ou la largeur d’écran.
 */
body[data-page="home"].home-page .hero-slide .hero-slide__title {
  font-family: var(--font-display);
  font-size: var(--font-size-display-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-h1);
  letter-spacing: var(--letter-spacing-display);
  text-transform: none;
  text-wrap: balance;
}

body[data-page="home"] .hero-slide__title-line {
  text-wrap: balance;
}

body[data-page="home"] .home-threshold__copy h2,
body[data-page="home"] .home-understanding__intro h2,
body[data-page="home"] .home-panorama__copy h2,
body[data-page="home"] .home-voices__heading h2,
body[data-page="home"] .home-traces__title-group h2,
body[data-page="home"] .home-tribute__copy h2,
body[data-page="home"] .home-transmission__heading h2,
body[data-page="home"] .home-next__heading h2 {
  font-size: var(--font-size-title-h2);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-heading);
  text-transform: none;
  text-wrap: balance;
}

body[data-page="home"] .home-understanding__step h3,
body[data-page="home"] .trace-visual h3,
body[data-page="home"] .home-transmission__entry h3,
body[data-page="home"] .home-transmission__selector .home-card__title,
body[data-page="home"] .home-next__doors h3 {
  font-size: var(--font-size-title-h3);
  font-weight: var(--font-weight-semibold);
  line-height: 1.25;
  letter-spacing: var(--letter-spacing-heading);
  text-transform: none;
  text-wrap: balance;
}

/*
 * Les introductions emploient la voix éditoriale sans simuler un niveau de
 * titre. Leur casse reste celle du contenu original.
 */
body[data-page="home"] .hero-slide__description,
body[data-page="home"] .home-threshold__copy > p,
body[data-page="home"] .home-understanding__intro > p:last-child,
body[data-page="home"] .home-voices__heading > p,
body[data-page="home"] .home-traces__introduction > p:first-child,
body[data-page="home"] .home-transmission__heading > p,
body[data-page="home"] .home-traces__conclusion,
body[data-page="home"] .home-transmission__transition {
  font-family: var(--font-editorial);
  font-size: var(--font-size-lead-responsive);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-editorial);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: none;
  text-wrap: pretty;
}

body[data-page="home"] .home-understanding__step > p:not(.meta),
body[data-page="home"] .home-voices__context,
body[data-page="home"] .home-voices__status,
body[data-page="home"] .home-voices__transcript,
body[data-page="home"] .trace-visual__copy > p:last-child,
body[data-page="home"] .home-traces__transition p,
body[data-page="home"] .home-transmission__entry > p,
body[data-page="home"] .home-transmission__active-content .home-card__description,
body[data-page="home"] .home-transmission__selector .home-card__description,
body[data-page="home"] .home-next__doors p {
  font-size: var(--font-size-body-responsive);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: none;
  text-wrap: pretty;
}

body[data-page="home"] .home-threshold__media figcaption,
body[data-page="home"] .trace-visual__media figcaption,
body[data-page="home"] .home-transmission__media-caption,
body[data-page="home"] .home-transmission__item-media figcaption {
  font-size: var(--font-size-caption-responsive);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-caption);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: none;
}

body[data-page="home"] .meta,
body[data-page="home"] .home-traces__count span,
body[data-page="home"] .trace-index__content strong,
body[data-page="home"] .trace-index__content small,
body[data-page="home"] .trace-visual__metadata div,
body[data-page="home"] .trace-visual__type,
body[data-page="home"] .home-card__meta {
  font-size: var(--font-size-metadata);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-caption);
}

body[data-page="home"] .home-card__meta {
  font-weight: var(--font-weight-semibold);
  letter-spacing: 1px;
  text-transform: uppercase;
}

/*
 * Les chapitres clairs adoptent la densité d’un catalogue patrimonial.
 * Tous leurs petits rôles restent à 16px et conservent une graisse lisible.
 */
body[data-page="home"] .surface--light :where(
  .eyebrow,
  .meta,
  small,
  figcaption,
  .home-card__meta,
  .home-card__action,
  .trace-visual__type,
  .trace-visual__metadata div,
  .text-link,
  .button
) {
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-medium);
}

body[data-page="home"] .surface--light :where(
  .eyebrow,
  .meta,
  .home-card__meta,
  .trace-visual__type
) {
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

body[data-page="home"] .button,
body[data-page="home"] .text-link,
body[data-page="home"] .hero-slider__pause,
body[data-page="home"] .hero-slider__pagination-button,
body[data-page="home"] .home-transmission__entry strong,
body[data-page="home"] .home-next__doors strong,
body[data-page="home"] .home-card__action {
  font-size: var(--font-size-button);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-interface);
}

/* Les repères secondaires restent compacts sans descendre sous 12px. */
body[data-page="home"] .home-transmission__selector .home-card__meta > :last-child,
body[data-page="home"] .home-transmission__entry:not(.home-transmission__media-column) > .home-card__action {
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-interface);
}

/* Le pied de page clôt le récit sans devenir une seconde couverture. */
.site-footer__title {
  font-size: var(--font-size-title-h2);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-heading);
  text-wrap: balance;
}

.site-footer__intro {
  font-size: var(--font-size-body-responsive);
  line-height: var(--line-height-body);
  text-wrap: pretty;
}

/*
 * Garde-fou final des séquences claires : les règles historiques plus
 * spécifiques ne peuvent pas ramener une légende, une métadonnée ou une
 * action sous le corps minimal de 16px.
 */
body[data-page="home"] .surface--light .home-understanding__step > span,
body[data-page="home"] .surface--light .home-understanding__step .meta,
body[data-page="home"] .surface--light .home-understanding__steps > .text-link,
body[data-page="home"] .surface--light .home-understanding__step figcaption,
body[data-page="home"] .surface--light .home-traces__count span,
body[data-page="home"] .surface--light .trace-index__item,
body[data-page="home"] .surface--light .trace-index__content strong,
body[data-page="home"] .surface--light .trace-index__content small,
body[data-page="home"] .surface--light .trace-visual .text-link,
body[data-page="home"] .surface--light .trace-visual__media figcaption,
body[data-page="home"] .surface--light .trace-visual__metadata div,
body[data-page="home"] .surface--light .home-traces__action,
body[data-page="home"] .surface--light .home-traces__method,
body[data-page="home"] .surface--light .home-card--link,
body[data-page="home"] .surface--light .home-card__meta,
body[data-page="home"] .surface--light .home-card__action {
  font-size: var(--font-size-body);
}

/*
 * La hiérarchie des CTA reste typographique et centralisée : le module
 * home-actions.css ne porte que les surfaces, dimensions et interactions.
 */
:where(
  .home-action--primary,
  .home-action--secondary,
  .home-action--link
) {
  font-size: var(--font-size-body);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.home-action--link {
  font-weight: 650;
  letter-spacing: 0.02em;
}

/*
 * Le hero d’entrée conserve un titre monumental sur le premier récit, puis
 * réduit les deux formulations longues sans perdre leur statut institutionnel.
 */
@media (min-width: 681px) {
  body[data-page="home"].home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
  body[data-page="home"].home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title {
    font-size: var(--font-size-display-md);
    line-height: var(--line-height-h2);
  }
}

@media (max-width: 680px) {
  body[data-page="home"].home-page .hero-slide .hero-slide__title,
  body[data-page="home"].home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
  body[data-page="home"].home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title {
    font-size: var(--font-size-display-sm);
    line-height: var(--line-height-h3);
  }

  body[data-page="home"] .hero-slide__description {
    font-size: var(--font-size-body-xl);
    line-height: var(--line-height-editorial);
  }

  body[data-page="home"] .hero-slider__pagination-label {
    font-size: var(--font-size-caption);
  }
}

/*
 * Recomposition responsive de l’accueil. Ces paliers sont placés après la
 * hiérarchie sémantique afin que les modules de mise en page ne portent
 * aucune décision typographique locale.
 */
@media (max-width: 900px) {
  .site-footer__journey-title {
    font-size: var(--font-size-h5);
    line-height: var(--line-height-h5);
  }
}

@media (max-width: 760px) {
  body[data-page="home"] .home-traces__title-group h2,
  body[data-page="home"] .home-panorama__copy h2,
  body[data-page="home"] .home-transmission__heading h2 {
    font-size: var(--font-size-title-h3);
    line-height: var(--line-height-h3);
  }

  body[data-page="home"] .trace-visual h3 {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
}

@media (max-width: 680px) {
  body[data-page="home"] .home-understanding__step h3,
  body[data-page="home"] .home-next__doors h3,
  body[data-page="home"] .home-transmission__selector .home-card__title {
    font-size: var(--font-size-h5);
    line-height: var(--line-height-h5);
  }
}

@media (max-width: 400px) {
  body[data-page="home"] .home-next__doors h3,
  body[data-page="home"] .home-transmission__selector .home-card__title {
    font-size: var(--font-size-h6);
    line-height: var(--line-height-h6);
  }
}

@media (max-width: 360px) {
  /*
   * Le plus petit palier conserve les trois récits du hero, leurs textes et
   * leurs deux CTA sans les faire entrer dans la frise de progression.
   */
  body[data-page="home"].home-page .hero-slide .hero-slide__title,
  body[data-page="home"].home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
  body[data-page="home"].home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }

  body[data-page="home"] .hero-slide__description {
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-body);
  }
}

/*
 * Typographie des parcours de visite. Les modules de page conservent leurs
 * couleurs, espacements et états ; toutes les décisions de texte restent ici.
 */
body[data-page="expositions"] .hero__title {
  letter-spacing: -1px;
}

.visit-booking-step__header > span:first-child,
.visit-calendar__legend,
.visit-slot-card strong {
  font-size: var(--font-size-label);
}

.visit-booking-step__header h3,
.visit-booking-step__header strong {
  font-size: var(--font-size-intro);
  line-height: 30px;
}

.visit-calendar__toolbar h4,
.visit-slot-card__time {
  font-size: var(--font-size-subtitle);
}

.visit-calendar__weekdays span {
  font-size: var(--font-size-tiny);
}

.visit-slot-card__time,
.reservation-summary [data-summary-reference] {
  font-weight: var(--font-weight-bold);
}

.visit-slot-card strong {
  text-transform: uppercase;
}

.visit-cancellation__eyebrow,
.visit-cancellation__summary dt {
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.visit-cancellation h1 {
  font-size: var(--font-size-display-compact);
  line-height: 50px;
}

.visit-cancellation__introduction {
  font-size: var(--font-size-body-lg);
  line-height: 29px;
}

.visit-cancellation__message {
  font-size: var(--font-size-body-md);
  line-height: 24px;
}

.visit-cancellation__summary dd {
  font-size: var(--font-size-body-lg);
  line-height: 27px;
}

.visit-cancellation__actions :where(.button, button) {
  font-size: var(--font-size-body-sm);
  font-weight: var(--font-weight-bold);
  line-height: 22px;
}

@media (max-width: 560px) {
  body[data-page="expositions"] .hero__title {
    font-size: var(--font-size-display-md);
  }
}

@media (max-width: 620px) {
  .visit-calendar__weekdays span {
    font-size: var(--font-size-micro);
  }

  .visit-booking-step__header h3,
  .visit-booking-step__header strong {
    font-size: var(--font-size-subtitle);
  }
}

@media (max-width: 720px) {
  .visit-cancellation h1 {
    font-size: var(--font-size-display-mobile);
    line-height: 41px;
  }
}

/* Début : typographie du parcours de réservation. */
/* Les tailles fixes restent centralisées ici selon le contrat typographique du site. */
body[data-page="reservation"] .reservation-hero__kicker,
body[data-page="reservation"] .reservation-section-kicker,
body[data-page="reservation"] .reservation-step__kicker,
body[data-page="reservation"] .reservation-summary__kicker {
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
  line-height: 18px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

body[data-page="reservation"] .reservation-hero__title {
  font-size: var(--font-size-display-xl);
  line-height: 64px;
}

body[data-page="reservation"] .reservation-hero__lead {
  font-size: var(--font-size-subtitle);
  line-height: 30px;
}

body[data-page="reservation"] .reservation-hero__facts dt {
  font-size: var(--font-size-tiny);
  line-height: 16px;
}

body[data-page="reservation"] .reservation-hero__facts dd {
  font-size: var(--font-size-body-sm);
  font-weight: var(--font-weight-semibold);
  line-height: 20px;
}

body[data-page="reservation"] .reservation-progress a {
  font-size: var(--font-size-caption);
  line-height: 20px;
}

body[data-page="reservation"] .reservation-progress__number {
  font-family: var(--font-display);
  font-size: var(--font-size-subtitle);
  line-height: 24px;
}

body[data-page="reservation"] .reservation-progress__mobile {
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-semibold);
  line-height: 20px;
}

body[data-page="reservation"] .reservation-guidelines__intro h2 {
  font-size: var(--font-size-display-mobile);
  line-height: 40px;
}

body[data-page="reservation"] .reservation-guidelines__intro > p:last-child {
  font-size: var(--font-size-body-sm);
  line-height: 24px;
}

body[data-page="reservation"] .reservation-guideline > span {
  font-family: var(--font-display);
  font-size: var(--font-size-body-lg);
  line-height: 22px;
}

body[data-page="reservation"] .reservation-guideline strong {
  font-size: var(--font-size-body-md);
  line-height: 22px;
}

body[data-page="reservation"] .reservation-guideline p {
  font-size: var(--font-size-caption);
  line-height: 20px;
}

body[data-page="reservation"] .reservation-process__intro h2 {
  font-size: var(--font-size-display-compact);
  line-height: 52px;
}

body[data-page="reservation"] .reservation-process__intro > p:last-child {
  font-size: var(--font-size-body-md);
  line-height: 24px;
}

body[data-page="reservation"] .reservation-step__number {
  font-family: var(--font-display);
  font-size: var(--font-size-body-lg);
  line-height: 22px;
}

body[data-page="reservation"] .reservation-step__header h3,
body[data-page="reservation"] .reservation-step__header strong {
  font-family: var(--font-display);
  font-size: var(--font-size-lead-xl);
  font-weight: var(--font-weight-semibold);
  line-height: 34px;
}

body[data-page="reservation"] .visit-booking-alert {
  font-size: var(--font-size-body-sm);
  line-height: 24px;
}

body[data-page="reservation"] .visit-calendar__toolbar h4 {
  font-size: var(--font-size-subtitle);
  line-height: 24px;
}

body[data-page="reservation"] .visit-calendar__weekdays span {
  font-size: var(--font-size-tiny);
  line-height: 16px;
}

body[data-page="reservation"] .visit-calendar__day {
  font-size: var(--font-size-caption);
  line-height: 20px;
}

body[data-page="reservation"] .visit-calendar__day[aria-selected="true"] {
  font-weight: var(--font-weight-bold);
}

body[data-page="reservation"] .visit-calendar__selected-label {
  font-family: var(--font-display);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-semibold);
  line-height: 26px;
}

body[data-page="reservation"] .visit-calendar__status {
  font-size: var(--font-size-caption);
  line-height: 22px;
}

body[data-page="reservation"] .visit-calendar__legend {
  font-size: var(--font-size-label);
  line-height: 18px;
}

body[data-page="reservation"] .visit-calendar__noscript {
  font-size: var(--font-size-caption);
  line-height: 22px;
}

body[data-page="reservation"] .reservation-form .field > label,
body[data-page="reservation"] .reservation-form .field__label,
body[data-page="reservation"] .visit-date-fallback label {
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-semibold);
  line-height: 20px;
}

body[data-page="reservation"] .reservation-form input[type="text"],
body[data-page="reservation"] .reservation-form input[type="email"],
body[data-page="reservation"] .reservation-form input[type="tel"],
body[data-page="reservation"] .reservation-form input[type="number"],
body[data-page="reservation"] .reservation-form textarea,
body[data-page="reservation"] .visit-date-fallback input {
  font-size: var(--font-size-body-sm);
  line-height: 22px;
}

body[data-page="reservation"] .field__hint {
  font-size: var(--font-size-label);
  line-height: 19px;
}

body[data-page="reservation"] .visit-slot-list__empty {
  font-size: var(--font-size-caption);
  line-height: 22px;
}

body[data-page="reservation"] .visit-slot-card__time {
  font-family: var(--font-display);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-semibold);
  line-height: 21px;
}

body[data-page="reservation"] .visit-slot-card__status {
  font-size: var(--font-size-tiny);
  line-height: 16px;
}

body[data-page="reservation"] .visit-slot-card strong {
  font-size: var(--font-size-tiny);
  line-height: 16px;
}

body[data-page="reservation"] .visit-booking-choices span {
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-semibold);
  line-height: 18px;
}

body[data-page="reservation"] .visit-capacity-alert {
  font-size: var(--font-size-caption);
  line-height: 21px;
}

body[data-page="reservation"] .reservation-consent label {
  font-size: var(--font-size-caption);
  line-height: 22px;
}

body[data-page="reservation"] .reservation-consent .text-link {
  font-size: var(--font-size-label);
  line-height: 19px;
}

body[data-page="reservation"] .reservation-confirmation__notice {
  font-size: var(--font-size-caption);
  line-height: 22px;
}

body[data-page="reservation"] .form-status {
  font-size: var(--font-size-caption);
  line-height: 16px;
}

body[data-page="reservation"] .form-status.is-error {
  font-weight: var(--font-weight-semibold);
}

body[data-page="reservation"] .reservation-summary h2 {
  font-size: var(--font-size-display-mobile);
  line-height: 40px;
}

body[data-page="reservation"] .reservation-summary dt,
body[data-page="reservation"] .reservation-summary dd {
  font-size: var(--font-size-caption);
  line-height: 21px;
}

body[data-page="reservation"] .reservation-summary dd {
  font-weight: var(--font-weight-semibold);
}

body[data-page="reservation"] .reservation-summary__notice {
  font-size: var(--font-size-caption);
  line-height: 22px;
}

body[data-page="reservation"] .reservation-review-note h2 {
  font-size: var(--font-size-title-h2);
  line-height: 44px;
}

body[data-page="reservation"] .reservation-review-note__steps span {
  font-family: var(--font-display);
  font-size: var(--font-size-subtitle);
  line-height: 24px;
}

body[data-page="reservation"] .reservation-review-note__steps strong {
  font-size: var(--font-size-body-sm);
  line-height: 20px;
}

body[data-page="reservation"] .reservation-review-note__steps p {
  font-size: var(--font-size-label);
  line-height: 19px;
}

body[data-page="reservation"] .reservation-help-link {
  font-size: var(--font-size-caption);
  line-height: 20px;
}

body[data-page="reservation"] .reservation-help-link a {
  font-weight: var(--font-weight-semibold);
}

body[data-page="reservation"] .reservation-related__content > span {
  font-family: var(--font-display);
  font-size: var(--font-size-body-lg);
  line-height: 22px;
}

body[data-page="reservation"] .reservation-related__content strong {
  font-family: var(--font-display);
  font-size: var(--font-size-lead-xl);
  font-weight: var(--font-weight-semibold);
  line-height: 34px;
}

body[data-page="reservation"] .reservation-related__content small {
  font-size: var(--font-size-caption);
  line-height: 20px;
}

body[data-page="reservation"] .reservation-related__content i {
  font-size: var(--font-size-body-md);
}

@media (max-width: 1199.98px) {
body[data-page="reservation"] .reservation-hero__title {
  font-size: var(--font-size-display-xl);
  line-height: 56px;
}

body[data-page="reservation"] .reservation-guidelines__intro h2 {
  font-size: var(--font-size-title-h3);
  line-height: 36px;
}
}

@media (max-width: 767.98px) {
body[data-page="reservation"] .reservation-hero__title {
  font-size: var(--font-size-title-h2);
  line-height: 42px;
}

body[data-page="reservation"] .reservation-hero__lead {
  font-size: var(--font-size-body);
  line-height: 25px;
}

body[data-page="reservation"] .reservation-guidelines__intro h2 {
  font-size: var(--font-size-lead-xl);
  line-height: 34px;
}

body[data-page="reservation"] .reservation-process__intro h2 {
  font-size: var(--font-size-display-mobile);
  line-height: 40px;
}

body[data-page="reservation"] .reservation-step__header h3,
body[data-page="reservation"] .reservation-step__header strong {
  font-size: var(--font-size-intro);
  line-height: 28px;
}

body[data-page="reservation"] .reservation-summary h2 {
  font-size: var(--font-size-lead-xl);
  line-height: 34px;
}

body[data-page="reservation"] .reservation-review-note h2 {
  font-size: var(--font-size-title-h3);
  line-height: 36px;
}

body[data-page="reservation"] .reservation-related__content strong {
  font-size: var(--font-size-lead-lg);
  line-height: 30px;
}
}

@media (max-width: 430px) {
body[data-page="reservation"] .reservation-hero__facts dt {
  font-size: var(--font-size-tiny);
  line-height: 15px;
}

body[data-page="reservation"] .reservation-hero__facts dd {
  font-size: var(--font-size-label);
  line-height: 18px;
}

body[data-page="reservation"] .visit-calendar__toolbar h4 {
  font-size: var(--font-size-body);
  line-height: 21px;
}

body[data-page="reservation"] .visit-calendar__weekdays span {
  font-size: var(--font-size-micro);
  line-height: 14px;
}

body[data-page="reservation"] .visit-calendar__day {
  font-size: var(--font-size-tiny);
  line-height: 16px;
}
}

body[data-page="reservation"] .reservation-form .field__error {
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-semibold);
  line-height: 19px;
}
/* Fin : typographie du parcours de réservation. */

/* Source : assets/vendor/fontawesome/7.2.0/css/fontawesome.min.css */
/*!
 * Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2026 Fonticons, Inc.
 */
.fa,.fa-brands,.fa-classic,.fa-regular,.fa-solid,.fab,.far,.fas{--_fa-family:var(--fa-family,var(--fa-style-family,"Font Awesome 7 Free"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)/""}@supports not (content:""/""){:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)}}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;inset:0;position:absolute;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}

.fa-0{--fa:"\30 "}.fa-1{--fa:"\31 "}.fa-2{--fa:"\32 "}.fa-3{--fa:"\33 "}.fa-4{--fa:"\34 "}.fa-5{--fa:"\35 "}.fa-6{--fa:"\36 "}.fa-7{--fa:"\37 "}.fa-8{--fa:"\38 "}.fa-9{--fa:"\39 "}.fa-exclamation{--fa:"\!"}.fa-hashtag{--fa:"\#"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"\$"}.fa-percent,.fa-percentage{--fa:"\%"}.fa-asterisk{--fa:"\*"}.fa-add,.fa-plus{--fa:"\+"}.fa-less-than{--fa:"\<"}.fa-equals{--fa:"\="}.fa-greater-than{--fa:"\>"}.fa-question{--fa:"\?"}.fa-at{--fa:"\@"}.fa-a{--fa:"A"}.fa-b{--fa:"B"}.fa-c{--fa:"C"}.fa-d{--fa:"D"}.fa-e{--fa:"E"}.fa-f{--fa:"F"}.fa-g{--fa:"G"}.fa-h{--fa:"H"}.fa-i{--fa:"I"}.fa-j{--fa:"J"}.fa-k{--fa:"K"}.fa-l{--fa:"L"}.fa-m{--fa:"M"}.fa-n{--fa:"N"}.fa-o{--fa:"O"}.fa-p{--fa:"P"}.fa-q{--fa:"Q"}.fa-r{--fa:"R"}.fa-s{--fa:"S"}.fa-t{--fa:"T"}.fa-u{--fa:"U"}.fa-v{--fa:"V"}.fa-w{--fa:"W"}.fa-x{--fa:"X"}.fa-y{--fa:"Y"}.fa-z{--fa:"Z"}.fa-faucet{--fa:"\e005"}.fa-faucet-drip{--fa:"\e006"}.fa-house-chimney-window{--fa:"\e00d"}.fa-house-signal{--fa:"\e012"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}.fa-trailer{--fa:"\e041"}.fa-bacteria{--fa:"\e059"}.fa-bacterium{--fa:"\e05a"}.fa-box-tissue{--fa:"\e05b"}.fa-hand-holding-medical{--fa:"\e05c"}.fa-hand-sparkles{--fa:"\e05d"}.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:"\e060"}.fa-head-side-cough{--fa:"\e061"}.fa-head-side-cough-slash{--fa:"\e062"}.fa-head-side-mask{--fa:"\e063"}.fa-head-side-virus{--fa:"\e064"}.fa-house-chimney-user{--fa:"\e065"}.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}.fa-lungs-virus{--fa:"\e067"}.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}.fa-plane-slash{--fa:"\e069"}.fa-pump-medical{--fa:"\e06a"}.fa-pump-soap{--fa:"\e06b"}.fa-shield-virus{--fa:"\e06c"}.fa-sink{--fa:"\e06d"}.fa-soap{--fa:"\e06e"}.fa-stopwatch-20{--fa:"\e06f"}.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}.fa-store-slash{--fa:"\e071"}.fa-toilet-paper-slash{--fa:"\e072"}.fa-users-slash{--fa:"\e073"}.fa-virus{--fa:"\e074"}.fa-virus-slash{--fa:"\e075"}.fa-viruses{--fa:"\e076"}.fa-vest{--fa:"\e085"}.fa-vest-patches{--fa:"\e086"}.fa-arrow-trend-down{--fa:"\e097"}.fa-arrow-trend-up{--fa:"\e098"}.fa-arrow-up-from-bracket{--fa:"\e09a"}.fa-austral-sign{--fa:"\e0a9"}.fa-baht-sign{--fa:"\e0ac"}.fa-bitcoin-sign{--fa:"\e0b4"}.fa-bolt-lightning{--fa:"\e0b7"}.fa-book-bookmark{--fa:"\e0bb"}.fa-camera-rotate{--fa:"\e0d8"}.fa-cedi-sign{--fa:"\e0df"}.fa-chart-column{--fa:"\e0e3"}.fa-chart-gantt{--fa:"\e0e4"}.fa-clapperboard{--fa:"\e131"}.fa-closed-captioning-slash{--fa:"\e135"}.fa-clover{--fa:"\e139"}.fa-code-compare{--fa:"\e13a"}.fa-code-fork{--fa:"\e13b"}.fa-code-pull-request{--fa:"\e13c"}.fa-colon-sign{--fa:"\e140"}.fa-cruzeiro-sign{--fa:"\e152"}.fa-display{--fa:"\e163"}.fa-dong-sign{--fa:"\e169"}.fa-elevator{--fa:"\e16d"}.fa-filter-circle-xmark{--fa:"\e17b"}.fa-florin-sign{--fa:"\e184"}.fa-folder-closed{--fa:"\e185"}.fa-franc-sign{--fa:"\e18f"}.fa-guarani-sign{--fa:"\e19a"}.fa-gun{--fa:"\e19b"}.fa-hands-clapping{--fa:"\e1a8"}.fa-home-user,.fa-house-user{--fa:"\e1b0"}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}.fa-kip-sign{--fa:"\e1c4"}.fa-lari-sign{--fa:"\e1c8"}.fa-litecoin-sign{--fa:"\e1d3"}.fa-manat-sign{--fa:"\e1d5"}.fa-mask-face{--fa:"\e1d7"}.fa-mill-sign{--fa:"\e1ed"}.fa-money-bills{--fa:"\e1f3"}.fa-naira-sign{--fa:"\e1f6"}.fa-notdef{--fa:"\e1fe"}.fa-panorama{--fa:"\e209"}.fa-peseta-sign{--fa:"\e221"}.fa-peso-sign{--fa:"\e222"}.fa-plane-up{--fa:"\e22d"}.fa-rupiah-sign{--fa:"\e23d"}.fa-stairs{--fa:"\e289"}.fa-timeline{--fa:"\e29c"}.fa-truck-front{--fa:"\e2b7"}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}.fa-vault{--fa:"\e2c5"}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}.fa-bangladeshi-taka-sign{--fa:"\e2e6"}.fa-bowl-rice{--fa:"\e2eb"}.fa-person-pregnant{--fa:"\e31e"}.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}.fa-house-crack{--fa:"\e3b1"}.fa-house-medical{--fa:"\e3b2"}.fa-cent-sign{--fa:"\e3f5"}.fa-plus-minus{--fa:"\e43c"}.fa-sailboat{--fa:"\e445"}.fa-section{--fa:"\e447"}.fa-shrimp{--fa:"\e448"}.fa-brazilian-real-sign{--fa:"\e46c"}.fa-chart-simple{--fa:"\e473"}.fa-diagram-next{--fa:"\e476"}.fa-diagram-predecessor{--fa:"\e477"}.fa-diagram-successor{--fa:"\e47a"}.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}.fa-bug-slash{--fa:"\e490"}.fa-file-circle-plus{--fa:"\e494"}.fa-shop-lock{--fa:"\e4a5"}.fa-virus-covid{--fa:"\e4a8"}.fa-virus-covid-slash{--fa:"\e4a9"}.fa-anchor-circle-check{--fa:"\e4aa"}.fa-anchor-circle-exclamation{--fa:"\e4ab"}.fa-anchor-circle-xmark{--fa:"\e4ac"}.fa-anchor-lock{--fa:"\e4ad"}.fa-arrow-down-up-across-line{--fa:"\e4af"}.fa-arrow-down-up-lock{--fa:"\e4b0"}.fa-arrow-right-to-city{--fa:"\e4b3"}.fa-arrow-up-from-ground-water{--fa:"\e4b5"}.fa-arrow-up-from-water-pump{--fa:"\e4b6"}.fa-arrow-up-right-dots{--fa:"\e4b7"}.fa-arrows-down-to-line{--fa:"\e4b8"}.fa-arrows-down-to-people{--fa:"\e4b9"}.fa-arrows-left-right-to-line{--fa:"\e4ba"}.fa-arrows-spin{--fa:"\e4bb"}.fa-arrows-split-up-and-left{--fa:"\e4bc"}.fa-arrows-to-circle{--fa:"\e4bd"}.fa-arrows-to-dot{--fa:"\e4be"}.fa-arrows-to-eye{--fa:"\e4bf"}.fa-arrows-turn-right{--fa:"\e4c0"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-arrows-up-to-line{--fa:"\e4c2"}.fa-bore-hole{--fa:"\e4c3"}.fa-bottle-droplet{--fa:"\e4c4"}.fa-bottle-water{--fa:"\e4c5"}.fa-bowl-food{--fa:"\e4c6"}.fa-boxes-packing{--fa:"\e4c7"}.fa-bridge{--fa:"\e4c8"}.fa-bridge-circle-check{--fa:"\e4c9"}.fa-bridge-circle-exclamation{--fa:"\e4ca"}.fa-bridge-circle-xmark{--fa:"\e4cb"}.fa-bridge-lock{--fa:"\e4cc"}.fa-bridge-water{--fa:"\e4ce"}.fa-bucket{--fa:"\e4cf"}.fa-bugs{--fa:"\e4d0"}.fa-building-circle-arrow-right{--fa:"\e4d1"}.fa-building-circle-check{--fa:"\e4d2"}.fa-building-circle-exclamation{--fa:"\e4d3"}.fa-building-circle-xmark{--fa:"\e4d4"}.fa-building-flag{--fa:"\e4d5"}.fa-building-lock{--fa:"\e4d6"}.fa-building-ngo{--fa:"\e4d7"}.fa-building-shield{--fa:"\e4d8"}.fa-building-un{--fa:"\e4d9"}.fa-building-user{--fa:"\e4da"}.fa-building-wheat{--fa:"\e4db"}.fa-burst{--fa:"\e4dc"}.fa-car-on{--fa:"\e4dd"}.fa-car-tunnel{--fa:"\e4de"}.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}.fa-children{--fa:"\e4e1"}.fa-circle-nodes{--fa:"\e4e2"}.fa-clipboard-question{--fa:"\e4e3"}.fa-cloud-showers-water{--fa:"\e4e4"}.fa-computer{--fa:"\e4e5"}.fa-cubes-stacked{--fa:"\e4e6"}.fa-envelope-circle-check{--fa:"\e4e8"}.fa-explosion{--fa:"\e4e9"}.fa-ferry{--fa:"\e4ea"}.fa-file-circle-exclamation{--fa:"\e4eb"}.fa-file-circle-minus{--fa:"\e4ed"}.fa-file-circle-question{--fa:"\e4ef"}.fa-file-shield{--fa:"\e4f0"}.fa-fire-burner{--fa:"\e4f1"}.fa-fish-fins{--fa:"\e4f2"}.fa-flask-vial{--fa:"\e4f3"}.fa-glass-water{--fa:"\e4f4"}.fa-glass-water-droplet{--fa:"\e4f5"}.fa-group-arrows-rotate{--fa:"\e4f6"}.fa-hand-holding-hand{--fa:"\e4f7"}.fa-handcuffs{--fa:"\e4f8"}.fa-hands-bound{--fa:"\e4f9"}.fa-hands-holding-child{--fa:"\e4fa"}.fa-hands-holding-circle{--fa:"\e4fb"}.fa-heart-circle-bolt{--fa:"\e4fc"}.fa-heart-circle-check{--fa:"\e4fd"}.fa-heart-circle-exclamation{--fa:"\e4fe"}.fa-heart-circle-minus{--fa:"\e4ff"}.fa-heart-circle-plus{--fa:"\e500"}.fa-heart-circle-xmark{--fa:"\e501"}.fa-helicopter-symbol{--fa:"\e502"}.fa-helmet-un{--fa:"\e503"}.fa-hill-avalanche{--fa:"\e507"}.fa-hill-rockslide{--fa:"\e508"}.fa-house-circle-check{--fa:"\e509"}.fa-house-circle-exclamation{--fa:"\e50a"}.fa-house-circle-xmark{--fa:"\e50b"}.fa-house-fire{--fa:"\e50c"}.fa-house-flag{--fa:"\e50d"}.fa-house-flood-water{--fa:"\e50e"}.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}.fa-house-lock{--fa:"\e510"}.fa-house-medical-circle-check{--fa:"\e511"}.fa-house-medical-circle-exclamation{--fa:"\e512"}.fa-house-medical-circle-xmark{--fa:"\e513"}.fa-house-medical-flag{--fa:"\e514"}.fa-house-tsunami{--fa:"\e515"}.fa-jar{--fa:"\e516"}.fa-jar-wheat{--fa:"\e517"}.fa-jet-fighter-up{--fa:"\e518"}.fa-jug-detergent{--fa:"\e519"}.fa-kitchen-set{--fa:"\e51a"}.fa-land-mine-on{--fa:"\e51b"}.fa-landmark-flag{--fa:"\e51c"}.fa-laptop-file{--fa:"\e51d"}.fa-lines-leaning{--fa:"\e51e"}.fa-location-pin-lock{--fa:"\e51f"}.fa-locust{--fa:"\e520"}.fa-magnifying-glass-arrow-right{--fa:"\e521"}.fa-magnifying-glass-chart{--fa:"\e522"}.fa-mars-and-venus-burst{--fa:"\e523"}.fa-mask-ventilator{--fa:"\e524"}.fa-mattress-pillow{--fa:"\e525"}.fa-mobile-retro{--fa:"\e527"}.fa-money-bill-transfer{--fa:"\e528"}.fa-money-bill-trend-up{--fa:"\e529"}.fa-money-bill-wheat{--fa:"\e52a"}.fa-mosquito{--fa:"\e52b"}.fa-mosquito-net{--fa:"\e52c"}.fa-mound{--fa:"\e52d"}.fa-mountain-city{--fa:"\e52e"}.fa-mountain-sun{--fa:"\e52f"}.fa-oil-well{--fa:"\e532"}.fa-people-group{--fa:"\e533"}.fa-people-line{--fa:"\e534"}.fa-people-pulling{--fa:"\e535"}.fa-people-robbery{--fa:"\e536"}.fa-people-roof{--fa:"\e537"}.fa-person-arrow-down-to-line{--fa:"\e538"}.fa-person-arrow-up-from-line{--fa:"\e539"}.fa-person-breastfeeding{--fa:"\e53a"}.fa-person-burst{--fa:"\e53b"}.fa-person-cane{--fa:"\e53c"}.fa-person-chalkboard{--fa:"\e53d"}.fa-person-circle-check{--fa:"\e53e"}.fa-person-circle-exclamation{--fa:"\e53f"}.fa-person-circle-minus{--fa:"\e540"}.fa-person-circle-plus{--fa:"\e541"}.fa-person-circle-question{--fa:"\e542"}.fa-person-circle-xmark{--fa:"\e543"}.fa-person-dress-burst{--fa:"\e544"}.fa-person-drowning{--fa:"\e545"}.fa-person-falling{--fa:"\e546"}.fa-person-falling-burst{--fa:"\e547"}.fa-person-half-dress{--fa:"\e548"}.fa-person-harassing{--fa:"\e549"}.fa-person-military-pointing{--fa:"\e54a"}.fa-person-military-rifle{--fa:"\e54b"}.fa-person-military-to-person{--fa:"\e54c"}.fa-person-rays{--fa:"\e54d"}.fa-person-rifle{--fa:"\e54e"}.fa-person-shelter{--fa:"\e54f"}.fa-person-walking-arrow-loop-left{--fa:"\e551"}.fa-person-walking-arrow-right{--fa:"\e552"}.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}.fa-person-walking-luggage{--fa:"\e554"}.fa-plane-circle-check{--fa:"\e555"}.fa-plane-circle-exclamation{--fa:"\e556"}.fa-plane-circle-xmark{--fa:"\e557"}.fa-plane-lock{--fa:"\e558"}.fa-plate-wheat{--fa:"\e55a"}.fa-plug-circle-bolt{--fa:"\e55b"}.fa-plug-circle-check{--fa:"\e55c"}.fa-plug-circle-exclamation{--fa:"\e55d"}.fa-plug-circle-minus{--fa:"\e55e"}.fa-plug-circle-plus{--fa:"\e55f"}.fa-plug-circle-xmark{--fa:"\e560"}.fa-ranking-star{--fa:"\e561"}.fa-road-barrier{--fa:"\e562"}.fa-road-bridge{--fa:"\e563"}.fa-road-circle-check{--fa:"\e564"}.fa-road-circle-exclamation{--fa:"\e565"}.fa-road-circle-xmark{--fa:"\e566"}.fa-road-lock{--fa:"\e567"}.fa-road-spikes{--fa:"\e568"}.fa-rug{--fa:"\e569"}.fa-sack-xmark{--fa:"\e56a"}.fa-school-circle-check{--fa:"\e56b"}.fa-school-circle-exclamation{--fa:"\e56c"}.fa-school-circle-xmark{--fa:"\e56d"}.fa-school-flag{--fa:"\e56e"}.fa-school-lock{--fa:"\e56f"}.fa-sheet-plastic{--fa:"\e571"}.fa-shield-cat{--fa:"\e572"}.fa-shield-dog{--fa:"\e573"}.fa-shield-heart{--fa:"\e574"}.fa-square-nfi{--fa:"\e576"}.fa-square-person-confined{--fa:"\e577"}.fa-square-virus{--fa:"\e578"}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}.fa-sun-plant-wilt{--fa:"\e57a"}.fa-tarp{--fa:"\e57b"}.fa-tarp-droplet{--fa:"\e57c"}.fa-tent{--fa:"\e57d"}.fa-tent-arrow-down-to-line{--fa:"\e57e"}.fa-tent-arrow-left-right{--fa:"\e57f"}.fa-tent-arrow-turn-left{--fa:"\e580"}.fa-tent-arrows-down{--fa:"\e581"}.fa-tents{--fa:"\e582"}.fa-toilet-portable{--fa:"\e583"}.fa-toilets-portable{--fa:"\e584"}.fa-tower-cell{--fa:"\e585"}.fa-tower-observation{--fa:"\e586"}.fa-tree-city{--fa:"\e587"}.fa-trowel{--fa:"\e589"}.fa-trowel-bricks{--fa:"\e58a"}.fa-truck-arrow-right{--fa:"\e58b"}.fa-truck-droplet{--fa:"\e58c"}.fa-truck-field{--fa:"\e58d"}.fa-truck-field-un{--fa:"\e58e"}.fa-truck-plane{--fa:"\e58f"}.fa-users-between-lines{--fa:"\e591"}.fa-users-line{--fa:"\e592"}.fa-users-rays{--fa:"\e593"}.fa-users-rectangle{--fa:"\e594"}.fa-users-viewfinder{--fa:"\e595"}.fa-vial-circle-check{--fa:"\e596"}.fa-vial-virus{--fa:"\e597"}.fa-wheat-awn-circle-exclamation{--fa:"\e598"}.fa-worm{--fa:"\e599"}.fa-xmarks-lines{--fa:"\e59a"}.fa-child-dress{--fa:"\e59c"}.fa-child-reaching{--fa:"\e59d"}.fa-file-circle-check{--fa:"\e5a0"}.fa-file-circle-xmark{--fa:"\e5a1"}.fa-person-through-window{--fa:"\e5a9"}.fa-plant-wilt{--fa:"\e5aa"}.fa-stapler{--fa:"\e5af"}.fa-train-tram{--fa:"\e5b4"}.fa-table-cells-column-lock{--fa:"\e678"}.fa-table-cells-row-lock{--fa:"\e67a"}.fa-web-awesome{--fa:"\e682"}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}.fa-table-cells-row-unlock{--fa:"\e691"}.fa-chart-diagram{--fa:"\e695"}.fa-comment-nodes{--fa:"\e696"}.fa-file-fragment{--fa:"\e697"}.fa-file-half-dashed{--fa:"\e698"}.fa-hexagon-nodes{--fa:"\e699"}.fa-hexagon-nodes-bolt{--fa:"\e69a"}.fa-square-binary{--fa:"\e69b"}.fa-pentagon{--fa:"\e790"}.fa-non-binary{--fa:"\e807"}.fa-spiral{--fa:"\e80a"}.fa-picture-in-picture{--fa:"\e80b"}.fa-mobile-vibrate{--fa:"\e816"}.fa-single-quote-left{--fa:"\e81b"}.fa-single-quote-right{--fa:"\e81c"}.fa-bus-side{--fa:"\e81d"}.fa-heptagon,.fa-septagon{--fa:"\e820"}.fa-aquarius{--fa:"\e845"}.fa-aries{--fa:"\e846"}.fa-cancer{--fa:"\e847"}.fa-capricorn{--fa:"\e848"}.fa-gemini{--fa:"\e849"}.fa-leo{--fa:"\e84a"}.fa-libra{--fa:"\e84b"}.fa-pisces{--fa:"\e84c"}.fa-sagittarius{--fa:"\e84d"}.fa-scorpio{--fa:"\e84e"}.fa-taurus{--fa:"\e84f"}.fa-virgo{--fa:"\e850"}.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}.fa-music{--fa:"\f001"}.fa-magnifying-glass,.fa-search{--fa:"\f002"}.fa-heart{--fa:"\f004"}.fa-star{--fa:"\f005"}.fa-user,.fa-user-alt,.fa-user-large{--fa:"\f007"}.fa-film,.fa-film-alt,.fa-film-simple{--fa:"\f008"}.fa-table-cells-large,.fa-th-large{--fa:"\f009"}.fa-table-cells,.fa-th{--fa:"\f00a"}.fa-table-list,.fa-th-list{--fa:"\f00b"}.fa-check{--fa:"\f00c"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}.fa-power-off{--fa:"\f011"}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}.fa-cog,.fa-gear{--fa:"\f013"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-road{--fa:"\f018"}.fa-download{--fa:"\f019"}.fa-inbox{--fa:"\f01c"}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}.fa-lock{--fa:"\f023"}.fa-flag{--fa:"\f024"}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:"\f025"}.fa-volume-off{--fa:"\f026"}.fa-volume-down,.fa-volume-low{--fa:"\f027"}.fa-volume-high,.fa-volume-up{--fa:"\f028"}.fa-qrcode{--fa:"\f029"}.fa-barcode{--fa:"\f02a"}.fa-tag{--fa:"\f02b"}.fa-tags{--fa:"\f02c"}.fa-book{--fa:"\f02d"}.fa-bookmark{--fa:"\f02e"}.fa-print{--fa:"\f02f"}.fa-camera,.fa-camera-alt{--fa:"\f030"}.fa-font{--fa:"\f031"}.fa-bold{--fa:"\f032"}.fa-italic{--fa:"\f033"}.fa-text-height{--fa:"\f034"}.fa-text-width{--fa:"\f035"}.fa-align-left{--fa:"\f036"}.fa-align-center{--fa:"\f037"}.fa-align-right{--fa:"\f038"}.fa-align-justify{--fa:"\f039"}.fa-list,.fa-list-squares{--fa:"\f03a"}.fa-dedent,.fa-outdent{--fa:"\f03b"}.fa-indent{--fa:"\f03c"}.fa-video,.fa-video-camera{--fa:"\f03d"}.fa-image{--fa:"\f03e"}.fa-location-pin,.fa-map-marker{--fa:"\f041"}.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}.fa-droplet,.fa-tint{--fa:"\f043"}.fa-edit,.fa-pen-to-square{--fa:"\f044"}.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}.fa-backward-step,.fa-step-backward{--fa:"\f048"}.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}.fa-backward{--fa:"\f04a"}.fa-play{--fa:"\f04b"}.fa-pause{--fa:"\f04c"}.fa-stop{--fa:"\f04d"}.fa-forward{--fa:"\f04e"}.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}.fa-forward-step,.fa-step-forward{--fa:"\f051"}.fa-eject{--fa:"\f052"}.fa-chevron-left{--fa:"\f053"}.fa-chevron-right{--fa:"\f054"}.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-circle-info,.fa-info-circle{--fa:"\f05a"}.fa-crosshairs{--fa:"\f05b"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-arrow-left{--fa:"\f060"}.fa-arrow-right{--fa:"\f061"}.fa-arrow-up{--fa:"\f062"}.fa-arrow-down{--fa:"\f063"}.fa-mail-forward,.fa-share{--fa:"\f064"}.fa-expand{--fa:"\f065"}.fa-compress{--fa:"\f066"}.fa-minus,.fa-subtract{--fa:"\f068"}.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}.fa-gift{--fa:"\f06b"}.fa-leaf{--fa:"\f06c"}.fa-fire{--fa:"\f06d"}.fa-eye{--fa:"\f06e"}.fa-eye-slash{--fa:"\f070"}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}.fa-plane{--fa:"\f072"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}.fa-random,.fa-shuffle{--fa:"\f074"}.fa-comment{--fa:"\f075"}.fa-magnet{--fa:"\f076"}.fa-chevron-up{--fa:"\f077"}.fa-chevron-down{--fa:"\f078"}.fa-retweet{--fa:"\f079"}.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}.fa-folder,.fa-folder-blank{--fa:"\f07b"}.fa-folder-open{--fa:"\f07c"}.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}.fa-camera-retro{--fa:"\f083"}.fa-key{--fa:"\f084"}.fa-cogs,.fa-gears{--fa:"\f085"}.fa-comments{--fa:"\f086"}.fa-star-half{--fa:"\f089"}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}.fa-trophy{--fa:"\f091"}.fa-upload{--fa:"\f093"}.fa-lemon{--fa:"\f094"}.fa-phone{--fa:"\f095"}.fa-phone-square,.fa-square-phone{--fa:"\f098"}.fa-unlock{--fa:"\f09c"}.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}.fa-feed,.fa-rss{--fa:"\f09e"}.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}.fa-bullhorn{--fa:"\f0a1"}.fa-certificate{--fa:"\f0a3"}.fa-hand-point-right{--fa:"\f0a4"}.fa-hand-point-left{--fa:"\f0a5"}.fa-hand-point-up{--fa:"\f0a6"}.fa-hand-point-down{--fa:"\f0a7"}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}.fa-globe{--fa:"\f0ac"}.fa-wrench{--fa:"\f0ad"}.fa-list-check,.fa-tasks{--fa:"\f0ae"}.fa-filter{--fa:"\f0b0"}.fa-briefcase{--fa:"\f0b1"}.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}.fa-users{--fa:"\f0c0"}.fa-chain,.fa-link{--fa:"\f0c1"}.fa-cloud{--fa:"\f0c2"}.fa-flask{--fa:"\f0c3"}.fa-cut,.fa-scissors{--fa:"\f0c4"}.fa-copy{--fa:"\f0c5"}.fa-paperclip{--fa:"\f0c6"}.fa-floppy-disk,.fa-save{--fa:"\f0c7"}.fa-square{--fa:"\f0c8"}.fa-bars,.fa-navicon{--fa:"\f0c9"}.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}.fa-strikethrough{--fa:"\f0cc"}.fa-underline{--fa:"\f0cd"}.fa-table{--fa:"\f0ce"}.fa-magic,.fa-wand-magic{--fa:"\f0d0"}.fa-truck{--fa:"\f0d1"}.fa-money-bill{--fa:"\f0d6"}.fa-caret-down{--fa:"\f0d7"}.fa-caret-up{--fa:"\f0d8"}.fa-caret-left{--fa:"\f0d9"}.fa-caret-right{--fa:"\f0da"}.fa-columns,.fa-table-columns{--fa:"\f0db"}.fa-sort,.fa-unsorted{--fa:"\f0dc"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}.fa-envelope{--fa:"\f0e0"}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}.fa-gavel,.fa-legal{--fa:"\f0e3"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-sitemap{--fa:"\f0e8"}.fa-umbrella{--fa:"\f0e9"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}.fa-lightbulb{--fa:"\f0eb"}.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}.fa-stethoscope{--fa:"\f0f1"}.fa-suitcase{--fa:"\f0f2"}.fa-bell{--fa:"\f0f3"}.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}.fa-h-square,.fa-square-h{--fa:"\f0fd"}.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}.fa-angle-left{--fa:"\f104"}.fa-angle-right{--fa:"\f105"}.fa-angle-up{--fa:"\f106"}.fa-angle-down{--fa:"\f107"}.fa-laptop{--fa:"\f109"}.fa-tablet-button{--fa:"\f10a"}.fa-mobile-button{--fa:"\f10b"}.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}.fa-spinner{--fa:"\f110"}.fa-circle{--fa:"\f111"}.fa-face-smile,.fa-smile{--fa:"\f118"}.fa-face-frown,.fa-frown{--fa:"\f119"}.fa-face-meh,.fa-meh{--fa:"\f11a"}.fa-gamepad{--fa:"\f11b"}.fa-keyboard{--fa:"\f11c"}.fa-flag-checkered{--fa:"\f11e"}.fa-terminal{--fa:"\f120"}.fa-code{--fa:"\f121"}.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}.fa-location-arrow{--fa:"\f124"}.fa-crop{--fa:"\f125"}.fa-code-branch{--fa:"\f126"}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}.fa-info{--fa:"\f129"}.fa-superscript{--fa:"\f12b"}.fa-subscript{--fa:"\f12c"}.fa-eraser{--fa:"\f12d"}.fa-puzzle-piece{--fa:"\f12e"}.fa-microphone{--fa:"\f130"}.fa-microphone-slash{--fa:"\f131"}.fa-shield,.fa-shield-blank{--fa:"\f132"}.fa-calendar{--fa:"\f133"}.fa-fire-extinguisher{--fa:"\f134"}.fa-rocket{--fa:"\f135"}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}.fa-anchor{--fa:"\f13d"}.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}.fa-bullseye{--fa:"\f140"}.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}.fa-rss-square,.fa-square-rss{--fa:"\f143"}.fa-circle-play,.fa-play-circle{--fa:"\f144"}.fa-ticket{--fa:"\f145"}.fa-minus-square,.fa-square-minus{--fa:"\f146"}.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}.fa-check-square,.fa-square-check{--fa:"\f14a"}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}.fa-share-from-square,.fa-share-square{--fa:"\f14d"}.fa-compass{--fa:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}.fa-rupee,.fa-rupee-sign{--fa:"\f156"}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}.fa-file{--fa:"\f15b"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}.fa-thumbs-up{--fa:"\f164"}.fa-thumbs-down{--fa:"\f165"}.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}.fa-female,.fa-person-dress{--fa:"\f182"}.fa-male,.fa-person{--fa:"\f183"}.fa-sun{--fa:"\f185"}.fa-moon{--fa:"\f186"}.fa-archive,.fa-box-archive{--fa:"\f187"}.fa-bug{--fa:"\f188"}.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}.fa-wheelchair{--fa:"\f193"}.fa-lira-sign{--fa:"\f195"}.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}.fa-language{--fa:"\f1ab"}.fa-fax{--fa:"\f1ac"}.fa-building{--fa:"\f1ad"}.fa-child{--fa:"\f1ae"}.fa-paw{--fa:"\f1b0"}.fa-cube{--fa:"\f1b2"}.fa-cubes{--fa:"\f1b3"}.fa-recycle{--fa:"\f1b8"}.fa-automobile,.fa-car{--fa:"\f1b9"}.fa-cab,.fa-taxi{--fa:"\f1ba"}.fa-tree{--fa:"\f1bb"}.fa-database{--fa:"\f1c0"}.fa-file-pdf{--fa:"\f1c1"}.fa-file-word{--fa:"\f1c2"}.fa-file-excel{--fa:"\f1c3"}.fa-file-powerpoint{--fa:"\f1c4"}.fa-file-image{--fa:"\f1c5"}.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}.fa-file-audio{--fa:"\f1c7"}.fa-file-video{--fa:"\f1c8"}.fa-file-code{--fa:"\f1c9"}.fa-life-ring{--fa:"\f1cd"}.fa-circle-notch{--fa:"\f1ce"}.fa-paper-plane{--fa:"\f1d8"}.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}.fa-header,.fa-heading{--fa:"\f1dc"}.fa-paragraph{--fa:"\f1dd"}.fa-sliders,.fa-sliders-h{--fa:"\f1de"}.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}.fa-bomb{--fa:"\f1e2"}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}.fa-teletype,.fa-tty{--fa:"\f1e4"}.fa-binoculars{--fa:"\f1e5"}.fa-plug{--fa:"\f1e6"}.fa-newspaper{--fa:"\f1ea"}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}.fa-calculator{--fa:"\f1ec"}.fa-bell-slash{--fa:"\f1f6"}.fa-trash{--fa:"\f1f8"}.fa-copyright{--fa:"\f1f9"}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}.fa-chart-line,.fa-line-chart{--fa:"\f201"}.fa-toggle-off{--fa:"\f204"}.fa-toggle-on{--fa:"\f205"}.fa-bicycle{--fa:"\f206"}.fa-bus{--fa:"\f207"}.fa-closed-captioning{--fa:"\f20a"}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}.fa-cart-plus{--fa:"\f217"}.fa-cart-arrow-down{--fa:"\f218"}.fa-diamond{--fa:"\f219"}.fa-ship{--fa:"\f21a"}.fa-user-secret{--fa:"\f21b"}.fa-motorcycle{--fa:"\f21c"}.fa-street-view{--fa:"\f21d"}.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}.fa-venus{--fa:"\f221"}.fa-mars{--fa:"\f222"}.fa-mercury{--fa:"\f223"}.fa-mars-and-venus{--fa:"\f224"}.fa-transgender,.fa-transgender-alt{--fa:"\f225"}.fa-venus-double{--fa:"\f226"}.fa-mars-double{--fa:"\f227"}.fa-venus-mars{--fa:"\f228"}.fa-mars-stroke{--fa:"\f229"}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}.fa-neuter{--fa:"\f22c"}.fa-genderless{--fa:"\f22d"}.fa-server{--fa:"\f233"}.fa-user-plus{--fa:"\f234"}.fa-user-times,.fa-user-xmark{--fa:"\f235"}.fa-bed{--fa:"\f236"}.fa-train{--fa:"\f238"}.fa-subway,.fa-train-subway{--fa:"\f239"}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}.fa-battery-3,.fa-battery-half{--fa:"\f242"}.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}.fa-battery-0,.fa-battery-empty{--fa:"\f244"}.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}.fa-i-cursor{--fa:"\f246"}.fa-object-group{--fa:"\f247"}.fa-object-ungroup{--fa:"\f248"}.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}.fa-clone{--fa:"\f24d"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}.fa-hand,.fa-hand-paper{--fa:"\f256"}.fa-hand-scissors{--fa:"\f257"}.fa-hand-lizard{--fa:"\f258"}.fa-hand-spock{--fa:"\f259"}.fa-hand-pointer{--fa:"\f25a"}.fa-hand-peace{--fa:"\f25b"}.fa-trademark{--fa:"\f25c"}.fa-registered{--fa:"\f25d"}.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}.fa-calendar-plus{--fa:"\f271"}.fa-calendar-minus{--fa:"\f272"}.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}.fa-calendar-check{--fa:"\f274"}.fa-industry{--fa:"\f275"}.fa-map-pin{--fa:"\f276"}.fa-map-signs,.fa-signs-post{--fa:"\f277"}.fa-map{--fa:"\f279"}.fa-comment-alt,.fa-message{--fa:"\f27a"}.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}.fa-universal-access{--fa:"\f29a"}.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}.fa-audio-description{--fa:"\f29e"}.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}.fa-braille{--fa:"\f2a1"}.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:"\f2b5"}.fa-envelope-open{--fa:"\f2b6"}.fa-address-book,.fa-contact-book{--fa:"\f2b9"}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}.fa-id-badge{--fa:"\f2c1"}.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}.fa-shower{--fa:"\f2cc"}.fa-bath,.fa-bathtub{--fa:"\f2cd"}.fa-podcast{--fa:"\f2ce"}.fa-window-maximize{--fa:"\f2d0"}.fa-window-minimize{--fa:"\f2d1"}.fa-window-restore{--fa:"\f2d2"}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}.fa-microchip{--fa:"\f2db"}.fa-snowflake{--fa:"\f2dc"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}.fa-cutlery,.fa-utensils{--fa:"\f2e7"}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}.fa-stopwatch{--fa:"\f2f2"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}.fa-poo{--fa:"\f2fe"}.fa-images{--fa:"\f302"}.fa-pencil,.fa-pencil-alt{--fa:"\f303"}.fa-pen{--fa:"\f304"}.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}.fa-octagon{--fa:"\f306"}.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}.fa-hexagon{--fa:"\f312"}.fa-file-edit,.fa-file-pen{--fa:"\f31c"}.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}.fa-clipboard{--fa:"\f328"}.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}.fa-alarm-clock{--fa:"\f34e"}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}.fa-exchange-alt,.fa-right-left{--fa:"\f362"}.fa-repeat{--fa:"\f363"}.fa-code-commit{--fa:"\f386"}.fa-code-merge{--fa:"\f387"}.fa-desktop,.fa-desktop-alt{--fa:"\f390"}.fa-gem{--fa:"\f3a5"}.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}.fa-lock-open{--fa:"\f3c1"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}.fa-phone-slash{--fa:"\f3dd"}.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}.fa-mail-reply,.fa-reply{--fa:"\f3e5"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}.fa-baseball-bat-ball{--fa:"\f432"}.fa-baseball,.fa-baseball-ball{--fa:"\f433"}.fa-basketball,.fa-basketball-ball{--fa:"\f434"}.fa-bowling-ball{--fa:"\f436"}.fa-chess{--fa:"\f439"}.fa-chess-bishop{--fa:"\f43a"}.fa-chess-board{--fa:"\f43c"}.fa-chess-king{--fa:"\f43f"}.fa-chess-knight{--fa:"\f441"}.fa-chess-pawn{--fa:"\f443"}.fa-chess-queen{--fa:"\f445"}.fa-chess-rook{--fa:"\f447"}.fa-dumbbell{--fa:"\f44b"}.fa-football,.fa-football-ball{--fa:"\f44e"}.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}.fa-hockey-puck{--fa:"\f453"}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}.fa-square-full{--fa:"\f45c"}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}.fa-allergies,.fa-hand-dots{--fa:"\f461"}.fa-band-aid,.fa-bandage{--fa:"\f462"}.fa-box{--fa:"\f466"}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}.fa-briefcase-medical{--fa:"\f469"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}.fa-capsules{--fa:"\f46b"}.fa-clipboard-check{--fa:"\f46c"}.fa-clipboard-list{--fa:"\f46d"}.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}.fa-dna{--fa:"\f471"}.fa-dolly,.fa-dolly-box{--fa:"\f472"}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}.fa-file-medical{--fa:"\f477"}.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}.fa-first-aid,.fa-kit-medical{--fa:"\f479"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}.fa-notes-medical{--fa:"\f481"}.fa-pallet{--fa:"\f482"}.fa-pills{--fa:"\f484"}.fa-prescription-bottle{--fa:"\f485"}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}.fa-bed-pulse,.fa-procedures{--fa:"\f487"}.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}.fa-smoking{--fa:"\f48d"}.fa-syringe{--fa:"\f48e"}.fa-tablets{--fa:"\f490"}.fa-thermometer{--fa:"\f491"}.fa-vial{--fa:"\f492"}.fa-vials{--fa:"\f493"}.fa-warehouse{--fa:"\f494"}.fa-weight,.fa-weight-scale{--fa:"\f496"}.fa-x-ray{--fa:"\f497"}.fa-box-open{--fa:"\f49e"}.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}.fa-comment-slash{--fa:"\f4b3"}.fa-couch{--fa:"\f4b8"}.fa-dove{--fa:"\f4ba"}.fa-hand-holding{--fa:"\f4bd"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}.fa-hands-holding{--fa:"\f4c2"}.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}.fa-parachute-box{--fa:"\f4cd"}.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}.fa-piggy-bank{--fa:"\f4d3"}.fa-ribbon{--fa:"\f4d6"}.fa-route{--fa:"\f4d7"}.fa-seedling,.fa-sprout{--fa:"\f4d8"}.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}.fa-tape{--fa:"\f4db"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}.fa-truck-moving{--fa:"\f4df"}.fa-video-slash{--fa:"\f4e2"}.fa-wine-glass{--fa:"\f4e3"}.fa-user-astronaut{--fa:"\f4fb"}.fa-user-check{--fa:"\f4fc"}.fa-user-clock{--fa:"\f4fd"}.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}.fa-user-friends,.fa-user-group{--fa:"\f500"}.fa-user-graduate{--fa:"\f501"}.fa-user-lock{--fa:"\f502"}.fa-user-minus{--fa:"\f503"}.fa-user-ninja{--fa:"\f504"}.fa-user-shield{--fa:"\f505"}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:"\f506"}.fa-user-tag{--fa:"\f507"}.fa-user-tie{--fa:"\f508"}.fa-users-cog,.fa-users-gear{--fa:"\f509"}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}.fa-blender{--fa:"\f517"}.fa-book-open{--fa:"\f518"}.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}.fa-broom{--fa:"\f51a"}.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}.fa-church{--fa:"\f51d"}.fa-coins{--fa:"\f51e"}.fa-compact-disc{--fa:"\f51f"}.fa-crow{--fa:"\f520"}.fa-crown{--fa:"\f521"}.fa-dice{--fa:"\f522"}.fa-dice-five{--fa:"\f523"}.fa-dice-four{--fa:"\f524"}.fa-dice-one{--fa:"\f525"}.fa-dice-six{--fa:"\f526"}.fa-dice-three{--fa:"\f527"}.fa-dice-two{--fa:"\f528"}.fa-divide{--fa:"\f529"}.fa-door-closed{--fa:"\f52a"}.fa-door-open{--fa:"\f52b"}.fa-feather{--fa:"\f52d"}.fa-frog{--fa:"\f52e"}.fa-gas-pump{--fa:"\f52f"}.fa-glasses{--fa:"\f530"}.fa-greater-than-equal{--fa:"\f532"}.fa-helicopter{--fa:"\f533"}.fa-infinity{--fa:"\f534"}.fa-kiwi-bird{--fa:"\f535"}.fa-less-than-equal{--fa:"\f537"}.fa-memory{--fa:"\f538"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}.fa-money-bill-wave{--fa:"\f53a"}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}.fa-money-check{--fa:"\f53c"}.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}.fa-not-equal{--fa:"\f53e"}.fa-palette{--fa:"\f53f"}.fa-parking,.fa-square-parking{--fa:"\f540"}.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}.fa-receipt{--fa:"\f543"}.fa-robot{--fa:"\f544"}.fa-ruler{--fa:"\f545"}.fa-ruler-combined{--fa:"\f546"}.fa-ruler-horizontal{--fa:"\f547"}.fa-ruler-vertical{--fa:"\f548"}.fa-school{--fa:"\f549"}.fa-screwdriver{--fa:"\f54a"}.fa-shoe-prints{--fa:"\f54b"}.fa-skull{--fa:"\f54c"}.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}.fa-store{--fa:"\f54e"}.fa-shop,.fa-store-alt{--fa:"\f54f"}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}.fa-stroopwafel{--fa:"\f551"}.fa-toolbox{--fa:"\f552"}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}.fa-person-walking,.fa-walking{--fa:"\f554"}.fa-wallet{--fa:"\f555"}.fa-angry,.fa-face-angry{--fa:"\f556"}.fa-archway{--fa:"\f557"}.fa-atlas,.fa-book-atlas{--fa:"\f558"}.fa-award{--fa:"\f559"}.fa-backspace,.fa-delete-left{--fa:"\f55a"}.fa-bezier-curve{--fa:"\f55b"}.fa-bong{--fa:"\f55c"}.fa-brush{--fa:"\f55d"}.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}.fa-cannabis{--fa:"\f55f"}.fa-check-double{--fa:"\f560"}.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}.fa-cookie{--fa:"\f563"}.fa-cookie-bite{--fa:"\f564"}.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}.fa-drum{--fa:"\f569"}.fa-drum-steelpan{--fa:"\f56a"}.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}.fa-file-contract{--fa:"\f56c"}.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}.fa-file-invoice{--fa:"\f570"}.fa-file-invoice-dollar{--fa:"\f571"}.fa-file-prescription{--fa:"\f572"}.fa-file-signature{--fa:"\f573"}.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}.fa-fill{--fa:"\f575"}.fa-fill-drip{--fa:"\f576"}.fa-fingerprint{--fa:"\f577"}.fa-fish{--fa:"\f578"}.fa-face-flushed,.fa-flushed{--fa:"\f579"}.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}.fa-face-grimace,.fa-grimace{--fa:"\f57f"}.fa-face-grin,.fa-grin{--fa:"\f580"}.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-grid-vertical,.fa-grip-vertical{--fa:"\f58e"}.fa-headset{--fa:"\f590"}.fa-highlighter{--fa:"\f591"}.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}.fa-hotel{--fa:"\f594"}.fa-joint{--fa:"\f595"}.fa-face-kiss,.fa-kiss{--fa:"\f596"}.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}.fa-face-laugh,.fa-laugh{--fa:"\f599"}.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}.fa-map-location,.fa-map-marked{--fa:"\f59f"}.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}.fa-marker{--fa:"\f5a1"}.fa-medal{--fa:"\f5a2"}.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}.fa-monument{--fa:"\f5a6"}.fa-mortar-pestle{--fa:"\f5a7"}.fa-paint-roller{--fa:"\f5aa"}.fa-passport{--fa:"\f5ab"}.fa-pen-fancy{--fa:"\f5ac"}.fa-pen-nib{--fa:"\f5ad"}.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}.fa-plane-arrival{--fa:"\f5af"}.fa-plane-departure{--fa:"\f5b0"}.fa-prescription{--fa:"\f5b1"}.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}.fa-signature{--fa:"\f5b7"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}.fa-solar-panel{--fa:"\f5ba"}.fa-spa{--fa:"\f5bb"}.fa-splotch{--fa:"\f5bc"}.fa-spray-can{--fa:"\f5bd"}.fa-stamp{--fa:"\f5bf"}.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}.fa-suitcase-rolling{--fa:"\f5c1"}.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}.fa-swatchbook{--fa:"\f5c3"}.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}.fa-face-tired,.fa-tired{--fa:"\f5c8"}.fa-tooth{--fa:"\f5c9"}.fa-umbrella-beach{--fa:"\f5ca"}.fa-weight-hanging{--fa:"\f5cd"}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}.fa-atom{--fa:"\f5d2"}.fa-bone{--fa:"\f5d7"}.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}.fa-brain{--fa:"\f5dc"}.fa-car-alt,.fa-car-rear{--fa:"\f5de"}.fa-battery-car,.fa-car-battery{--fa:"\f5df"}.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}.fa-car-side{--fa:"\f5e4"}.fa-charging-station{--fa:"\f5e7"}.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}.fa-draw-polygon,.fa-vector-polygon{--fa:"\f5ee"}.fa-laptop-code{--fa:"\f5fc"}.fa-layer-group{--fa:"\f5fd"}.fa-location,.fa-location-crosshairs{--fa:"\f601"}.fa-lungs{--fa:"\f604"}.fa-microscope{--fa:"\f610"}.fa-oil-can{--fa:"\f613"}.fa-poop{--fa:"\f619"}.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}.fa-star-of-life{--fa:"\f621"}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}.fa-teeth{--fa:"\f62e"}.fa-teeth-open{--fa:"\f62f"}.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}.fa-traffic-light{--fa:"\f637"}.fa-truck-monster{--fa:"\f63b"}.fa-truck-pickup{--fa:"\f63c"}.fa-ad,.fa-rectangle-ad{--fa:"\f641"}.fa-ankh{--fa:"\f644"}.fa-bible,.fa-book-bible{--fa:"\f647"}.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}.fa-city{--fa:"\f64f"}.fa-comment-dollar{--fa:"\f651"}.fa-comments-dollar{--fa:"\f653"}.fa-cross{--fa:"\f654"}.fa-dharmachakra{--fa:"\f655"}.fa-envelope-open-text{--fa:"\f658"}.fa-folder-minus{--fa:"\f65d"}.fa-folder-plus{--fa:"\f65e"}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}.fa-gopuram{--fa:"\f664"}.fa-hamsa{--fa:"\f665"}.fa-bahai,.fa-haykal{--fa:"\f666"}.fa-jedi{--fa:"\f669"}.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}.fa-kaaba{--fa:"\f66b"}.fa-khanda{--fa:"\f66d"}.fa-landmark{--fa:"\f66f"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}.fa-menorah{--fa:"\f676"}.fa-mosque{--fa:"\f678"}.fa-om{--fa:"\f679"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}.fa-peace{--fa:"\f67c"}.fa-place-of-worship{--fa:"\f67f"}.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}.fa-person-praying,.fa-pray{--fa:"\f683"}.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}.fa-book-quran,.fa-quran{--fa:"\f687"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}.fa-socks{--fa:"\f696"}.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}.fa-star-and-crescent{--fa:"\f699"}.fa-star-of-david{--fa:"\f69a"}.fa-synagogue{--fa:"\f69b"}.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}.fa-torii-gate{--fa:"\f6a1"}.fa-vihara{--fa:"\f6a7"}.fa-volume,.fa-volume-medium{--fa:"\f6a8"}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}.fa-yin-yang{--fa:"\f6ad"}.fa-blender-phone{--fa:"\f6b6"}.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}.fa-campground{--fa:"\f6bb"}.fa-cat{--fa:"\f6be"}.fa-chair{--fa:"\f6c0"}.fa-cloud-moon{--fa:"\f6c3"}.fa-cloud-sun{--fa:"\f6c4"}.fa-cow{--fa:"\f6c8"}.fa-dice-d20{--fa:"\f6cf"}.fa-dice-d6{--fa:"\f6d1"}.fa-dog{--fa:"\f6d3"}.fa-dragon{--fa:"\f6d5"}.fa-drumstick-bite{--fa:"\f6d7"}.fa-dungeon{--fa:"\f6d9"}.fa-file-csv{--fa:"\f6dd"}.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}.fa-ghost{--fa:"\f6e2"}.fa-hammer{--fa:"\f6e3"}.fa-hanukiah{--fa:"\f6e6"}.fa-hat-wizard{--fa:"\f6e8"}.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}.fa-hippo{--fa:"\f6ed"}.fa-horse{--fa:"\f6f0"}.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}.fa-mask{--fa:"\f6fa"}.fa-mountain{--fa:"\f6fc"}.fa-network-wired{--fa:"\f6ff"}.fa-otter{--fa:"\f700"}.fa-ring{--fa:"\f70b"}.fa-person-running,.fa-running{--fa:"\f70c"}.fa-scroll{--fa:"\f70e"}.fa-skull-crossbones{--fa:"\f714"}.fa-slash{--fa:"\f715"}.fa-spider{--fa:"\f717"}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:"\f71e"}.fa-tractor{--fa:"\f722"}.fa-user-injured{--fa:"\f728"}.fa-vr-cardboard{--fa:"\f729"}.fa-wand-sparkles{--fa:"\f72b"}.fa-wind{--fa:"\f72e"}.fa-wine-bottle{--fa:"\f72f"}.fa-cloud-meatball{--fa:"\f73b"}.fa-cloud-moon-rain{--fa:"\f73c"}.fa-cloud-rain{--fa:"\f73d"}.fa-cloud-showers-heavy{--fa:"\f740"}.fa-cloud-sun-rain{--fa:"\f743"}.fa-democrat{--fa:"\f747"}.fa-flag-usa{--fa:"\f74d"}.fa-hurricane{--fa:"\f751"}.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}.fa-meteor{--fa:"\f753"}.fa-person-booth{--fa:"\f756"}.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}.fa-rainbow{--fa:"\f75b"}.fa-republican{--fa:"\f75e"}.fa-smog{--fa:"\f75f"}.fa-temperature-high{--fa:"\f769"}.fa-temperature-low{--fa:"\f76b"}.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}.fa-tornado{--fa:"\f76f"}.fa-volcano{--fa:"\f770"}.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}.fa-water{--fa:"\f773"}.fa-baby{--fa:"\f77c"}.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}.fa-biohazard{--fa:"\f780"}.fa-blog{--fa:"\f781"}.fa-calendar-day{--fa:"\f783"}.fa-calendar-week{--fa:"\f784"}.fa-candy-cane{--fa:"\f786"}.fa-carrot{--fa:"\f787"}.fa-cash-register{--fa:"\f788"}.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}.fa-dumpster{--fa:"\f793"}.fa-dumpster-fire{--fa:"\f794"}.fa-ethernet{--fa:"\f796"}.fa-gifts{--fa:"\f79c"}.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}.fa-grip-lines{--fa:"\f7a4"}.fa-grip-lines-vertical{--fa:"\f7a5"}.fa-guitar{--fa:"\f7a6"}.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}.fa-holly-berry{--fa:"\f7aa"}.fa-horse-head{--fa:"\f7ab"}.fa-icicles{--fa:"\f7ad"}.fa-igloo{--fa:"\f7ae"}.fa-mitten{--fa:"\f7b5"}.fa-mug-hot{--fa:"\f7b6"}.fa-radiation{--fa:"\f7b9"}.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}.fa-restroom{--fa:"\f7bd"}.fa-satellite{--fa:"\f7bf"}.fa-satellite-dish{--fa:"\f7c0"}.fa-sd-card{--fa:"\f7c2"}.fa-sim-card{--fa:"\f7c4"}.fa-person-skating,.fa-skating{--fa:"\f7c5"}.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}.fa-sleigh{--fa:"\f7cc"}.fa-comment-sms,.fa-sms{--fa:"\f7cd"}.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}.fa-snowman{--fa:"\f7d0"}.fa-snowplow{--fa:"\f7d2"}.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}.fa-toilet{--fa:"\f7d8"}.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}.fa-cable-car,.fa-tram{--fa:"\f7da"}.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}.fa-bacon{--fa:"\f7e5"}.fa-book-medical{--fa:"\f7e6"}.fa-bread-slice{--fa:"\f7ec"}.fa-cheese{--fa:"\f7ef"}.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}.fa-clipboard-user{--fa:"\f7f3"}.fa-comment-medical{--fa:"\f7f5"}.fa-crutch{--fa:"\f7f7"}.fa-disease{--fa:"\f7fa"}.fa-egg{--fa:"\f7fb"}.fa-folder-tree{--fa:"\f802"}.fa-burger,.fa-hamburger{--fa:"\f805"}.fa-hand-middle-finger{--fa:"\f806"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}.fa-hospital-user{--fa:"\f80d"}.fa-hotdog{--fa:"\f80f"}.fa-ice-cream{--fa:"\f810"}.fa-laptop-medical{--fa:"\f812"}.fa-pager{--fa:"\f815"}.fa-pepper-hot{--fa:"\f816"}.fa-pizza-slice{--fa:"\f818"}.fa-sack-dollar{--fa:"\f81d"}.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}.fa-user-nurse{--fa:"\f82f"}.fa-wave-square{--fa:"\f83e"}.fa-biking,.fa-person-biking{--fa:"\f84a"}.fa-border-all{--fa:"\f84c"}.fa-border-none{--fa:"\f850"}.fa-border-style,.fa-border-top-left{--fa:"\f853"}.fa-digging,.fa-person-digging{--fa:"\f85e"}.fa-fan{--fa:"\f863"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}.fa-photo-film,.fa-photo-video{--fa:"\f87c"}.fa-remove-format,.fa-text-slash{--fa:"\f87d"}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}.fa-spell-check{--fa:"\f891"}.fa-voicemail{--fa:"\f897"}.fa-hat-cowboy{--fa:"\f8c0"}.fa-hat-cowboy-side{--fa:"\f8c1"}.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}.fa-radio{--fa:"\f8d7"}.fa-record-vinyl{--fa:"\f8d9"}.fa-walkie-talkie{--fa:"\f8ef"}.fa-caravan{--fa:"\f8ff"}

/* Source : assets/vendor/fontawesome/7.2.0/css/solid.min.css */
/*!
 * Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2026 Fonticons, Inc.
 */
:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url("../../../vendor/fontawesome/7.2.0/webfonts/fa-solid-900.woff2")}.fas{--fa-style:900}.fa-classic,.fas{--fa-family:var(--fa-family-classic)}.fa-solid{--fa-style:900}

/* ==========================================================================
   Reset
   ========================================================================== */

/* Source : assets/css/reset.css */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  color-scheme: light;
  overflow-x: hidden;
  scroll-behavior: auto;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

body {
  min-width: 320px;
  background: var(--color-base);
  color: var(--color-text);
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

img,
picture,
svg,
canvas {
  display: block;
  max-width: 100%;
}

button,
input,
textarea,
select {
  color: inherit;

}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button {
  border: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

[hidden] {
  /* L’attribut natif doit rester prioritaire sur les règles d’affichage des composants. */
  display: none !important;
}

:focus-visible {
  /*
   * La double bague garantit qu’au moins un contour reste contrasté sur les
   * surfaces claires, sombres, illustrées et sur les boutons d’accent.
   */
  outline: var(--focus-outline-width) solid var(--color-focus-contrast-light);
  outline-offset: 2px;
  box-shadow: var(--shadow-focus-contrast);
}

@media (forced-colors: active) {
  :focus-visible {
    outline-color: Highlight;
  }
}

::selection {
  background: var(--color-primary);
  color: var(--color-base-dark);
}

/* ==========================================================================
   Layout et Grid
   ========================================================================== */

/* Source : assets/css/layout.css */
/* Source : assets/css/components/responsive-grid.css */
/*
 * Ossature commune de l’accueil : 4 colonnes sur mobile, 8 sur tablette et
 * 12 sur desktop. Les paliers reprennent Bootstrap 5.3.8, tandis que CSS Grid
 * conserve les compositions éditoriales asymétriques sans marge négative.
 */
.layout-grid {
  --layout-grid-columns: var(--grid-columns-mobile);
  --layout-grid-column-gap: var(--grid-gutter-mobile);
  --layout-grid-row-gap: var(--grid-gutter-mobile);
  display: grid;
  grid-template-columns: repeat(var(--layout-grid-columns), minmax(0, 1fr));
  column-gap: var(--layout-grid-column-gap);
  row-gap: var(--layout-grid-row-gap);
}

.layout-grid > * {
  min-width: 0;
}

.layout-grid--align-center {
  align-items: center;
}

.layout-grid--align-end {
  align-items: end;
}

.layout-grid__full {
  grid-column: 1 / -1;
}

@media (min-width: 768px) {
  .layout-grid {
    --layout-grid-columns: var(--grid-columns-tablet);
    --layout-grid-column-gap: var(--grid-gutter-tablet);
    --layout-grid-row-gap: var(--grid-gutter-tablet);
  }
}

@media (min-width: 1200px) {
  .layout-grid {
    --layout-grid-columns: var(--grid-columns-desktop);
    --layout-grid-column-gap: var(--grid-gutter-desktop);
    --layout-grid-row-gap: var(--grid-gutter-desktop);
  }
}

.site {
  position: relative;
}

.container {
  --container-max: var(--container-standard);
  width: min(calc(100% - (var(--gutter) * 2)), var(--container-max));
  margin: 0 auto;
}

/* Variantes compatibles avec la grille éditoriale du projet. */
.container--narrow {
  --container-max: var(--container-narrow);
}

.container--wide {
  --container-max: var(--container-wide);
}


/* Les largeurs de lecture restent indépendantes de la largeur de composition. */
.reading-width,
.reading-width--default {
  max-width: var(--container-reading);
}

.reading-width--narrow {
  max-width: var(--container-reading-narrow);
}

.reading-width--wide {
  max-width: var(--container-reading-wide);
}

.section {
  padding: var(--section-space) 0;
}

.section--compact {
  padding: var(--section-space-small) 0;
}

.section--light {
  background: var(--color-base-light);
}

.section--dark {
  background: var(--color-base-dark);
  color: var(--color-text-inverse);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(280px, 2fr);
  gap: 30px;
  align-items: end;
  margin-bottom: 69px;
}

.section-heading__copy {
  max-width: 560px;
  color: var(--color-text-soft);
}

.section-heading__copy p + p {
  margin-top: 18px;
}

.split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 80px;
  align-items: center;
}

.split--wide-media {
  grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
}

.split__content > * + * {
  margin-top: 30px;
}

.stack > * + * {
  margin-top: 20px;
}

.grid {
  display: grid;
  gap: 30px;
}

.grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.media-frame {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  background: var(--color-media-placeholder);
}

.media-frame img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.media-frame:hover img {
  transform: scale(1.025);
}

.media-frame__caption {
  position: absolute;
  right: 20px;
  bottom: 18px;
  left: 20px;
  color: var(--color-white);

  text-shadow: var(--shadow-caption);
}

/* ==========================================================================
   Header et Navigation
   ========================================================================== */

/* Source : assets/css/components/accessibility.css */
.skip-link {
  position: fixed;
  top: var(--space-xs);
  left: var(--space-xs);
  z-index: 2000;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: var(--space-xs) 18px;
  background: var(--color-primary);
  color: var(--color-accent-on);
  transform: translateY(-150%);
  transition: transform var(--transition-fast);
}

.skip-link:focus {
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .skip-link {
    transition-duration: var(--transition-reduced-motion);
  }
}

/* Source : assets/css/components/scroll.css */
/* Les classes Lenis restent strictement progressives : sans JavaScript, ces règles sont inactives. */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-duration: 1ms;
  transition-property: overflow;
  transition-behavior: allow-discrete;
}

/* Source : assets/css/components/topbar.css */
.topbar {
  --color-primary: var(--accent-on-dark);
  min-height: var(--topbar-height);
  border-bottom: var(--border-width) solid var(--color-border-dark);
  background: var(--story-header-background);
  color: var(--color-topbar-text);
}

.topbar__inner {
  display: flex;
  min-height: var(--topbar-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
}

.topbar__list,
.social-list {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
}

.topbar a {

  transition: color var(--transition-fast);
}

.topbar a:hover,
.topbar a:focus-visible {
  color: var(--color-primary);
}

/* Source : assets/css/components/header.css */
.site-header {
  --color-primary: var(--accent-on-dark);
  --button-primary-background: var(--accent-on-dark);
  --button-primary-background-hover: var(--accent-on-dark-hover);
  --button-primary-background-active: var(--accent-on-dark-active);
  --button-primary-text: var(--color-background-primary);
  position: sticky;
  top: 0;
  z-index: 1000;
  display: grid;
  min-height: var(--header-height);
  align-items: center;
  isolation: isolate;
  border-bottom: var(--border-width) solid var(--color-border-translucent);
  background-color: var(--color-base-dark);
  color: var(--color-text-inverse);
}

.site-header.is-sticky {
  border-bottom-color: var(--color-border-dark-strong);
  background-color: var(--color-header-solid);
  box-shadow: var(--shadow-sticky);
}

.site-header:not(.is-sticky) {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.site-header__inner {
  display: flex;
  width: 100%;
  min-height: var(--header-height);
  align-items: center;
  gap: var(--space-5);
}

.brand {
  display: inline-flex;
  min-width: 176px;
  min-height: 44px;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--space-sm);
}

.brand img {
  width: 190px;
  height: auto;
  transform-origin: left center;
  transition: transform var(--transition-base);
}

.site-header.is-sticky .brand img {
  transform: scale(0.92);
}

.brand__mark {
  display: grid;
  width: var(--icon-button-size);
  height: var(--icon-button-size);
  border: var(--border-width) solid var(--color-brand-border);
  place-items: center;

}

.brand__text {
  display: grid;

}

.brand__descriptor {
  color: var(--color-brand-muted);

}

.desktop-nav {
  margin-left: auto;
  min-width: 0;
}

.desktop-nav__list {
  display: flex;
  align-items: center;
  gap: 16px;
}

.desktop-nav__item {
  position: relative;
  flex: 0 0 auto;
}

.desktop-nav__link,
.desktop-nav__toggle {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: var(--space-3xs);
  padding: 12px 0;
  background: transparent;
  color: var(--color-nav-text);
  cursor: pointer;
  white-space: nowrap;
}

/* La flèche suit l'état réel du sous-menu, y compris au clavier. */
.desktop-nav__icon {
  width: auto;
  transform: rotate(0deg);
  transition: color var(--transition-fast), transform var(--transition-fast);
}

.desktop-nav__toggle[aria-expanded="true"] .desktop-nav__icon {
  color: var(--color-primary);
  transform: rotate(180deg);
}

.desktop-nav__link::after,
.desktop-nav__toggle::after {
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  height: 2px;
  background: var(--color-primary);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--transition-medium);
}

.desktop-nav__link:hover::after,
.desktop-nav__link:focus-visible::after,
.desktop-nav__link[aria-current="page"]::after,
.desktop-nav__toggle:hover::after,
.desktop-nav__toggle:focus-visible::after,
.desktop-nav__toggle.is-active::after {
  transform: scaleX(1);
  transform-origin: left;
}

.desktop-nav__link[aria-current="page"],
.desktop-nav__toggle.is-active {
  color: var(--color-text-primary);
}

.submenu {
  position: absolute;
  top: calc(100% + 8px);
  left: -24px;
  width: 264px;
  padding: 12px;
  border: var(--border-width) solid var(--color-border-dark-strong);
  background: var(--color-header-submenu);
  box-shadow: var(--shadow-navigation-submenu);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}

/* Ce corridor transparent évite de perdre le survol dans l'espace de 8px. */
.submenu::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 10px;
  content: "";
}

.desktop-nav__item:hover .submenu,
.desktop-nav__item:focus-within .submenu,
.desktop-nav__toggle[aria-expanded="true"] + .submenu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.submenu a {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 14px;
  color: var(--color-menu-text);
  transition:
    background-color var(--transition-fast),
    color var(--transition-fast),
    padding-left var(--transition-fast);
}

.submenu a:hover,
.submenu a:focus-visible,
.submenu a[aria-current="page"] {
  padding-left: 20px;
  background: var(--color-border-dark-subtle);
  color: var(--color-primary);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.header-actions__cta {
  min-height: 44px;
  padding: 10px 18px;
  white-space: nowrap;
}

.menu-button {
  display: none;
  min-width: 92px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 12px;
  border: var(--border-width) solid var(--color-border-interactive);
  background: transparent;
  cursor: pointer;
}

.menu-button__label {
  color: var(--color-nav-text);
}

.menu-button__icon {
  display: grid;
  width: 22px;
  gap: 5px;
}

.menu-button__icon span {
  display: block;
  width: 22px;
  height: var(--border-width);
  background: currentColor;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.menu-button[aria-expanded="true"] .menu-button__icon span:first-child {
  transform: translateY(6px) rotate(45deg);
}

.menu-button[aria-expanded="true"] .menu-button__icon span:nth-child(2) {
  opacity: 0;
}

.menu-button[aria-expanded="true"] .menu-button__icon span:last-child {
  transform: translateY(-6px) rotate(-45deg);
}

/* Le menu natif remplace les contrôles enrichis lorsque JavaScript est indisponible. */
.no-js .desktop-nav,
.no-js .menu-button {
  display: none;
}

.no-script-navigation {
  margin-left: auto;
}

.no-script-navigation > summary {
  min-width: 116px;
  min-height: 48px;
  padding: 14px 18px;
  border: var(--border-width) solid var(--color-border-translucent);
  color: var(--color-nav-text);
  cursor: pointer;
  list-style: none;
}

.no-script-navigation > summary::-webkit-details-marker {
  display: none;
}

.no-script-navigation > summary::after {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 12px;
  border-right: var(--border-width) solid currentColor;
  border-bottom: var(--border-width) solid currentColor;
  content: "";
  transform: translateY(-3px) rotate(45deg);
}

.no-script-navigation[open] > summary {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.no-script-navigation[open] > summary::after {
  transform: translateY(2px) rotate(225deg);
}

.no-script-navigation__panel {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  max-height: 640px;
  overflow-y: auto;
  border-top: var(--border-width) solid var(--color-border-dark);
  background: var(--color-base-dark);
}

.no-script-navigation__inner {
  padding-top: 24px;
  padding-bottom: 32px;
}

.no-script-navigation__home {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 0;
  color: var(--color-primary);
}

.no-script-navigation__groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 48px;
  margin-top: 28px;
}

.no-script-navigation__heading {
  display: block;
  margin-bottom: 8px;
  color: var(--color-brand-muted);
}

.no-script-navigation__group a {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 0;
  border-bottom: var(--border-width) solid var(--color-border-dark);
}

.no-script-navigation__group a:hover,
.no-script-navigation__group a:focus-visible,
.no-script-navigation__group a[aria-current="page"] {
  color: var(--color-primary);
}

.offcanvas.mobile-panel {
  --color-primary: var(--accent-on-dark);
  --button-primary-background: var(--accent-on-dark);
  --button-primary-background-hover: var(--accent-on-dark-hover);
  --button-primary-background-active: var(--accent-on-dark-active);
  --button-primary-text: var(--color-background-primary);
  top: var(--mobile-panel-top, var(--header-height));
  bottom: 0;
  width: min(680px, 100%);
  height: auto;
  overflow-y: auto;
  border-top: var(--border-width) solid var(--color-border-dark-strong);
  background:
    radial-gradient(circle at 82% 12%, var(--color-object-light), transparent 28%),
    var(--color-background-primary);
  color: var(--color-menu-text);
  box-shadow: var(--shadow-navigation-panel);
  overscroll-behavior: contain;
}

.mobile-panel__surface {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  color: var(--color-menu-text);
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.mobile-panel__toolbar {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 24px;
  border-bottom: var(--border-width) solid var(--color-border-dark);
  background: var(--color-background-primary);
}

.mobile-panel__toolbar span {
  color: var(--color-brand-muted);
  font-size: 13px;
  font-weight: 700;
}

.mobile-panel__inner {
  width: 100%;
  padding-top: var(--space-7);
  padding-bottom: var(--space-8);
}

.mobile-panel__home {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--color-primary);
}

.mobile-panel__groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-7) var(--space-8);
  margin-top: var(--space-7);
}

.mobile-panel__heading {
  display: block;
  margin-bottom: 8px;
  color: var(--color-brand-muted);
}

.mobile-panel a {
  display: flex;
  min-height: 48px;
  align-items: center;
  padding: 11px 0;
  border-bottom: var(--border-width) solid var(--color-border-dark);
}
.mobile-panel a:not(.mobile-panel__cta):hover {
	color: white
}
.mobile-panel a[aria-current="page"]:not(.mobile-panel__cta) {
  padding-left: 14px;
  border-left: 2px solid var(--color-primary);
  color: var(--color-primary);
}

.mobile-panel__cta {
  width: fit-content;
  margin: 0 0 var(--space-7);
  padding: 10px 18px;
  border-color: var(--accent-on-dark);
}

/* Le CTA reste lisible pendant l’ouverture du panneau et l’appui tactile. */
.mobile-panel .mobile-panel__cta {
  color: var(--button-primary-text);
  opacity: 1;
  visibility: visible;
  animation: none;
  transform: none;
  transition: none;
}

/* Tous les états conservent le contraste prévu par le composant bouton. */
.mobile-panel .mobile-panel__cta:hover,
.mobile-panel .mobile-panel__cta:focus-visible,
.mobile-panel .mobile-panel__cta:active,
.mobile-panel .mobile-panel__cta[aria-current="page"] {
  color: var(--button-primary-text);
  opacity: 1;
  visibility: visible;
  transform: none;
}

.site-header :focus-visible {
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .brand img,
  .desktop-nav__icon,
  .desktop-nav__link::after,
  .desktop-nav__toggle::after,
  .submenu,
  .submenu a,
  .menu-button__icon span,
  .mobile-panel,
  .mobile-panel__surface {
    transition-duration: var(--transition-reduced-motion);
  }
}

/* Source : assets/css/components/cms-shell-compatibility.css */
/*
 * Le container Bootstrap 5.3.8 reste la référence du shell public. Aucune
 * surcharge locale ne doit supprimer ses largeurs, gouttières ou centrage.
 */

/* Source : assets/css/breadcrumb.css */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.breadcrumb ol {
  display: flex;
  align-items: center;
  gap: var(--space-3xs);
}

/* ==========================================================================
   Hero
   ========================================================================== */

/* Source : assets/css/components/hero.css */
.hero {
  --color-primary: var(--accent-on-dark);
  --button-primary-background: var(--accent-on-dark);
  --button-primary-background-hover: var(--accent-on-dark-hover);
  --button-primary-background-active: var(--accent-on-dark-active);
  --button-primary-text: var(--color-background-primary);
  --button-outline-color: var(--accent-on-dark);
  --button-outline-background-hover: var(--accent-on-dark-hover);
  --button-outline-text-hover: var(--color-background-primary);
  position: relative;
  display: grid;
  min-height: var(--hero-min-height);
  align-items: end;
  overflow: hidden;
  background: var(--color-ink-deep);
  color: var(--color-text-inverse);
}

.hero--inner {
  min-height: var(--hero-inner-min-height);
}

.hero--without-media {
  background:
    linear-gradient(120deg, var(--color-ink-deep) 0%, var(--color-ink-soft) 72%, var(--color-ink-deep) 100%);
}

.hero--without-media .hero__shade {
  background: linear-gradient(90deg, var(--color-hero-overlay-middle) 0%, transparent 70%);
}

.hero__media,
.hero__shade,
.hero__canvas {
  position: absolute;
  inset: 0;
}

.hero__media {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__shade {
  background: linear-gradient(
    90deg,
    var(--color-hero-overlay-start) 0%,
    var(--color-hero-overlay-middle) 45%,
    var(--color-hero-overlay-end) 100%
  );
}

.hero__canvas {
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.hero__content {
  position: relative;
  z-index: 2;
  max-width: 990px;
  padding-top: var(--hero-padding-top);
  padding-bottom: var(--hero-padding-bottom);
}

.hero__title {
  max-width: 980px;
}

.hero__lead {
  max-width: 710px;
  margin-top: var(--space-lg);
  color: var(--color-hero-text);

}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 38px;
}

.hero__index {
  position: absolute;
  right: var(--space-xl);
  bottom: 110px;
  z-index: 2;
  color: var(--color-index-text);

  writing-mode: vertical-rl;
}

/* ==========================================================================
   Boutons
   ========================================================================== */

/* Source : assets/css/components/buttons.css */
.button {
  display: inline-flex;
  min-height: var(--button-min-height);
  gap: var(--space-3);
  align-items: center;
  justify-content: center;
  padding: var(--space-3) var(--button-padding-inline);
  border: var(--border-width) solid var(--button-primary-background);
  background: var(--button-primary-background);
  color: var(--button-primary-text);
  cursor: pointer;

  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast),
    transform var(--transition-fast);
}

.button:hover,
.button:focus-visible {
  border-color: var(--button-primary-background-hover);
  background: var(--button-primary-background-hover);
  color: var(--button-primary-text);
}

.button:active {
  border-color: var(--button-primary-background-active);
  background: var(--button-primary-background-active);
  transform: translateY(1px);
}

.button--outline {
  background: transparent;
  border-color: var(--button-outline-color);
  color: var(--button-outline-color);
}

.button--outline:hover,
.button--outline:focus-visible {
  border-color: var(--button-outline-background-hover);
  background: var(--button-outline-background-hover);
  color: var(--button-outline-text-hover);
}

.button--text,
.text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: var(--space-3);
  color: var(--button-link-color);
}

.button--text::after,
.text-link::after {
  width: 34px;
  height: var(--border-width);
  background: currentColor;
  content: "";
  transition: width var(--transition-fast);
}

.button--text:hover::after,
.button--text:focus-visible::after,
.text-link:hover::after,
.text-link:focus-visible::after {
  width: var(--button-min-height);
}

.button--icon,
.icon-button {
  display: inline-grid;
  width: var(--button-icon-size);
  min-width: var(--button-icon-size);
  height: var(--button-icon-size);
  padding: 0;
  place-items: center;
  border: var(--border-width) solid var(--button-outline-color);
  background: transparent;
  color: var(--button-outline-color);
  cursor: pointer;
  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast),
    transform var(--transition-fast);
}

.button--icon:hover,
.button--icon:focus-visible,
.icon-button:hover,
.icon-button:focus-visible {
  border-color: var(--button-outline-background-hover);
  background: var(--button-outline-background-hover);
  color: var(--button-outline-text-hover);
}

.button--icon:active,
.icon-button:active {
  transform: translateY(1px);
}

.button:disabled,
.button[aria-disabled="true"],
.button--icon:disabled,
.button--icon[aria-disabled="true"],
.icon-button:disabled,
.icon-button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: var(--button-disabled-opacity);
  pointer-events: none;
  transform: none;
}

.section--dark,
.site-footer {
  --color-primary: var(--accent-on-dark);
  --color-primary-hover: var(--accent-on-dark-hover);
  --button-primary-background: var(--accent-on-dark);
  --button-primary-background-hover: var(--accent-on-dark-hover);
  --button-primary-background-active: var(--accent-on-dark-active);
  --button-primary-text: var(--color-background-primary);
  --button-link-color: var(--accent-on-dark);
  --button-outline-color: var(--accent-on-dark);
  --button-outline-background-hover: var(--accent-on-dark-hover);
  --button-outline-text-hover: var(--color-background-primary);
}

@media (prefers-reduced-motion: reduce) {
  .button,
  .button--icon,
  .icon-button {
    transition-duration: var(--transition-reduced-motion);
  }

  .button:active,
  .button--icon:active,
  .icon-button:active {
    transform: none;
  }
}

/* ==========================================================================
   Cards
   ========================================================================== */

/* Source : assets/css/components/cards.css */
.card {
  height: 100%;
  padding-top: var(--space-lg);
  border-top: var(--border-width) solid var(--color-border-dark);
}

.card__number {
  display: block;
  margin-bottom: 46px;
  color: var(--color-text-soft);

}

.card h3,
.card h4 {
  margin-bottom: 20px;
}

.card p {
  color: var(--color-text-soft);
}

.card .text-link {
  margin-top: var(--space-lg);
}

.media-card {
  position: relative;
  overflow: hidden;
  background: var(--color-ink-raised);
  color: var(--color-text-inverse);
}

.media-card__link {
  display: block;
  height: 100%;
}

.media-card__image {
  width: 100%;
  height: 430px;
  object-fit: cover;
  opacity: 0.88;
  transition: transform var(--transition-slow), opacity var(--transition-medium);
}

.media-card:hover .media-card__image {
  opacity: 0.72;
  transform: scale(1.035);
}

.media-card__body {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 90px var(--space-lg) var(--space-lg);
  background: linear-gradient(transparent, var(--color-media-overlay));
}

.media-card__body p {
  margin-top: var(--space-2xs);
  color: var(--color-card-text);
}

/* Source : assets/css/components/light-surfaces.css */
/*
 * Variantes claires opt-in.
 * Elles servent aux chapitres éditoriaux validés sans modifier les séquences
 * émotionnelles, les images immersives ni les autres pages.
 */
.surface--light,
[data-surface-theme="light"] {
  --color-background: var(--surface-ivory);
  --color-background-subtle: var(--surface-stone);
  --color-surface: var(--surface-paper);
  --color-text-primary: var(--text-on-light);
  --color-text-secondary: var(--text-on-light-secondary);
  --color-text-discreet: var(--text-on-light-secondary);
  --color-text: var(--text-on-light);
  --color-text-muted: var(--text-on-light-secondary);
  --color-text-soft: var(--text-on-light-secondary);
  --color-card-text: var(--text-on-light-secondary);
  --color-home-copy: var(--text-on-light-secondary);
  --color-index-text: var(--text-on-light-secondary);
  --color-accent-primary: var(--accent-on-light);
  --color-accent-primary-hover: var(--accent-on-light-hover);
  --color-accent-primary-active: var(--accent-on-light-active);
  --color-accent-on: var(--accent-on-light-contrast);
  --color-primary: var(--accent-on-light);
  --color-accent: var(--accent-on-light);
  --color-primary-hover: var(--accent-on-light-hover);
  --color-border: var(--border-on-light);
  --color-border-strong: var(--border-on-light-strong);
  --color-border-translucent: var(--border-on-light);
  --color-border-dark: var(--border-on-light-strong);
  --color-border-structural: var(--border-on-light);
  --color-border-interactive: var(--border-on-light-strong);
  --color-panel-overlay-light: var(--surface-paper);
  --color-panel-overlay-light-soft: var(--surface-warm);
  --button-primary-background: var(--accent-on-light);
  --button-primary-background-hover: var(--accent-on-light-hover);
  --button-primary-background-active: var(--accent-on-light-active);
  --button-primary-text: var(--accent-on-light-contrast);
  --button-outline-color: var(--accent-on-light);
  --button-outline-background-hover: var(--accent-on-light-hover);
  --button-outline-text-hover: var(--accent-on-light-contrast);
  --button-link-color: var(--accent-on-light);
  --home-card-background: var(--surface-paper);
  --home-card-border: var(--border-on-light);
  --home-card-shadow: var(--shadow-light-surface);
  --home-card-shadow-hover: var(--shadow-light-surface);
  background: var(--surface-ivory);
  color: var(--text-on-light);
  color-scheme: light;
}

.surface--light.surface--stone,
[data-surface-theme="light"][data-surface-tone="stone"] {
  background: var(--surface-stone);
}

.surface--light.surface--paper,
[data-surface-theme="light"][data-surface-tone="paper"] {
  background: var(--surface-paper);
}

.surface--light.surface--warm,
[data-surface-theme="light"][data-surface-tone="warm"] {
  background: var(--surface-warm);
}

/*
 * Les contenus éditoriaux clairs utilisent une hiérarchie explicite. Aucun
 * texte essentiel ne repose sur une baisse d’opacité.
 */
:is(.surface--light, [data-surface-theme="light"]) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--text-on-light);
}

:is(.surface--light, [data-surface-theme="light"]) :where(p, li, figcaption, .meta) {
  color: var(--text-on-light-secondary);
}

:is(.surface--light, [data-surface-theme="light"]) p a:not(.button, .text-link) {
  color: var(--accent-on-light);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

/* Un chapitre sombre imbriqué reprend toujours la hiérarchie du thème. */
:is(.section--dark, [data-theme="dark"]) :where(h1, h2, h3, h4, h5, h6, strong) {
  color: var(--text-on-dark);
}

:is(.section--dark, [data-theme="dark"]) :where(p, li, figcaption, .meta) {
  color: var(--text-on-dark-secondary);
}

:is(.surface--light, [data-surface-theme="light"]) p a:not(.button, .text-link):hover,
:is(.surface--light, [data-surface-theme="light"]) p a:not(.button, .text-link):focus-visible {
  color: var(--accent-on-light-hover);
  text-decoration-thickness: 3px;
}

/*
 * La carte claire est d'abord une plaque ouverte : sa surface reste
 * transparente tant qu'une variante éditoriale ne réclame pas un papier ou
 * un passe-partout. Les variables communes permettent aux cartes de l'accueil
 * de conserver exactement les mêmes états que leurs variantes sombres.
 */
.card--light,
:is(.surface--light, [data-surface-theme="light"]) .card {
  --card-light-surface: transparent;
  --card-light-surface-hover: var(--surface-warm);
  --home-card-background: var(--card-light-surface);
  --home-card-border: var(--border-on-light);
  --home-card-shadow: var(--shadow-light-surface);
  --home-card-shadow-hover: var(--shadow-light-surface);
  border: 1px solid var(--home-card-border, var(--border-on-light));
  border-radius: 0;
  background: var(--card-light-surface);
  box-shadow: var(--shadow-light-surface);
  color: var(--text-on-light);
}

.card--light {
  --color-text-soft: var(--text-on-light-secondary);
  --color-border-dark: var(--border-on-light-strong);
  --button-link-color: var(--accent-on-light);
  height: 100%;
  padding: var(--space-6);
}

/* Une carte ouverte se distingue par son filet, jamais par un aplat blanc. */
.card--light--open {
  --card-light-surface: transparent;
}

/* Le ton pierre sert aux groupes secondaires ou aux listes de consultation. */
.card--light--stone {
  --card-light-surface: var(--surface-stone);
}

/* L'image dominante repose sur un ivoire distinct du papier de la section. */
.card--light--media {
  --card-light-surface: var(--surface-ivory);
  --home-card-border: var(--border-on-light-strong);
}

/* La variante documentaire reproduit un encadrement d'archive à deux filets. */
.card--light--document {
  --card-light-surface: var(--surface-paper);
  --home-card-border: var(--border-on-light-strong);
}

.card--light--document::before {
  position: absolute;
  z-index: 0;
  inset: 8px;
  border: 1px solid var(--border-on-light);
  content: "";
  pointer-events: none;
}

.card--light--document > * {
  position: relative;
  z-index: 1;
}

.card--light :where(.card__number, p, .meta),
:is(.surface--light, [data-surface-theme="light"]) .card :where(.card__number, p, .meta) {
  color: var(--text-on-light-secondary);
}

a.card--light:hover,
a.card--light:focus-visible,
:is(.surface--light, [data-surface-theme="light"]) a.card:hover,
:is(.surface--light, [data-surface-theme="light"]) a.card:focus-visible {
  --home-card-border: var(--accent-on-light);
  border-color: var(--accent-on-light);
  background: var(--card-light-surface-hover);
}

/* Le CTA reste identifiable avant toute interaction grâce au trait et à la flèche. */
.card--light .home-card__action {
  padding-bottom: 3px;
  border-bottom: 1px solid currentColor;
}

.card--light:hover .home-card__action,
.card--light:focus-visible .home-card__action {
  border-bottom-width: 2px;
}

/*
 * Le modificateur autonome permet de poser un bouton sur une image ou dans un
 * composant mixte sans imposer le thème clair à tout son conteneur.
 */
.button--light,
.text-link--light,
.icon-button--light {
  --button-primary-background: var(--accent-on-light);
  --button-primary-background-hover: var(--accent-on-light-hover);
  --button-primary-background-active: var(--accent-on-light-active);
  --button-primary-text: var(--accent-on-light-contrast);
  --button-outline-color: var(--accent-on-light);
  --button-outline-background-hover: var(--accent-on-light-hover);
  --button-outline-text-hover: var(--accent-on-light-contrast);
  --button-link-color: var(--accent-on-light);
}

.text-link--light {
  color: var(--accent-on-light);
}

.text-link--light:hover,
.text-link--light:focus-visible {
  color: var(--accent-on-light-hover);
}

:is(.surface--light, [data-surface-theme="light"]) :focus-visible,
.card--light:focus-visible,
.button--light:focus-visible,
.text-link--light:focus-visible,
.icon-button--light:focus-visible {
  outline-color: var(--focus-on-light);
  box-shadow: var(--shadow-focus-on-light);
}

@media (prefers-reduced-motion: reduce) {
  .card--light,
  .card--light .home-card__image,
  .card--light .home-card__action i {
    transition: none;
  }
}

/* ==========================================================================
   Sections narratives
   ========================================================================== */

/* Source : assets/css/components/content-warning.css */
.content-warning {
  padding: 28px 0;
  border-bottom: var(--border-width) solid var(--color-border);
  background: var(--color-base-light);
}

.content-warning__inner {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
  padding-left: 24px;
  padding-top: 24px;
  padding-bottom: 24px;
  border-left: 3px solid var(--color-accent);
}

.content-warning__label {
  color: var(--color-accent);

}

.content-warning h2 + p {
  max-width: 760px;
  margin-top: 10px;
  color: var(--color-text-soft);
}

@media (max-width: 680px) {
  .content-warning {
    padding: 20px 0;
  }

  .content-warning__inner {
    grid-template-columns: 1fr;
    gap: 10px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
  }
}

/* Source : assets/css/components/quote.css */
.quote {
  padding-left: 36px;
  border-left: var(--border-width) solid var(--color-border-dark);
}

.quote cite {
  display: block;
  margin-top: var(--space-md);
  color: var(--color-text-soft);

}

/* Source : assets/css/components/audio-player.css */
.audio-player {
  display: grid;
  gap: 20px;
  padding: 28px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.audio-player__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.audio-player__controls button {
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid var(--color-primary);
  background: transparent;
  color: inherit;
  cursor: pointer;

}

.audio-player__controls button[aria-pressed="true"] {
  background: var(--color-primary);
  color: var(--color-base-dark);
}

.audio-player__controls button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.audio-player__time {
  display: flex;
  gap: 8px;
  font-variant-numeric: tabular-nums;
}

.audio-player progress {
  width: 100%;
  height: 3px;
  accent-color: var(--color-primary);
}

.audio-player__transcript {
  max-width: 760px;
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
}

.audio-player__status {
  color: var(--color-text-soft);

}

@media (max-width: 680px) {
  .audio-player__controls {
    display: grid;
    grid-template-columns: 1fr;
  }

  .audio-player__controls button {
    width: 100%;
  }
}

/* Source : assets/css/components/story-navigation.css */
.story-navigation {
  position: sticky;
  top: var(--header-height);
  z-index: 90;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-panel-overlay-light);
  backdrop-filter: blur(8px);
}

.story-navigation__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  min-height: 58px;
}

.story-navigation__label {
  color: var(--color-text-soft);

}

.story-navigation ol {
  display: flex;
  gap: 26px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

.story-navigation a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  min-height: 58px;
  white-space: nowrap;
  color: var(--color-text-soft);

}

.story-navigation a span {
  color: var(--color-primary);
  font-variant-numeric: tabular-nums;
}

.story-navigation a.is-active,
.story-navigation a[aria-current="location"] {
  color: var(--color-text);
}

@media (max-width: 900px) {
  .story-navigation {
    top: 0;
  }

  .story-navigation__inner {
    display: block;
    min-height: 50px;
  }

  .story-navigation__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .story-navigation ol {
    gap: 18px;
  }

  .story-navigation a {
    min-height: 50px;

  }
}

@media (prefers-reduced-motion: reduce) {
  .story-navigation {
    position: relative;
    top: auto;
    backdrop-filter: none;
  }
}

/* Source : assets/css/components/story-progress.css */
.story-progress {
  position: sticky;
  top: var(--header-height);
  z-index: 88;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-panel-overlay-light);
  backdrop-filter: blur(8px);
}

.story-progress__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  min-height: 58px;
}

.story-progress__label {
  color: var(--color-text-soft)!important;
}

.story-progress__inner ol {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

.story-progress__inner a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  min-height: 58px;
  color: var(--color-text-soft);

  white-space: nowrap;
}

.story-progress__inner a span:first-child {
  color: var(--color-primary-hover);
  font-variant-numeric: tabular-nums;
}

.story-progress a.is-active,
.story-progress a[aria-current="location"] {
  color: var(--color-text);
}

@media (max-width: 900px) {
  .story-progress {
    top: var(--header-height);
  }

  .story-progress__inner {
    display: block;
    min-height: 50px;
  }

  .story-progress__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .story-progress__inner ol {
    justify-content: space-between;
    gap: 8px;
    overflow-x: auto;
  }

  .story-progress__inner a {
    min-width: 40px;
    min-height: 50px;
    justify-content: center;

  }

  .story-progress__inner a span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .story-progress {
    position: relative;
    top: auto;
    backdrop-filter: none;
  }
}

/* Source : assets/css/components/story-orchestration.css */
/* Orchestration transversale : l’atmosphère suit le récit sans remplacer les compositions locales. */
html {
  --story-background: var(--color-background);
  --story-header-background: var(--color-ink-deep);
  --story-progress-background: var(--color-panel-overlay-light);
  --story-progress-text: var(--color-text);
  --story-decoration-opacity: 0.52;
}

html[data-story-theme="light"] {
  --story-background: var(--color-background-subtle);
  --story-header-background: var(--color-ink-soft);
  --story-progress-background: var(--color-panel-overlay-light);
  --story-progress-text: var(--color-text);
  --story-decoration-opacity: 0.38;
}

html[data-story-theme="dark"] {
  --story-background: var(--color-background);
  --story-header-background: var(--color-ink-deep);
  --story-progress-background: var(--color-panel-overlay-dark);
  --story-progress-text: var(--color-text-inverse);
  --story-decoration-opacity: 0.66;
}

html[data-story-theme="earth"] {
  --story-background: var(--color-background-subtle);
  --story-header-background: var(--color-ink-raised);
  --story-progress-background: var(--color-panel-overlay-dark);
  --story-progress-text: var(--color-text-inverse);
  --story-decoration-opacity: 0.58;
}

body {
  background-color: var(--story-background);
  transition: background-color var(--transition-slow);
}

.site-header {
  background-color: var(--story-header-background);
  transition:
    background-color var(--transition-base),
    border-color var(--transition-base),
    box-shadow var(--transition-base);
}

.site-header .brand__mark,
.site-header__chapter {
  transition:
    border-color var(--transition-base),
    color var(--transition-base),
    opacity var(--transition-base);
}

.site-header__story {
  display: grid;
  width: 156px;
  flex: 0 0 156px;
  gap: 10px;
}

.site-header__chapter {
  overflow: hidden;
  color: var(--color-brand-muted);

  text-overflow: ellipsis;

  white-space: nowrap;
}

.site-header__story-progress {
  display: block;
  width: 100%;
  height: 1px;
  overflow: hidden;
  background: var(--color-border-translucent);
}

.site-header__story-progress span {
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-primary);
  transform: scaleX(0);
  transform-origin: left center;
}

.story-progress {
  background: var(--story-progress-background);
  transition:
    background-color var(--transition-base),
    color var(--transition-base);
}

.story-progress__inner a,
.story-progress__label {
  color: var(--story-progress-text)!important;
  transition: color var(--transition-base);
}

[data-story-chapter]::before,
[data-home-chapter]::before {
  opacity: var(--story-decoration-opacity);
  transition: opacity var(--transition-slow);
}

html[data-experience-level="reduced"] [data-parallax],
html[data-experience-level="static"] [data-parallax] {
  transform: none;
}

html[data-experience-level="static"] [data-narrative-three],
html[data-experience-level="static"] [data-three-scene],
html[data-experience-reason="mouvement-reduit"] [data-narrative-three],
html[data-experience-reason="mouvement-reduit"] [data-three-scene] {
  opacity: 0;
}

html[data-experience-level="static"] body,
html[data-experience-level="static"] .site-header,
html[data-experience-level="static"] .story-progress,
html[data-experience-reason="mouvement-reduit"] body,
html[data-experience-reason="mouvement-reduit"] .site-header,
html[data-experience-reason="mouvement-reduit"] .story-progress {
  transition: none;
}

@media (max-width: 1180px) {
  .site-header__story {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-story-chapter]::before,
  [data-home-chapter]::before {
    transition: none;
  }
}

/* Source : assets/css/components/page-transitions.css */
body::after {
  position: fixed;
  inset: 0;
  z-index: 5000;
  pointer-events: none;
  content: "";
  background: var(--color-base-dark);
  opacity: 0;
  transform: scaleX(0);
  transform-origin: right center;
}

html.is-page-leaving body::after {
  opacity: 1;
  transform: scaleX(1);
  transition:
    transform 480ms cubic-bezier(0.76, 0, 0.24, 1),
    opacity 180ms ease;
}

html.is-page-leaving main,
html.is-page-leaving .site-footer {
  opacity: 0.74;
  transition: opacity 350ms ease;
}

@media (prefers-reduced-motion: reduce) {
  body::after {
    display: none;
  }

  html.is-page-leaving main,
  html.is-page-leaving .site-footer {
    opacity: 1;
    transition: none;
  }
}

/* Source : assets/css/components/internal-pages.css */
.internal-page .hero--inner {
  min-height: 760px;
}

.internal-page .hero__media {
  transform-origin: center;
}

.internal-page[data-page="about"] .hero__shade,
.internal-page[data-page="education"] .hero__shade,
.internal-page[data-page="visiter"] .hero__shade {
  background: linear-gradient(90deg, var(--color-hero-overlay-start) 0%, var(--color-hero-overlay-middle) 52%, transparent 100%);
}

.internal-page[data-page="chronologie"] .hero__media,
.internal-page[data-page="archives"] .hero__media {
  filter: grayscale(0.72) contrast(1.08);
}

.internal-page[data-page="hommages"] .hero__media,
.internal-page[data-page="temoignages"] .hero__media {
  filter: grayscale(0.9) brightness(0.72);
}

@media (max-width: 760px) {
  .internal-page .hero--inner {
    min-height: 620px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .internal-page .hero__media {
    transform: none;
  }
}

/* Source : assets/css/components/narrative-three-scenes.css */
.narrative-page,
.chronology-journey {
  position: relative;
  isolation: isolate;
}

/*
 * La scène reste une couche atmosphérique : elle accompagne la lecture sans
 * devenir un écran autonome ni masquer les sections éditoriales.
 */
.narrative-atmosphere {
  position: sticky;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 560px;
  margin-bottom: -560px;
  overflow: hidden;
  background: var(--story-background);
  pointer-events: none;
  transition: background-color var(--transition-slow);
}

.narrative-atmosphere::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(90deg, var(--story-background) 0, transparent 24%, transparent 76%, var(--story-background) 100%),
    linear-gradient(0deg, var(--story-background) 0, transparent 34%, transparent 84%, var(--story-background) 100%);
  content: "";
  transition: background var(--transition-slow);
}

.narrative-atmosphere__fallback,
.narrative-atmosphere canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.narrative-atmosphere__fallback {
  z-index: 1;
}

.narrative-atmosphere__fallback-image {
  position: absolute;
  inset: -4%;
  width: 108%;
  height: 108%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.08);
}

.narrative-atmosphere__fallback-image--rear {
  opacity: 0.18;
  transform: translate3d(-2%, 1%, 0) scale(1.02);
  clip-path: inset(7% 14% 22% 30%);
}

.narrative-atmosphere__fallback-image--near {
  opacity: 0.11;
  transform: translate3d(2%, -1%, 0) scale(1.05);
  clip-path: inset(30% 42% 10% 5%);
  filter: grayscale(1) contrast(1.12) blur(1px);
}

.narrative-atmosphere__fallback--material span {
  position: absolute;
  display: block;
  border: 1px solid var(--color-border-dark-subtle);
  background: var(--color-border-dark-subtle);
}

.narrative-atmosphere__fallback--material span:first-child {
  top: 18%;
  right: 17%;
  width: 28%;
  height: 48%;
  opacity: 0.42;
  transform: rotate(-2deg);
}

.narrative-atmosphere__fallback--material span:last-child {
  bottom: 13%;
  left: 18%;
  width: 22%;
  height: 38%;
  opacity: 0.28;
  transform: rotate(2deg);
}

.narrative-atmosphere canvas {
  z-index: 2;
  opacity: 0;
  transition: opacity 1200ms ease;
}

.narrative-atmosphere.is-ready canvas {
  opacity: 0.62;
}

.narrative-atmosphere.is-ready .narrative-atmosphere__fallback-image--rear {
  opacity: 0.12;
}

.narrative-atmosphere.is-ready .narrative-atmosphere__fallback-image--near {
  opacity: 0.07;
}

.narrative-atmosphere--traces .narrative-atmosphere__fallback-image--rear {
  clip-path: inset(12% 32% 16% 22%);
}

.narrative-atmosphere--territories .narrative-atmosphere__fallback-image {
  object-position: center 64%;
}

.narrative-atmosphere--memory .narrative-atmosphere__fallback--material span {
  background: transparent;
}

.narrative-atmosphere--transmission .narrative-atmosphere__fallback-image--rear {
  clip-path: inset(9% 46% 12% 8%);
}

.narrative-atmosphere--transmission .narrative-atmosphere__fallback-image--near {
  clip-path: inset(18% 8% 17% 48%);
}

.narrative-atmosphere--visit .narrative-atmosphere__fallback-image {
  object-position: center 56%;
}

.narrative-page > :not(.narrative-atmosphere):not(.narrative-progress):not([data-story-navigation]),
.chronology-journey > :not(.narrative-atmosphere):not(.narrative-progress):not([data-story-navigation]) {
  position: relative;
  z-index: 1;
}

@media (max-width: 680px) {
  .narrative-atmosphere {
    height: 520px;
    margin-bottom: -520px;
  }

  .narrative-atmosphere::after {
    background:
      linear-gradient(90deg, var(--story-background) 0, transparent 36%, transparent 72%, var(--story-background) 100%),
      linear-gradient(0deg, var(--story-background) 0, transparent 30%, transparent 76%, var(--story-background) 100%);
  }

  .narrative-atmosphere.is-ready canvas {
    opacity: 0.44;
  }

  .narrative-atmosphere__fallback-image--near {
    display: none;
  }

  .narrative-atmosphere__fallback-image--rear {
    opacity: 0.14;
    clip-path: inset(10% 6% 24% 22%);
  }
}

html[data-experience-level="static"] .narrative-atmosphere canvas,
html[data-experience-reason="mouvement-reduit"] .narrative-atmosphere canvas {
  display: none;
}

html[data-experience-level="static"] .narrative-atmosphere,
html[data-experience-reason="mouvement-reduit"] .narrative-atmosphere,
html[data-experience-level="static"] .narrative-atmosphere::after,
html[data-experience-reason="mouvement-reduit"] .narrative-atmosphere::after {
  transition: none;
}

html[data-experience-level="static"] .narrative-atmosphere__fallback-image--rear,
html[data-experience-reason="mouvement-reduit"] .narrative-atmosphere__fallback-image--rear {
  opacity: 0.16;
  transform: none;
}

html[data-experience-level="static"] .narrative-atmosphere__fallback-image--near,
html[data-experience-reason="mouvement-reduit"] .narrative-atmosphere__fallback-image--near {
  opacity: 0.07;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .narrative-atmosphere canvas {
    display: none;
  }

  .narrative-atmosphere__fallback-image {
    transform: none;
  }

  .narrative-atmosphere__fallback-image--rear {
    opacity: 0.16;
  }

  .narrative-atmosphere__fallback-image--near {
    opacity: 0.07;
  }
}

/* ==========================================================================
   Timeline
   ========================================================================== */

/* ==========================================================================
   Mémoire
   ========================================================================== */

/* La progression chronologique devient un repère de lecture commun au shell. */
.site-scroll-progress {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1200;
  width: 100%;
  height: 3px;
  overflow: hidden;
  pointer-events: none;
}

.site-scroll-progress > span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--accent-on-dark, var(--color-primary));
  transform: scaleX(var(--site-scroll-progress-value, 0));
  transform-origin: left center;
  will-change: transform;
}

/* Source : assets/css/components/memory-thread.css */
/* Le fil traverse le cadre : il ne longe jamais le bord d’une section. */
.memory-thread {
  position: fixed;
  inset: 0;
  z-index: 35;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  opacity: var(--memory-thread-opacity, 0);
  transition: opacity 700ms ease;
}

.memory-thread path {
  fill: none;
  stroke: var(--color-primary);
  stroke-dasharray: 1;
  stroke-dashoffset: var(--memory-thread-offset, 1);
  stroke-linecap: round;
  stroke-width: 0.75px;
  vector-effect: non-scaling-stroke;
}

.memory-thread circle {
  fill: var(--color-primary);
  opacity: 0.7;
}

.site[data-page="histoire"] .memory-thread path { stroke-width: 1px; }
.site[data-page="chronologie"] .memory-thread path { stroke-dasharray: 0.08 0.035; }
.site[data-page="archives"] .memory-thread path { stroke-dasharray: 0.22 0.06 0.03 0.06; }
.site[data-page="temoignages"] .memory-thread path { stroke-dasharray: 0.04 0.025; }
.site[data-page="hommages"] .memory-thread path { opacity: 0.55; }
.site[data-page="mission"] .memory-thread path { stroke-width: 1.2px; }

@media (max-width: 680px) {
  .memory-thread path {
    stroke-width: 0.6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .memory-thread {
    --memory-thread-offset: 0.68;
    --memory-thread-opacity: 0.22;
    transition: none;
  }
}

/* ==========================================================================
   Galerie
   ========================================================================== */

/* Source : assets/css/components/filters.css */
.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  margin-bottom: 42px;
}

.filter-button {
  padding: 11px 18px;
  border: var(--border-width) solid var(--color-border);
  background: transparent;
  cursor: pointer;

  transition: border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);
}

.filter-button:hover,
.filter-button:focus-visible,
.filter-button[aria-pressed="true"] {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-base-dark);
}

/* Source : assets/css/components/exhibition-objects.css */
/* Les cartes se lisent comme des pièces éclairées, sans ajouter de faux volume vitré. */
[data-exhibition-object] {
  --object-light-x: 50%;
  --object-light-y: 42%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

[data-exhibition-object]::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: radial-gradient(
    circle 240px at var(--object-light-x) var(--object-light-y),
    var(--color-object-light),
    transparent 68%
  );
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity 600ms ease;
}

[data-exhibition-object].is-present::before,
[data-exhibition-object]:focus-within::before,
[data-exhibition-object]:hover::before {
  opacity: 1;
}

[data-exhibition-object] img {
  transition: filter 900ms ease, transform 1200ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

[data-exhibition-object].is-present img {
  filter: contrast(1.03) saturate(0.82);
  transform: scale(1.018);
}

[data-exhibition-object] .meta,
[data-exhibition-object] .catalog-card__type,
[data-exhibition-object] .listing-card__status,
[data-exhibition-object] .home-trace__meta {
  transition: color 500ms ease, letter-spacing 500ms ease;
}

[data-exhibition-object].is-present .meta,
[data-exhibition-object].is-present .catalog-card__type,
[data-exhibition-object].is-present .listing-card__status,
[data-exhibition-object].is-present .home-trace__meta {
  color: var(--color-primary);

}

@media (prefers-reduced-motion: reduce) {
  [data-exhibition-object]::before,
  [data-exhibition-object] img,
  [data-exhibition-object] .meta,
  [data-exhibition-object] .catalog-card__type,
  [data-exhibition-object] .listing-card__status,
  [data-exhibition-object] .home-trace__meta {
    transition: none;
  }
}

/* Source : assets/vendor/glightbox/css/glightbox.min.css */
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}

/* Source : assets/vendor/plyr/plyr.min.css */
@charset "UTF-8";@keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:2px;border-radius:var(--plyr-badge-border-radius,2px);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:9px;font-size:var(--plyr-font-size-badge,9px);line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:13px;font-size:var(--plyr-font-size-small,13px);left:0;padding:10px;padding:var(--plyr-control-spacing,10px);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:15px;font-size:var(--plyr-font-size-base,15px);padding:20px;padding:calc(var(--plyr-control-spacing, 10px)*2)}}@media (min-width:768px){.plyr__captions{font-size:18px;font-size:var(--plyr-font-size-large,18px)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px);transform:translateY(calc(var(--plyr-control-spacing, 10px)*-4))}.plyr__caption{background:#000c;background:var(--plyr-captions-background,#000c);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:#0000;border:0;border-radius:4px;border-radius:var(--plyr-control-radius,4px);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:18px;height:var(--plyr-control-icon-size,18px);pointer-events:none;width:18px;width:var(--plyr-control-icon-size,18px)}.plyr__control:focus{outline:0}.plyr__control:focus-visible{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px;margin-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px;padding-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px;padding:0 calc(var(--plyr-control-spacing, 10px)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:#ffffffe6;background:var(--plyr-menu-background,#ffffffe6);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-menu-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:15px;font-size:var(--plyr-font-size-base,15px);margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container:after{border:4px solid #0000;border-top-color:#ffffffe6;border:var(--plyr-menu-arrow-size,4px) solid #0000;border-top-color:var(--plyr-menu-background,#ffffffe6);content:"";height:0;position:absolute;right:14px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7 - var(--plyr-menu-arrow-size, 4px)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:13px;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,13px));padding:4.66667px 10.5px;padding:calc(var(--plyr-control-spacing, 10px)*.7/1.5) calc(var(--plyr-control-spacing, 10px)*.7*1.5);-webkit-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:4px solid #0000;border:var(--plyr-menu-item-arrow-size,4px) solid #0000;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:6.5px;right:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--forward:focus-visible:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:initial}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:7px;margin:calc(var(--plyr-control-spacing, 10px)*.7);margin-bottom:3.5px;margin-bottom:calc(var(--plyr-control-spacing, 10px)*.7/2);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*4);position:relative;width:calc(100% - 14px);width:calc(100% - var(--plyr-control-spacing, 10px)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:6.5px;left:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:3.5px;margin-top:calc(var(--plyr-control-spacing, 10px)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back:focus-visible:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:initial}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:#0000001a;content:"";display:block;flex-shrink:0;height:16px;margin-right:10px;margin-right:var(--plyr-control-spacing,10px);transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b2ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:#23282f1a}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;margin-right:calc(var(--plyr-control-spacing, 10px)*.7*-1 - -2px);overflow:hidden;padding-left:24.5px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:26px;border-radius:calc(var(--plyr-range-thumb-height, 13px)*2);color:#00b2ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));display:block;height:19px;height:calc(var(--plyr-range-thumb-active-shadow-width, 3px)*2 + var(--plyr-range-thumb-height, 13px));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:#0000;background-image:linear-gradient(90deg,currentColor 0,#0000 0);background-image:linear-gradient(to right,currentColor var(--value,0),#0000 var(--value,0));border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:-4px;margin-top:calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px))/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px)}.plyr--full-ui input[type=range]::-ms-track{color:#0000}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:#0000;background:currentColor;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-moz-range-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-ms-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__time+.plyr__time:before{content:"⁄";margin-right:10px;margin-right:var(--plyr-control-spacing,10px)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:#fff;background:var(--plyr-tooltip-background,#fff);border-radius:5px;border-radius:var(--plyr-tooltip-radius,5px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:13px;font-size:var(--plyr-font-size-small,13px);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:5px 7.5px;padding:calc(var(--plyr-control-spacing, 10px)/2) calc(var(--plyr-control-spacing, 10px)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control:focus-visible .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translateY(10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before{left:16px;left:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:16px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7);transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:6.5px;left:calc(var(--plyr-range-thumb-height, 13px)*.5);margin-right:13px;margin-right:var(--plyr-range-thumb-height,13px);position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-left:calc(var(--plyr-range-thumb-height, 13px)*-.5);margin-right:-6.5px;margin-right:calc(var(--plyr-range-thumb-height, 13px)*-.5);width:calc(100% + 13px);width:calc(100% + var(--plyr-range-thumb-height, 13px))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{left:0;max-width:120px;overflow-wrap:break-word}.plyr__progress__buffer{-webkit-appearance:none;background:#0000;border:0;border-radius:100px;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin-top:-2.5px;margin-top:calc((var(--plyr-range-track-height, 5px)/2)*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:#0000}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,#23282f99 25%,#0000 0,#0000 50%,#23282f99 0,#23282f99 75%,#0000 0,#0000);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,#23282f99) 25%,#0000 25%,#0000 50%,var(--plyr-progress-loading-background,#23282f99) 50%,var(--plyr-progress-loading-background,#23282f99) 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:25px 25px;background-size:var(--plyr-progress-loading-size,25px) var(--plyr-progress-loading-size,25px);color:#0000}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:#ffffff40;background-color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:#c1c8d199;background-color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr__progress__marker{background-color:#fff;background-color:var(--plyr-progress-marker-background,#fff);border-radius:1px;height:5px;height:var(--plyr-range-track-height,5px);position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;width:var(--plyr-progress-marker-width,3px);z-index:3}.plyr__volume{align-items:center;display:flex;position:relative}.plyr__volume input[type=range]{margin-left:5px;margin-left:calc(var(--plyr-control-spacing, 10px)/2);margin-right:5px;margin-right:calc(var(--plyr-control-spacing, 10px)/2);max-width:90px;min-width:60px;position:relative;z-index:2}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:10px;padding:var(--plyr-control-spacing,10px)}.plyr--audio .plyr__control:focus-visible,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--audio .plyr__progress__buffer{color:#c1c8d199;color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr--video{overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));border-radius:inherit;height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:5px;padding:calc(var(--plyr-control-spacing, 10px)/2);padding-top:20px;padding-top:calc(var(--plyr-control-spacing, 10px)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:10px;padding:var(--plyr-control-spacing,10px);padding-top:35px;padding-top:calc(var(--plyr-control-spacing, 10px)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control:focus-visible,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:15px;padding:calc(var(--plyr-control-spacing, 10px)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--video .plyr__progress__buffer{color:#ffffff40;color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen video{height:100%}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:2px;bottom:10px;bottom:var(--plyr-control-spacing,10px);color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;right:var(--plyr-control-spacing,10px);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:5px;height:var(--plyr-range-track-height,5px);left:0;opacity:.8;position:absolute;top:50%;transform:translateY(-50%);width:3px;z-index:3}.plyr__preview-thumb{background-color:#fff;background-color:var(--plyr-tooltip-background,#fff);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translateY(10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:calc(50% + var(--preview-arrow-offset));position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:7px;border-radius:calc(var(--plyr-menu-radius, 8px) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img,.plyr__preview-thumb__image-container:after{height:100%;left:0;position:absolute;top:0;width:100%}.plyr__preview-thumb__image-container:after{border-radius:inherit;box-shadow:inset 0 0 0 1px #00000026;content:"";pointer-events:none}.plyr__preview-thumb__image-container img{max-height:none;max-width:none}.plyr__preview-thumb__time-container{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:7px;border-bottom-left-radius:calc(var(--plyr-menu-radius, 8px) - 1px);border-bottom-right-radius:7px;border-bottom-right-radius:calc(var(--plyr-menu-radius, 8px) - 1px);bottom:0;left:0;line-height:1.1;padding:20px 6px 6px;position:absolute;right:0;z-index:3}.plyr__preview-thumb__time-container span{color:#fff;font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}

/* Source : assets/vendor/quiz/quiz.css */
.quiz-container {
    --bg-body: var(--hx-gray-100);
    --bg-card: #ffffff;
    --bg-header: #ffffff;
    --bg-option: #ffffff;
    --bg-option-hover: var(--hx-gray-50);
    --text-main: var(--hx-gray-900);
    --text-muted: var(--hx-gray-500);
    --border-color: var(--hx-gray-200);
    --progress-bar-bg: var(--hx-gray-150);
    --image-placeholder: var(--hx-gray-150);
    --tint-selected: #f0f7ff;
    --tint-correct: #f0fdf4;
    --tint-incorrect: #fef2f2;
    --shadow-selected: rgba(45, 101, 254, 0.15);
    --shadow-correct: rgba(34, 197, 94, 0.2);
    --shadow-incorrect: rgba(239, 68, 68, 0.2);
    --primary-color: var(--hx-theme-color);
    --success-color: #22c55e;
    --error-color: #ef4444;
    --transition-speed: 0.3s;
    width: 100%;
    transition: background-color 0.3s, color 0.3s;
}

[data-bs-theme="dark"] .quiz-container {
    --bg-body: var(--hx-body-bg);
    --bg-card: var(--hx-body-secondary-bg);
    --bg-header: var(--hx-body-secondary-bg);
    --bg-option: var(--hx-input-bg);
    --bg-option-hover: var(--hx-gray-850);
    --text-main: var(--hx-gray-50);
    --text-muted: var(--hx-gray-400);
    --border-color: var(--hx-gray-800);
    --progress-bar-bg: var(--hx-gray-800);
    --image-placeholder: var(--hx-gray-800);
    --tint-selected: rgba(45, 101, 254, 0.10);
    --tint-correct: rgba(34, 197, 94, 0.10);
    --tint-incorrect: rgba(239, 68, 68, 0.10);
    --shadow-selected: rgba(45, 101, 254, 0.05);
    --shadow-correct: rgba(34, 197, 94, 0.05);
    --shadow-incorrect: rgba(239, 68, 68, 0.05);
}

.quiz-container .quiz-card {
    background: var(--bg-card);
    border-radius: 1rem;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    margin-bottom: 2rem;
    transition: background 0.3s, box-shadow 0.3s;
    border: 1px solid var(--border-color);
}

.quiz-container .quiz-header {
    background: var(--bg-header);
    padding-block: 1.5rem 1rem;
    padding-inline: 2rem;
}

.quiz-container .question-title {
    font-weight: 700;
    color: var(--text-main);
    font-size: var(--hx-fs-title-lg);
    line-height: var(--hx-lh-title-lg);
    margin-bottom: 0.5rem;
    text-align: start;
}

.quiz-container .quiz-body {
    padding: 0 2rem 2rem 2rem;
}

@media (max-width: 768px) {
    .quiz-container .quiz-header {
        padding-block: 1rem;
        padding-inline: 1rem;
    }

    .quiz-container .quiz-body {
        padding: 0 1rem 1rem 1rem;
    }
}

.quiz-container .section-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-muted);
    margin-bottom: 1rem;
    font-weight: 700;
    border-inline-start: 3px solid var(--primary-color);
    padding-inline-start: 10px;
    text-align: start;
}

.quiz-container .option-card {
    position: relative;
    cursor: pointer;
    border: 1px solid var(--border-color);
    border-radius: 0.75rem;
    overflow: hidden;
    transition: all 0.2s ease;
    user-select: none;
    background-color: var(--bg-option);
    text-align: start;
}

.quiz-container .option-card.disabled {
    cursor: default;
}

.quiz-container .option-card:not(.disabled):not(.correct):not(.incorrect):hover {
    border-color: var(--hx-gray-400);
    background-color: var(--bg-option-hover);
}

.quiz-container .option-card.selected {
    border-color: var(--primary-color);
    z-index: 2;
}

.quiz-container .option-card.correct {
    border-color: var(--success-color) !important;
    background-color: var(--tint-correct) !important;
    box-shadow: 0 4px 12px var(--shadow-correct);
}

.quiz-container .option-card.incorrect {
    border-color: var(--error-color) !important;
    background-color: var(--tint-incorrect) !important;
    box-shadow: 0 4px 12px var(--shadow-incorrect);
}

.quiz-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    vertical-align: middle;
    background-color: var(--border-color);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.quiz-icon.icon-circle {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3C/svg%3E");
}

.quiz-icon.icon-check {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z'/%3E%3C/svg%3E");
}

.quiz-icon.icon-cross {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.647 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.647 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293z'/%3E%3C/svg%3E");
}

.quiz-container .option-card.selected .quiz-icon {
    background-color: var(--primary-color);
}

.quiz-container .option-card.correct .quiz-icon {
    background-color: var(--success-color) !important;
}

.quiz-container .option-card.incorrect .quiz-icon {
    background-color: var(--error-color) !important;
}

.quiz-container .option-card.type-text {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    margin-bottom: 0.75rem;
    min-height: 52px;
}

.quiz-container .option-card.type-text .content-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 5;
    width: 100%;
    justify-content: space-between;
    padding: 0.75rem 1.25rem;
}

.quiz-container .text-label {
    font-weight: 600;
    color: var(--text-main);
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
}

.quiz-container .option-card.selected .text-label {
    color: var(--primary-color);
}

.quiz-container .option-card.correct .text-label {
    color: var(--success-color);
}

.quiz-container .option-card.incorrect .text-label {
    color: var(--error-color);
}

.quiz-container .options-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.quiz-container .options-grid.grid-cols-3 {
    grid-template-columns: repeat(3, 1fr) !important;
}

.quiz-container .options-grid.grid-cols-2 {
    grid-template-columns: repeat(2, 1fr) !important;
}

.quiz-container .option-card.type-image {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid var(--border-color);
    border-radius: 0.75rem;
    background: var(--bg-card);
    overflow: hidden;
    transition: border-color 0.2s;
}

.quiz-container .option-card.type-image:hover {
    border-color: var(--hx-gray-400);
}

.quiz-container .option-card.type-image.selected {
    border-color: var(--primary-color);
}

.quiz-container .option-card.type-image.correct {
    border-color: var(--success-color);
}

.quiz-container .option-card.type-image.incorrect {
    border-color: var(--error-color);
}

.quiz-container .image-area {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: var(--image-placeholder);
    border-bottom: 1px solid var(--border-color);
}

.quiz-container .poll-mode .option-card.type-image .image-area::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40px;
    background: rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(5px);
    z-index: 4;
    pointer-events: none;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.quiz-container .quiz-question.voted .option-card.type-image .image-area::before {
    opacity: 1;
}

.quiz-container .bg-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.quiz-container .option-card:hover .bg-image {
    transform: scale(1.05);
}

.quiz-container .image-label-area {
    padding: 1rem 0.5rem;
    text-align: center;
    background: var(--bg-option);
    font-weight: 600;
    color: var(--text-main);
    transition: all 0.3s;
    z-index: 5;
    position: relative;
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
}

.quiz-container .option-card.type-image .check-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0);
    transition: background 0.3s;
    z-index: 10;
}

.quiz-container .option-card.type-image.selected .check-overlay {
    background: rgba(0, 0, 0, 0.15);
}

.quiz-container .option-card.type-image.correct .check-overlay {
    background: rgba(34, 197, 94, 0.15);
}

.quiz-container .option-card.type-image.incorrect .check-overlay {
    background: rgba(239, 68, 68, 0.15);
}

.quiz-container .option-card.type-image .quiz-icon {
    width: 48px;
    height: 48px;
    background-color: #fff !important;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border-radius: 50%;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));
    margin-bottom: 40px;
    z-index: 15;
}

.quiz-container .option-card.type-image.selected .quiz-icon,
.quiz-container .option-card.type-image.correct .quiz-icon,
.quiz-container .option-card.type-image.incorrect .quiz-icon {
    opacity: 1;
    transform: scale(1);
}

.quiz-container .option-card.type-image.selected .image-label-area {
    color: var(--primary-color);
}

.quiz-container .option-card.type-image.correct .image-label-area {
    color: var(--success-color);
}

.quiz-container .option-card.type-image.incorrect .image-label-area {
    color: var(--error-color);
}

.quiz-container .progress-bar {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0%;
    background-color: var(--progress-bar-bg);
    opacity: 0;
    transition: width 1s ease;
    z-index: 1;
}

.quiz-container .poll-mode .type-text .progress-bar,
.quiz-container .quiz-question.voted .type-text .progress-bar {
    opacity: 0.5;
}

.quiz-container .poll-mode .option-card.type-text.selected .progress-bar {
    background-color: var(--primary-color);
    opacity: 0.2;
}

.quiz-container .option-card.type-image .progress-bar {
    top: auto;
    bottom: 0;
    left: 0;
    height: 40px;
    width: 0%;
    background: linear-gradient(90deg, var(--primary-color), #60a5fa);
    opacity: 0.85 !important;
    z-index: 5;
    border-radius: 0;
    box-shadow: 2px 0 10px rgba(45, 101, 254, 0.4);
}

.quiz-container .percent-text {
    font-weight: 700;
    font-size: 0.875rem;
    opacity: 0;
    transition: opacity 0.3s;
    color: var(--text-main);
    z-index: 10;
}

.quiz-container .poll-mode.voted .percent-text,
.quiz-container .quiz-question.voted .percent-text {
    opacity: 1;
}

.quiz-container .type-text .percent-text {
    position: relative;
    margin-left: auto;
    margin-right: 12px;
}

.quiz-container .type-image .percent-text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    font-size: 1rem;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
    letter-spacing: 0.5px;
    z-index: 20;
    pointer-events: none;
}

.quiz-container .alert {
    border: none;
    border-left: 5px solid transparent;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    margin-top: 1.5rem;
    display: none;
    align-items: center;
    justify-content: flex-start;
    box-shadow: none;
    animation: slideUpFade 0.4s ease-out;
}

@keyframes slideUpFade {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.quiz-container .alert h4 {
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    font-weight: 700;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.quiz-container .alert-success {
    background-color: var(--tint-correct);
    border-left-color: var(--success-color);
    color: var(--success-color);
}

.quiz-container .alert-danger {
    background-color: var(--tint-incorrect);
    border-left-color: var(--error-color);
    color: var(--error-color);
}

[data-bs-theme="dark"] .quiz-container .alert-success {
    background-color: rgba(34, 197, 94, 0.15);
}

[data-bs-theme="dark"] .quiz-container .alert-danger {
    background-color: rgba(239, 68, 68, 0.15);
}

@media (max-width: 768px) {
    .quiz-container .options-grid.grid-cols-3 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 576px) {
    .quiz-container .options-grid {
        gap: 0.75rem;
    }

    .quiz-container .options-grid.grid-cols-3,
    .quiz-container .options-grid.grid-cols-2 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.75rem !important;
    }
}

.quiz-result-card {
    background: var(--bg-card);
    border-radius: 1rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
    border: 1px solid var(--border-color);
    margin-top: 2rem;
    overflow: hidden;
    animation: slideUpFade 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
}

.quiz-result-card .result-content-pad {
    padding: 2.5rem 2rem;
}

.quiz-result-card .result-stats-row {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.quiz-result-card .stat-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.75rem 1.25rem;
    border-radius: 50rem;
    font-weight: 700;
    font-size: 1rem;
    border: 1px solid transparent;
    white-space: nowrap;
    gap: 0.5rem;
}

.quiz-result-card .stat-pill.correct {
    background-color: var(--tint-correct);
    border-color: rgba(34, 197, 94, 0.2);
    color: var(--success-color);
}

.quiz-result-card .stat-pill.wrong {
    background-color: var(--tint-incorrect);
    border-color: rgba(239, 68, 68, 0.2);
    color: var(--error-color);
}

.quiz-result-card .stat-pill svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.quiz-result-card .stat-text {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.quiz-result-card .result-title {
    font-size: var(--hx-fs-title-4xl);
    line-height: var(--hx-lh-title-4xl);
    font-weight: 800;
    color: var(--text-main);
    margin-bottom: 1.5rem;
    text-align: center;
}

.quiz-result-card .result-image-wrapper {
    border-radius: 0.375rem;
    overflow: hidden;
    margin-bottom: 1.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
}

.quiz-result-card .result-image-full {
    width: 100%;
    height: auto;
    display: block;

}

.quiz-result-card .result-description {
    font-size: var(--hx-fs-base);
    line-height: var(--hx-lh-base);
    color: var(--text-main);
    opacity: 0.9;
    margin-bottom: 2rem;
    text-align: center;
}

@media (max-width: 576px) {
    .quiz-result-card .result-content-pad {
        padding: 1.5rem;
    }

    .quiz-result-card .result-stats-row {
        gap: 0.75rem;
    }

    .quiz-result-card .stat-pill {
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
    }
}

/* ==========================================================================
   Forms
   ========================================================================== */

/* Source : assets/css/components/forms.css */
.form {
  display: grid;
  gap: var(--space-md);
}

.form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}

.field {
  display: grid;
  gap: var(--space-3xs);
}

.field input,
.field textarea,
.field select {
  width: 100%;
  min-height: var(--field-height);
  padding: 13px var(--space-sm);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-none);
  background: var(--color-base-light);
  outline: 0;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.field textarea {
  min-height: 150px;
  resize: vertical;
}

.field input:focus,
.field textarea:focus,
.field select:focus {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-focus);
}

.field [aria-invalid="true"] {
  border-color: var(--color-error)!important;
}

.field__error {
  color: var(--color-error)!important;

}

.field__hint {
  color: var(--color-text-soft)!important;

}

.field--checkbox label {
  display: flex;
  gap: 12px;
  align-items: flex-start;

}

.field--checkbox input {
  width: 20px;
  min-height: 20px;
  margin-top: 3px;
  padding: 0;
  flex: 0 0 20px;
}

.antispam-field {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.form-status {
  padding: var(--space-sm) 18px;
  border: var(--border-width) solid var(--color-border);

}

.form-status.is-success {
  border-color: var(--color-success);
  color: var(--color-success);
}

.form-status.is-error {
  border-color: var(--color-error);
  color: var(--color-error);
}

.form-status.is-loading {
  border-color: var(--color-primary);
}

.form[aria-busy="true"] .button {
  cursor: wait;
  opacity: 0.72;
}

/* Source : assets/css/components/accordion.css */
.accordion {
  border-top: var(--border-width) solid var(--color-border);
}

.accordion__item {
  border-bottom: var(--border-width) solid var(--color-border);
}

.accordion__button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: var(--space-md) 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.accordion__symbol {
  color: var(--color-primary-hover);

}

.accordion__content {
  max-width: 840px;
  padding: 0 0 var(--space-lg);
  color: var(--color-text-soft);
}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer {
  --footer-shift: 0px;
  position: relative;
  z-index: 2;
  margin-top: 0;
  overflow: hidden;
  padding-top: 0;
  background: var(--color-ink-footer);
  color: var(--color-footer-text);
  isolation: isolate;
}


.site-footer__background {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  height: 520px;
  overflow: hidden;
  pointer-events: none;
}

.site-footer__background::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, var(--color-footer-image-deep) 0%, var(--color-footer-image-middle) 54%, var(--color-footer-image-end) 100%),
    linear-gradient(to bottom, var(--color-footer-image-fade-start) 0%, var(--color-footer-image-fade-end) 58%, var(--color-ink-footer) 100%);
  content: "";
}

.site-footer__background > .media-picture {
  position: absolute;
  inset: -36px 0;
}

.site-footer__background-texture {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 24% 32%, var(--color-footer-glow), transparent 34%),
    linear-gradient(132deg, var(--color-ink-raised), var(--color-ink-deep));
}

.site-footer__background-image {
  width: 100%;
  height: calc(100% + 72px);
  object-fit: cover;
  object-position: center 52%;
  opacity: 0.76;
  transform: translate3d(0, var(--footer-shift), 0) scale(1.04);
  transition: filter 600ms ease;
}

.site-footer__background-line {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, transparent 10%, var(--color-footer-rule-line) 48%, transparent 90%);
}

.site-footer__background-line:nth-of-type(1) { left: 24%; }
.site-footer__background-line:nth-of-type(2) { left: 50%; }
.site-footer__background-line:nth-of-type(3) { left: 76%; }

.site-footer__opening {
  position: relative;
  z-index: 4;
  display: flex;
  min-height: 0;
  justify-content: flex-start;
  flex-direction: column;
  padding-top: var(--home-rhythm-section-compact);
  padding-bottom: var(--home-rhythm-group);
}

.site-footer__eyebrow {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 30px;
  color: var(--color-primary);

}

.site-footer__eyebrow::before {
  width: 46px;
  height: 1px;
  background: currentColor;
  content: "";
}

.site-footer__title {
  max-width: 1040px;
  color: var(--color-white);

  text-wrap: balance;
}

.site-footer__intro {
  max-width: 650px;
  margin-top: 32px;
  color: var(--color-footer-link);

}

.site-footer__journeys {
  position: relative;
  z-index: 4;
  border-top: 1px solid var(--color-footer-rule-strong);
  border-bottom: 1px solid var(--color-footer-rule-soft);
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

.site-footer__journey {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  border: 1px solid var(--color-footer-rule-soft);
  border-radius: 0px;
  box-shadow: none;
  color: var(--color-white);
  isolation: isolate;
}

.site-footer__journey > .media-picture,
.site-footer__journey > .site-footer__journey-image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
}

.site-footer__journey-image {
  width: 100%;
  height: 104%;
  object-fit: cover;
  filter: grayscale(0.36) saturate(0.72);
  transform: translateY(-2%) scale(1.01);
  transition: transform 700ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.site-footer__journey-texture {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    radial-gradient(circle at 72% 26%, var(--color-footer-glow), transparent 34%),
    linear-gradient(145deg, var(--color-ink-raised), var(--color-ink-deep));
}

.site-footer__journey--textural:nth-child(2) .site-footer__journey-texture {
  background:
    radial-gradient(circle at 30% 68%, var(--color-footer-haze), transparent 30%),
    linear-gradient(115deg, var(--color-ink-soft), var(--color-night-deep));
}

.site-footer__journey--textural:nth-child(3) .site-footer__journey-texture {
  background:
    radial-gradient(circle at 76% 62%, var(--color-footer-glow), transparent 36%),
    linear-gradient(160deg, var(--color-night-deep), var(--color-ink-raised));
}

.site-footer__journey-shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(to top, var(--color-footer-journey-deep) 0%, var(--color-footer-journey-middle) 58%, var(--color-footer-journey-top) 100%),
    linear-gradient(90deg, var(--color-footer-journey-side), transparent 76%);
  transition: background 600ms ease;
}

.site-footer__journey-content {
  position: relative;
  z-index: 1;
  width: 100%;
  flex: 1 1 auto;
  justify-content: flex-end;
  padding: var(--space-4);
}

.site-footer__journey-number {
  color: var(--color-primary);

}

.site-footer__journey-title {
  max-width: 320px;
  min-height: calc(var(--line-height-h3) * 2);
  margin-top: var(--space-2);
  margin-bottom: 0px;

}

.site-footer__journey-description {
  max-width: 320px;
  min-height: calc(var(--line-height-interface) * 3);
  margin-top: var(--space-3);
  color: var(--color-footer-link);

}

.site-footer__journey-cta {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: auto;
  padding-top: var(--space-4);
  color: var(--color-primary);
}

.site-footer__journey-arrow {
  display: flex;
  flex: 0 0 82px;
  align-items: center;
  justify-content: flex-end;
  color: var(--color-primary);
}

.site-footer__journey-arrow::before {
  width: 100%;
  height: 1px;
  margin-right: 18px;
  background: currentColor;
  content: "";
  opacity: 0.44;
  transform: scaleX(0.22);
  transform-origin: right center;
  transition: transform 420ms ease;
}

.site-footer__journey-arrow svg,
.site-footer__visit svg {
  width: 48px;
  height: 16px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-width: 1.2px;
  transition: transform 300ms ease;
}

.site-footer__journey:hover .site-footer__journey-arrow::before,
.site-footer__journey:focus-visible .site-footer__journey-arrow::before,
.site-footer__journey[aria-current="page"] .site-footer__journey-arrow::before {
  transform: scaleX(1);
}

.site-footer__journey:hover .site-footer__journey-arrow svg,
.site-footer__journey:focus-visible .site-footer__journey-arrow svg {
  transform: translateX(8px);
}

.site-footer__journey:focus,
.site-footer__journey:focus-visible {
  z-index: 2;
  outline: var(--focus-outline-width) solid var(--color-focus-contrast-light) !important;
  outline-offset: 3px;
  box-shadow: var(--shadow-focus-contrast);
}

@media (hover: hover) and (pointer: fine) {
  .site-footer__journey:hover .site-footer__journey-image,
  .site-footer__journey:focus-visible .site-footer__journey-image {
    transform: translateY(-4%) scale(1.015);
  }
}

.site-footer__main {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(220px, 0.85fr) minmax(560px, 2fr) minmax(210px, 0.72fr);
  gap: var(--home-rhythm-xl);
  padding-top: var(--home-rhythm-group);
  padding-bottom: var(--home-rhythm-xl);
}

.site-footer__identity {
  align-self: start;
}

.site-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: var(--color-white);
}

.site-footer__brand-mark {
  display: grid;
  width: 58px;
  height: 68px;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);

  place-items: center;
}

.site-footer__brand strong,
.site-footer__brand small {
  display: block;
}

.site-footer__brand small {
  margin-top: 5px;
  color: var(--color-footer-muted);

}

.site-footer__identity > p {
  max-width: 310px;
  margin-top: 30px;
  color: var(--color-footer-muted);

}

.site-footer__navigation {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 34px;
}

.site-footer__group h3,
.site-footer__visit > p {
  margin-bottom: 20px;
  color: var(--color-primary);
}

.site-footer__group h3::after,
.site-footer__visit > p::after {
  display: block;
  width: 30px;
  height: 1px;
  margin-top: 11px;
  background: currentColor;
  content: "";
}

.site-footer__group ul {
  display: grid;
  gap: 12px;
}

.site-footer__group a {
  color: var(--color-footer-link);
}

.site-footer__group a:hover,
.site-footer__group a:focus-visible,
.site-footer__group a[aria-current="page"] {
  color: var(--color-primary);
}

.site-footer__visit {
  align-self: start;
  border-top: 1px solid var(--color-footer-rule-soft);
  border-bottom: 1px solid var(--color-footer-rule-soft);
  padding: 24px 0;
}

/* Les CTA du footer restent identiques quelle que soit la page courante. */
.site-footer .home-action {
  border-radius: 0;
  box-shadow: var(--shadow-none);
}

.site-footer .home-action:hover{
	color: var(--color-background);
}

.site-footer .home-action--primary,
.site-footer .home-action--secondary {
  min-height: 50px;
  margin-top: 10px;
  padding: 0 16px;
}

.site-footer .home-action--primary {
  border: 1px solid var(--color-primary);
  background: var(--color-primary);
  color: var(--color-background-primary);
}

.site-footer .home-action--primary:hover {
  border-color: var(--color-primary-hover);
  background: var(--color-primary-hover);
  color: var(--color-background-primary);
}

.site-footer .home-action--secondary {
  border: 1px solid var(--color-primary);
  background: transparent;
  color: var(--color-primary);
}

.site-footer .home-action--secondary:hover {
  border-color: var(--color-primary-hover);
  background: var(--color-primary-hover);
  color: var(--color-background-primary);
}

.site-footer .home-action--route .site-footer__journey-arrow {
  transition: transform var(--transition-base);
}

.site-footer .home-action--route:hover .site-footer__journey-arrow,
.site-footer .home-action--route:focus-visible .site-footer__journey-arrow {
  transform: translateX(4px);
}

.site-footer__visit a {
  display: grid;
  grid-template-columns: 1fr 36px;
  gap: 10px;
  min-height: 50px;
  align-items: center;
  color: var(--color-footer-link);

}

.site-footer__visit a + a {
  border-top: 1px solid var(--color-footer-rule-faint);
}

.site-footer__contact-address {
  display: block;
  margin-bottom: 16px;
  color: var(--color-footer-muted);
}

.site-footer__visit > a:not(.home-action) {
  display: flex;
  min-height: 44px;
}

.site-footer__visit a:hover,
.site-footer__visit a:focus-visible,
.site-footer__visit a[aria-current="page"] {
  color: var(--color-primary);
}

/* L'état courant reste accessible sans confondre le CTA et son fond. */
.site-footer .home-action--primary[aria-current="page"] {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-background-primary);
}

.site-footer__visit a:hover svg,
.site-footer__visit a:focus-visible svg {
  transform: translateX(6px);
}

.site-footer__bottom {
  position: relative;
  z-index: 4;
  display: flex;
  min-height: 90px;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  border-top: 1px solid var(--color-footer-rule-soft);
  color: var(--color-footer-muted);

}

.site-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 26px;
}

.site-footer__legal a {
  color: var(--color-footer-link);

}

.site-footer__legal a:hover,
.site-footer__legal a:focus-visible,
.site-footer__legal a[aria-current="page"] {
  color: var(--color-primary);
}

/* Le masquage n’est activé qu’après l’installation de l’observateur JavaScript. */
.site-footer.is-footer-enhanced [data-footer-reveal],
.site-footer.is-footer-enhanced [data-footer-door] {
  opacity: 0;
  transform: translateY(28px);
}

.site-footer.is-footer-enhanced [data-footer-reveal].is-footer-visible,
.site-footer.is-footer-enhanced [data-footer-door].is-footer-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 760ms ease, transform 760ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.site-footer.is-footer-enhanced .site-footer__journey-column:nth-child(2).is-footer-visible {
  transition-delay: 90ms;
}

.site-footer.is-footer-enhanced .site-footer__journey-column:nth-child(3).is-footer-visible {
  transition-delay: 180ms;
}

.back-to-top {
  position: fixed;
  right: var(--space-md);
  bottom: var(--space-md);
  z-index: 800;
  display: grid;
  width: var(--icon-button-size);
  height: var(--icon-button-size);
  border: var(--border-width) solid var(--color-primary);
  background: var(--color-base-dark);
  color: var(--color-primary);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  place-items: center;
  transform: translateY(var(--space-2xs));
  transition: opacity var(--transition-fast), transform var(--transition-fast), background var(--transition-fast);
}

.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.back-to-top:hover,
.back-to-top:focus-visible {
  background: var(--color-primary);
  color: var(--color-base-dark);
}

.back-to-top .fa-arrow-up {
  width: auto;

}

@media (max-width: 1180px) {
  .site-footer__title {
    max-width: 900px;

  }

  .site-footer__journey-content { padding: var(--space-4); }

  .site-footer__main {
    grid-template-columns: 1fr 2fr;
  }

  .site-footer__visit {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 180px 1fr 1fr;
    gap: 24px;
    align-items: center;
  }

  .site-footer__visit > p {
    margin-bottom: 0;
  }

  .site-footer__visit > p::after {
    display: none;
  }

  .site-footer__visit a + a {
    border-top: 0;
  }
}

@media (max-width: 900px) {
  .site-footer {
    margin-top: 0;
    padding-top: 0;
  }

  .site-footer__opening {
    min-height: 0;
    padding-top: var(--home-rhythm-section-compact);
    padding-bottom: var(--home-rhythm-group);
  }

  .site-footer__title {
    max-width: 720px;

  }

  .site-footer__journey {
    min-height: 320px;
  }

  .site-footer__journey-content {
    padding: var(--space-3);
  }

  .site-footer__journey-title {
    max-width: 560px;

  }

  .site-footer__journey-description {
    max-width: 440px;
  }

  .site-footer__main {
    grid-template-columns: 1fr;
    gap: var(--home-rhythm-xl);
  }

  .site-footer__navigation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 34px;
  }

  .site-footer__visit {
    grid-column: auto;
    width: 100%;
    justify-self: stretch;
  }

  .site-footer__bottom {
    min-height: 90px;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
  }
}

@media (max-width: 680px) {
  .site-footer__background {
    height: 520px;
  }

  .site-footer__background-line:nth-of-type(2),
  .site-footer__background-line:nth-of-type(3) {
    display: none;
  }

  .site-footer__opening {
    min-height: 0;
    padding-top: var(--home-rhythm-section-compact);
    padding-bottom: var(--home-rhythm-group);
  }

  .site-footer__eyebrow {
    gap: 12px;
    margin-bottom: 24px;

  }

  .site-footer__eyebrow::before {
    width: 28px;
  }

  .site-footer__title {
    max-width: 540px;

  }

  .site-footer__intro {
    margin-top: 26px;

  }

  .site-footer__journeys {
    padding-top: var(--space-3);
    padding-bottom: var(--space-3);
  }

  .site-footer__journey {
    min-height: 300px;
  }

  .site-footer__journey-content {
    padding: var(--space-4);
  }

  .site-footer__journey-title,
  .site-footer__journey-description {
    min-height: 0px;
  }

  .site-footer__main {
    gap: var(--home-rhythm-xl);
    padding-top: var(--home-rhythm-group);
    padding-bottom: var(--home-rhythm-xl);
  }

  .site-footer__navigation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 20px;
  }

  .site-footer__group a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }

  .site-footer__visit {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 22px 0;
  }

  .site-footer__visit > p {
    margin-bottom: 12px;
  }

  .site-footer__visit > p::after {
    display: block;
  }

  .site-footer__visit a {
    min-height: 58px;

  }

  .site-footer__visit a + a {
    border-top: 1px solid var(--color-footer-rule-faint);
  }

  .site-footer__bottom {
    min-height: 0;
    gap: var(--home-rhythm-md);
    padding: var(--home-rhythm-lg) 0 var(--home-rhythm-section-compact);

  }

  .site-footer__legal {
    gap: 14px 20px;
  }

  .site-footer__legal a {
    min-height: 28px;

  }

  .site-footer__bottom > span {
    max-width: calc(100% - 72px);
  }

  .site-footer .home-action--primary,
  .site-footer .home-action--secondary {
    width: 100%;
    min-height: 52px;
    white-space: normal;
  }
}

@media (max-width: 330px) {
  .site-footer__navigation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer {
    --footer-shift: 0px;
  }

  .site-footer__background-image,
  .site-footer__journey-image,
  .site-footer__journey-arrow::before,
  .site-footer__journey-arrow svg,
  .site-footer__visit svg,
  .site-footer .home-action--route .site-footer__journey-arrow,
  .site-footer.is-footer-enhanced [data-footer-reveal],
  .site-footer.is-footer-enhanced [data-footer-door] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ==========================================================================
   Responsive
   ========================================================================== */

/* Source : assets/css/responsive.css */
@media (max-width: 1320px) {
  .desktop-nav {
    display: none;
  }

  .menu-button {
    display: inline-flex;
  }

  .header-actions {
    margin-left: auto;
  }

}

@media (max-width: 900px) {

  .topbar__list li:not(:first-child),
  .topbar__list--secondary {
    display: none;
  }

  .mobile-panel__groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .no-script-navigation__groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-heading,
  .split,
  .split--wide-media {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .section-heading {
    align-items: start;
  }

  .grid--3,
  .grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero {
    min-height: 650px;
  }

  .hero--inner {
    min-height: 460px;
  }

  .hero__content {
    padding-top: 90px;
    padding-bottom: 84px;
  }

  .hero__index {
    display: none;
  }

  .media-frame {
    min-height: 440px;
  }
}

@media (max-width: 680px) {

  .brand {
    min-width: 0;
  }

  .brand img {
    width: 172px;
  }

  .header-actions .button {
    display: none;
  }

  .mobile-panel__groups {
    grid-template-columns: 1fr;
    gap: var(--space-7);
  }

  .mobile-panel__surface {
    border-left: 0;
  }

  .mobile-panel__cta {
    display: inline-flex;
    width: 100%;
  }

  .no-script-navigation > summary {
    min-width: 48px;
    width: 48px;
    padding: 14px 9px;
    overflow: hidden;
    color: transparent;
  }

  .no-script-navigation[open] > summary {
    color: transparent;
  }

  .no-script-navigation > summary::after {
    width: 12px;
    height: 12px;
    margin-left: 8px;
    color: var(--color-text-inverse);
  }

  .no-script-navigation[open] > summary::after {
    color: var(--color-primary);
  }

  .no-script-navigation__groups {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .grid--2,
  .grid--3,
  .grid--4,
  .form__row {
    grid-template-columns: 1fr;
  }

  .section-heading {
    margin-bottom: 48px;
  }

  .hero {
    min-height: 620px;
  }

  .hero__shade {
    background: linear-gradient(90deg, var(--color-hero-overlay-mobile-start) 0%, var(--color-hero-overlay-mobile-end) 100%);
  }

  .hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .hero__actions .button {
    width: 100%;
  }

  .media-card__image {
    height: 390px;
  }

}

@media (max-width: 420px) {
  .hero__title {

    overflow-wrap: break-word;
  }

  .site-header__inner {
    gap: 12px;
  }

  .brand img {
    width: 156px;
  }

  .menu-button {
    min-width: 88px;
  }
}

/* ==========================================================================
   Animations
   ========================================================================== */

/* Source : assets/css/animations.css */
/*
 * Les contenus sont visibles par défaut. JavaScript applique les états initiaux
 * uniquement après la disponibilité effective de GSAP et de ScrollTrigger.
 */
[data-animate],
[data-reveal],
[data-counter] {
  opacity: 1;
  transform: none;
}

[data-animate="image-mask"] {
  overflow: hidden;
}

[data-animate="image-mask"] > img,
[data-animate="image-mask"] > picture > img {
  transform-origin: center;
}

.is-animating {
  will-change: opacity, transform, clip-path;
}

@media (min-width: 769px) and (pointer: fine) {
  /* La réserve périphérique évite qu’une translation légère découvre le fond du hero. */
  .hero__media[data-parallax] {
    inset: -30px;
    width: calc(100% + 60px);
    height: calc(100% + 60px);
  }
}

.line-reveal {
  overflow: hidden;
}

.line-reveal > span {
  display: block;
}

@keyframes pulse-soft {
  0%,
  100% {
    opacity: 0.45;
  }
  50% {
    opacity: 0.8;
  }
}

.loading-mark {
  animation: pulse-soft var(--transition-pulse) infinite;
}

html[data-experience-suspended="true"] *,
html[data-experience-suspended="true"] *::before,
html[data-experience-suspended="true"] *::after {
  animation-play-state: paused !important;
}

@media (prefers-reduced-motion: reduce) {
  /* Ces priorités neutralisent les animations définies dans tous les modules du site. */
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: var(--transition-reduced-motion) !important;
    animation-iteration-count: 1 !important;
    transition-duration: var(--transition-reduced-motion) !important;
  }

  [data-animate],
  [data-reveal],
  [data-counter],
  [data-parallax] {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    clip-path: none !important;
  }
}

/* ==========================================================================
   Utilitaires
   ========================================================================== */

/* Source : assets/css/pages/home.css */
/* Source : assets/css/pages/home-threshold.css */
/* Le seuil prolonge la ligne du hero et ouvre la lumière sans écran intermédiaire. */
.home-threshold {
  position: relative;
  z-index: 5;
  overflow: hidden;
  margin-top: calc(0px - var(--home-rhythm-overlap));
  padding: var(--home-rhythm-section) 0 var(--home-rhythm-section-compact);
  background:
    radial-gradient(circle at 73% 22%, var(--color-silence-glow), transparent 32%),
    linear-gradient(
      180deg,
      var(--color-background-primary) 0%,
      var(--color-background-secondary) 18%,
      var(--color-background-secondary) 78%,
      var(--color-background-charcoal) 100%
    );
  color: var(--color-text);
}

.home-threshold::before {
  position: absolute;
  top: 70px;
  left: max(var(--gutter), calc((100% - 1300px) / 2));
  width: 72px;
  height: 1px;
  background: var(--color-primary);
  content: "";
  opacity: 0.8;
}

.home-threshold__inner {
  row-gap: var(--home-rhythm-group);
}

.home-threshold__copy {
  max-width: 650px;
}

.home-threshold__copy h2 {
  max-width: 620px;

}

.home-threshold__copy > p {
  margin-top: var(--home-rhythm-lg);
  color: var(--color-text-muted);

}

.home-threshold__rule {
  display: block;
  width: 190px;
  height: 1px;
  margin-top: var(--home-rhythm-xl);
  overflow: hidden;
  background: var(--color-border);
}

.home-threshold__rule span {
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-primary);
  transform: scaleX(0);
  transform-origin: left center;
}

.home-threshold__media {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: var(--color-media-placeholder);
  box-shadow: var(--shadow-none);
}

.home-threshold__media::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 132px;
  background: linear-gradient(180deg, transparent, var(--color-overlay-text-bottom));
  content: "";
  pointer-events: none;
}

.home-threshold__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.74);
}

.home-threshold__media figcaption {
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 18px;
  left: 20px;
  color: var(--color-white);

}

@media (min-width: 992px) {
  .home-threshold__copy {
    align-self: center;
  }
}

@media (min-width: 1200px) {
  .home-threshold__media {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 991px) {
  .home-threshold {
    margin-top: calc(0px - var(--home-rhythm-section-compact));
    padding: var(--home-rhythm-section) 0 var(--home-rhythm-section-compact);
  }

  .home-threshold::before {
    top: 56px;
  }
}

@media (max-width: 680px) {
  .home-threshold {
    margin-top: calc(0px - var(--home-rhythm-group));
    padding: var(--home-rhythm-section-compact) 0 var(--home-rhythm-group);
  }

  .home-threshold__media {
    width: 100%;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
}
/* Source : assets/css/pages/home-model-institutional.css */
/*
 * Modèle 1 — introduction institutionnelle.
 * Le média porte la profondeur tandis que la copie conserve la grille Musea.
 */
.home-page [data-section-model="introduction-institutionnelle"] {
  --home-model-copy-width: 590px;
  --home-model-media-share: 60%;
  position: relative;
  isolation: isolate;
}

.home-page [data-section-model="introduction-institutionnelle"] :where(
  .hero-slide__title,
  .hero-slide__description
) {
  max-width: var(--home-model-copy-width);
}

.home-page [data-section-model="introduction-institutionnelle"] .hero-slide__actions {
  position: relative;
  z-index: 5;
}
/* Source : assets/css/pages/home-model-narrative.css */
/*
 * Modèle 2 — section narrative.
 * Une image forte et un texte bref composent un plan ouvert et asymétrique.
 */
.home-page [data-section-model="narrative"] {
  --home-model-copy-columns: 4;
  --home-model-media-columns: 8;
  position: relative;
  isolation: isolate;
}

.home-page [data-section-model="narrative"] :where(
  .editorial-media__copy,
  .editorial-media__media
) {
  min-width: 0;
  border-radius: 0;
  box-shadow: var(--shadow-none);
}

.home-page [data-section-model="narrative"] :where(
  .editorial-media__copy > p,
  .editorial-media__panel > p
) {
  max-width: var(--container-reading);
}
/* Source : assets/css/pages/home-model-documentary.css */
/*
 * Modèle 3 — section documentaire.
 * Les listes, métadonnées et légendes sont séparées par des règles horizontales.
 */
.home-page [data-section-model="documentaire"] {
  --home-model-index-columns: 3;
  --home-model-media-columns: 6;
  --home-model-copy-columns: 3;
  position: relative;
  color: var(--text-on-light);
  isolation: isolate;
}

.home-page [data-section-model="documentaire"] :where(
  article,
  figure,
  .home-card,
  .trace-visuals
) {
  border-radius: 0;
  box-shadow: var(--shadow-none);
}

.home-page [data-section-model="documentaire"] :where(
  figcaption,
  dt,
  dd,
  .meta
) {
  max-width: var(--container-reading);
}
/* Source : assets/css/pages/home-model-immersive.css */
/*
 * Modèle 4 — section immersive.
 * L’image forme la scène ; le texte reste intégré sans carte ni cadre ajouté.
 */
.home-page [data-section-model="immersive"] {
  --home-model-scene-height: 600px;
  position: relative;
  min-height: var(--home-model-scene-height);
  overflow: hidden;
  color: var(--text-on-dark);
  isolation: isolate;
}

.home-page [data-section-model="immersive"] :where(
  .editorial-media__panel,
  .editorial-media__copy
) {
  border: 0;
  background: transparent;
  box-shadow: var(--shadow-none);
}

.home-page [data-section-model="immersive"] :where(
  .editorial-media__image,
  picture,
  img
) {
  border-radius: 0;
}
/* Source : assets/css/pages/home-model-transmission.css */
/*
 * Modèle 5 — section de transmission.
 * Le chapitre relie une mission forte, les ressources puis les actions suivantes.
 */
.home-page [data-section-model="transmission"] {
  --home-model-resource-row: 170px;
  position: relative;
  background: var(--surface-paper);
  isolation: isolate;
}

.home-page [data-section-model="transmission"] :where(
  .home-transmission,
  .home-next
) {
  position: relative;
}

.home-page [data-section-model="transmission"] [data-section-role="ressources"] {
  background: var(--surface-paper);
}

.home-page [data-section-model="transmission"] [data-section-role="continuite"] {
  margin-top: 0;
}

.home-page [data-section-model="transmission"] :where(
  .home-transmission__entry,
  .home-next__doors a
) {
  border-radius: 0;
  box-shadow: var(--shadow-none);
}
/* Source : assets/css/pages/home-light-editorial.css */
/*
 * Grammaire commune des chapitres clairs.
 * Elle reprend les codes du catalogue patrimonial sans transformer le contenu
 * en interface commerciale : marge de chapitre, règles fines et cadres mats.
 */
.home-page .surface--light {
  --editorial-page: var(--surface-ivory);
  --editorial-plate: var(--surface-paper);
  --editorial-mat: var(--surface-stone);
  --editorial-rule: var(--border-on-light);
  --editorial-rule-strong: var(--border-on-light-strong);
  --editorial-accent: var(--accent-on-light);
  isolation: isolate;
}

.home-page .surface--light > .container {
  position: relative;
  z-index: 1;
}

.home-page .surface--light :where(h2, h3) {
  color: var(--text-on-light);
}

.home-page .surface--light :where(.eyebrow, .meta, .home-card__meta, .trace-visual__type) {
  color: var(--accent-on-light);
}

.home-page .surface--light :where(p, li, dd, figcaption) {
  color:var(--text-on-light-secondary);
}
.home-page .surface--light :where(figcaption) {
    color: var(--surface-paper);
}
.home-page .surface--light .text-link {
  padding-bottom: var(--space-1);
  border-bottom: 1px solid var(--accent-on-light);
  color: var(--accent-on-light);
  text-decoration: none;
}

.home-page .surface--light .text-link:hover,
.home-page .surface--light .text-link:focus-visible {
  border-bottom-color: var(--accent-on-light-hover);
  color: var(--accent-on-light-hover);
}

/*
 * Les cartes éventuellement présentes restent des plans éditoriaux ouverts :
 * angles droits, surface lisible et aucune élévation artificielle.
 */
.home-page .surface--light .home-card {
  border-radius: 0;
  box-shadow: var(--shadow-light-surface);
}

.home-page .surface--light a.home-card--link:hover,
.home-page .surface--light a.home-card--link:focus-visible {
  box-shadow: var(--shadow-light-surface);
}
/* Source : assets/css/pages/home-understanding.css */
/* Comprendre : une lecture en étapes, sticky sur grand écran et linéaire sur mobile. */
/* Le body de l’accueil ne doit pas devenir un faux conteneur de défilement : les trois sticky ciblés suivent le viewport. */
body.home-page {
	overflow: visible;
}

.home-understanding {
	--story-step-min-height: 340px;
	position: relative;
	overflow: visible;
	padding: var(--home-rhythm-section) 0 var(--home-rhythm-section-compact);
}

.home-understanding__intro {
	position: relative;
	align-items: start;
	padding-bottom: 0;
}

.home-understanding__intro > p:last-child {
	color: var(--text-on-light-secondary);
}

.home-understanding__layout {
	align-items: start;
	margin-top: var(--home-rhythm-group);
}

.home-understanding__steps {
	min-width: 0;
}

.home-understanding__steps-track {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.home-understanding__step {
	position: relative;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	grid-template-rows: auto auto auto;
	gap: var(--home-rhythm-xs) var(--home-rhythm-lg);
	align-content: center;
	min-height: 0;
	padding: var(--home-rhythm-lg) 44px var(--home-rhythm-lg) 0;
	border-top: 1px solid var(--editorial-rule);
	background: transparent;
	color: var(--text-on-light-secondary);
	transition: color var(--transition-base), padding var(--transition-base);
}

.home-understanding__step::before {
	position: absolute;
	top: 50%;
	right: 4px;
	width: 10px;
	height: 10px;
	border: 1px solid var(--editorial-accent);
	border-radius: 50%;
	content: "";
	opacity: 0.45;
	transform: translateY(-50%) scale(0.72);
	transition: background-color var(--transition-base), opacity var(--transition-base), transform var(--transition-base);
}

.home-understanding__step.is-active,
.home-understanding__step:focus-within {
	background: transparent;
	color: var(--text-on-light);
}

.home-understanding__step.is-active::before,
.home-understanding__step:focus-within::before {
	background: var(--editorial-accent);
	opacity: 1;
	transform: translateY(-50%) scale(1);
}

.home-understanding__step > span {
	grid-column: 1;
	grid-row: 1 / span 3;
	color: var(--color-primary);

}

.home-understanding__step .meta {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	color: var(--color-primary);

}

.home-understanding__step h3 {
	grid-column: 2;
	grid-row: 2;
	margin-top: var(--space-3);
}

.home-understanding__step h3::after {
	display: block;
	width: var(--space-7);
	height: 1px;
	margin-top: var(--home-rhythm-md);
	background: var(--editorial-accent);
	content: "";
}

.home-understanding__step > p:last-of-type {
	grid-column: 2;
	grid-row: 3;
	max-width: 470px;
	margin-top: var(--home-rhythm-sm);
	color: var(--text-on-light-secondary);
}

.home-understanding__step-image {
	display: none;
}

.home-understanding__step > picture {
	display: none;
}

.home-understanding__steps > .text-link {
	justify-self: start;
	margin-top: var(--home-rhythm-lg);
}

.home-understanding__stage-column,
.home-understanding__stage-sticky {
	min-width: 0;
}

.home-understanding__stage-column {
	align-self: stretch;
}

.home-understanding__stage-sticky {
	position: sticky;
	width: 100%;
}

.home-understanding__stage {
	position: relative;
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	min-height: 0;
	overflow: hidden;
	padding: var(--space-3);
	/* Le filet faible appartient au média documentaire, pas au grand conteneur. */
	border: 1px solid var(--editorial-rule);
	aspect-ratio: 4 / 3;
	background: var(--editorial-plate);
}

.home-understanding__stage > picture {
	display: block;
	min-height: 0;
	overflow: hidden;
}

.home-understanding__stage::after {
	position: absolute;
	top: var(--space-3);
	right: var(--space-3);
	bottom: 56px;
	left: var(--space-3);
	background: linear-gradient(180deg, transparent 58%, var(--color-home-depth-strong));
	content: "";
	pointer-events: none;
}

.home-understanding__stage img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.72);
	transition: opacity var(--transition-base), transform var(--transition-slow);
}

.home-understanding__stage.is-changing img {
	opacity: 0.3;
	transform: scale(1.025);
	will-change: opacity, transform;
}

.home-understanding__stage figcaption {
	position: static;
	z-index: auto;
	max-width: 520px;
	padding: var(--space-3) var(--space-1) 0;
	color: var(--text-on-light-secondary);
}

.home-understanding__stage-number {
	position: absolute;
	top: var(--space-6);
	right: var(--space-6);
	z-index: 2;
	padding: var(--space-2) var(--space-3);
	background: var(--color-panel-overlay-dark);
	color: var(--color-text-inverse);
}

@media (min-width: 992px) {
	.home-understanding__intro > .eyebrow {
		padding-top: var(--home-rhythm-lg);
		padding-right: var(--space-6);
	}

	.home-understanding__intro > h2 {
		padding-top: var(--home-rhythm-lg);
	}

	.home-understanding__intro > p:last-child {
		padding-top: var(--home-rhythm-lg);
	}

	/* Le wrapper porte le sticky afin que le média conserve son propre cadre. */
	.home-understanding__stage-sticky {
		top: calc(var(--header-height) + var(--home-rhythm-lg));
	}

	/* Chaque étape garde un seuil lisible sans occuper artificiellement un écran. */
	.home-understanding__step {
		min-height: var(--story-step-min-height);
	}

	.home-understanding__step:last-child {
		border-bottom: 1px solid var(--editorial-rule);
	}
}

@media (max-width: 991px) {
	.home-understanding {
		padding: var(--home-rhythm-section) 0 var(--home-rhythm-section-compact);
	}

	.home-understanding__intro {
		row-gap: var(--home-rhythm-lg);
		padding-bottom: 0;
	}

	.home-understanding__layout {
		margin-top: var(--home-rhythm-xl);
	}

	/* Sous le breakpoint desktop, chaque étape retrouve son image dans le flux. */
	.home-page .home-understanding .home-understanding__layout.editorial-media--text-media > .home-understanding__steps {
		display: block;
	}

	.home-understanding__stage-column {
		display: none;
	}

	.home-understanding__step {
		min-height: 0;
		padding: var(--home-rhythm-xl) 34px var(--home-rhythm-xl) 0;
		transform: none;
	}

	.home-understanding__step.is-active,
	.home-understanding__step:focus-within {
		padding-inline-start: 0;
	}

	.home-understanding__step-image {
		display: block;
		width: 100%;
		height: auto;
		margin-top: var(--home-rhythm-lg);
		aspect-ratio: 16 / 9;
		object-fit: cover;
		filter: saturate(0.74);
	}

	.home-understanding__step > picture,
	.home-understanding__step > .home-understanding__step-image {
		display: block;
		grid-column: 1 / -1;
		grid-row: auto;
		width: 100%;
	}
}

@media (max-width: 680px) {
	.home-understanding {
		padding: var(--home-rhythm-section-compact) 0 var(--home-rhythm-group);
	}

	.home-understanding__layout {
		margin-top: var(--home-rhythm-lg);
	}

	.home-page .home-understanding .home-understanding__layout.editorial-media--text-media > .home-understanding__steps {
		display: block;
	}

	.home-understanding__step {
		grid-template-columns: 28px minmax(0, 1fr);
		column-gap: 10px;
		align-content: start;
		padding: var(--home-rhythm-xl) 28px var(--home-rhythm-xl) 0;
	}

	.home-understanding__step.is-active,
	.home-understanding__step:focus-within {
		padding-inline-start: 0;
	}

	.home-understanding__steps > .home-action {
		width: 100%;
		margin-top: var(--home-rhythm-lg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-understanding__step::before,
	.home-understanding__stage img {
		transition: none;
	}

	.home-understanding__stage.is-changing img {
		opacity: 1;
		transform: none;
	}
}
/* Source : assets/css/pages/home-panorama.css */
/* Le panorama est un passage spatial : la scène suivante commence avant sa disparition. */
.home-panorama {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 600px;
  overflow: hidden;
  aspect-ratio: auto;
  background: var(--color-ink-deep);
  color: var(--color-text-inverse);
}

.home-panorama::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, var(--color-panorama-shade-top), transparent 30%),
    linear-gradient(180deg, transparent 48%, var(--color-panorama-shade-bottom));
  content: "";
  pointer-events: none;
}

.home-panorama > picture,
.home-panorama > img {
  position: absolute;
  inset: -40px 0;
  width: 100%;
  height: calc(100% + 80px);
}

.home-panorama > picture img,
.home-panorama > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.72);
}

.home-panorama__copy {
  position: relative;
  z-index: 2;
  min-height: 600px;
  padding-top: var(--home-rhythm-section);
  padding-bottom: var(--home-rhythm-section);
}

.home-panorama__copy h2 {
  max-width: 900px;
  margin-top: var(--home-rhythm-lg);

}

.home-panorama__copy nav {
  display: flex;
  gap: var(--home-rhythm-lg);
  margin-top: var(--home-rhythm-lg);
}

@media (max-width: 900px) {
  .home-panorama,
  .home-panorama__copy {
    min-height: 600px;
  }
}

@media (max-width: 680px) {
  .home-panorama,
  .home-panorama__copy {
    min-height: 520px;
  }

  .home-panorama__copy {
    padding-top: var(--home-rhythm-section-compact);
    padding-bottom: var(--home-rhythm-section-compact);
  }

  .home-panorama__copy nav {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--home-rhythm-md);
  }
}
/* Source : assets/css/pages/home-voices.css */
/* Les voix : une écoute sobre, documentée et sans lecture automatique. */
.home-voices {
  position: relative;
  z-index: 3;
  margin-top: 0;
  padding: var(--home-rhythm-section) 0 var(--home-rhythm-section-compact);
  background: linear-gradient(
    180deg,
    var(--color-background-secondary) 0%,
    var(--color-background-secondary) 72%,
    var(--color-background-mineral) 100%
  );
  color: var(--color-text-inverse);
}

.home-voices__heading {
  row-gap: var(--home-rhythm-xl);
}

.home-voices__heading h2 {
  margin-top: var(--home-rhythm-lg);
}

.home-voices__heading > p {
  color: var(--color-home-copy);
}

.home-voices__layout {
  margin-top: var(--home-rhythm-group);
}

.home-voices__panel[hidden] {
  display: none;
}

.home-voices__testimony,
.home-voices__aside {
  min-width: 0;
}

.home-page .home-voices .home-voices__testimony.home-card,
.home-page .home-voices .home-voices__aside.home-card {
  height: auto;
  align-self: stretch;
  border: 1px solid var(--color-border-dark-default);
  background: var(--color-ink-raised);
  box-shadow: var(--shadow-none);
}

.home-voices__testimony {
  display: flex;
  flex-direction: column;
  margin-top: 0;
  padding: 32px;
}

.home-voices__index {
  margin: 0;
  color: var(--color-primary);
  font-variant-numeric: tabular-nums;
}

.home-voices__type {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: baseline;
  margin-top: 26px;
  color: var(--color-card-text);
}

.home-voices__type span,
.home-voices__record-context span,
.home-voices__progress-label {
  color: var(--color-home-copy);
}

.home-voices__type strong {
  color: var(--color-text-inverse);
}

.home-voices__testimony h3 {
  max-width: 620px;
  margin-top: 14px;
  overflow-wrap: anywhere;
}

.home-voices__record-context {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--color-border-translucent);
}

.home-voices__record-context p {
  max-width: 680px;
  margin-top: 6px;
  color: var(--color-card-text);
  overflow-wrap: anywhere;
}

.home-voices__warning {
  margin-top: 24px;
  padding: 18px;
  border: 1px solid var(--color-border-strong);
  background: var(--color-background-secondary);
  color: var(--color-card-text);
}

.home-voices__warning strong {
  color: var(--color-primary);
}

.home-voices__warning p {
  margin-top: 8px;
}

.home-voices__wave {
  display: flex;
  height: 52px;
  gap: 7px;
  align-items: center;
  margin-top: 28px;
}

.home-voices__wave span {
  width: 2px;
  height: 12px;
  background: var(--color-primary);
  opacity: 0.58;
  transform-origin: center;
}

.home-voices__wave span:nth-child(2),
.home-voices__wave span:nth-child(8) {
  height: 22px;
}

.home-voices__wave span:nth-child(3),
.home-voices__wave span:nth-child(7) {
  height: 34px;
}

.home-voices__wave span:nth-child(4),
.home-voices__wave span:nth-child(6) {
  height: 46px;
}

.home-voices__wave span:nth-child(5) {
  height: 52px;
}

.home-voices__wave.is-playing span {
  animation: home-voice-wave 1200ms ease-in-out infinite alternate;
}

.home-voices__wave.is-playing span:nth-child(2n) {
  animation-delay: 160ms;
}

.home-voices__native-audio {
  width: 100%;
  margin-top: 20px;
}

.home-voices__testimony.is-enhanced .home-voices__native-audio {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.home-voices__enhanced-controls {
  display: none;
  flex-direction: column;
  gap: 18px;
  margin-top: 14px;
}

.home-voices__testimony.is-enhanced .home-voices__enhanced-controls {
  display: flex;
}

.home-voices__transport {
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
}

.home-voices__play,
.home-voices__transcript-button,
.home-voices__selectors button {
  min-height: 48px;
  border: 1px solid var(--color-border-strong);
  background: transparent;
  color: var(--color-text-inverse);
  cursor: pointer;
}

.home-voices__play {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 11px 18px;
}

.home-voices__play:hover,
.home-voices__play:focus-visible,
.home-voices__play[aria-pressed="true"],
.home-voices__transcript-button:hover,
.home-voices__transcript-button:focus-visible,
.home-voices__selectors button:hover,
.home-voices__selectors button:focus-visible,
.home-voices__selectors button.is-active {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.home-voices__play:disabled {
  cursor: wait;
  opacity: 0.62;
}

.home-voices__time {
  display: flex;
  gap: 8px;
  margin: 0;
  color: var(--color-card-text);
  font-variant-numeric: tabular-nums;
}

.home-voices__progress-label {
  display: block;
}

.home-voices__progress,
.home-voices__audio-options input[type="range"] {
  width: 100%;
  max-width: 100%;
  margin: 0;
  accent-color: var(--color-primary);
}

.home-voices__progress {
  min-height: 28px;
}

.home-voices__progress:disabled {
  cursor: wait;
  opacity: 0.56;
}

.home-voices__audio-options {
  flex-wrap: wrap;
  gap: 10px 14px;
}

.home-voices__audio-options input[type="range"] {
  flex: 1 1 150px;
}

.home-voices__audio-options select {
  min-height: 44px;
  padding: 8px 34px 8px 12px;
  border: 1px solid var(--color-border-strong);
  background: var(--color-background-secondary);
  color: var(--color-text-inverse);
}

.home-voices__loading,
.home-voices__error,
.home-voices__status {
  max-width: 680px;
  margin-top: 16px;
  color: var(--color-card-text);
}

.home-voices__loading {
  color: var(--color-primary);
}

.home-voices__error {
  color: var(--color-text-inverse);
}

.home-voices__status--empty {
  padding-top: 18px;
  border-top: 1px solid var(--color-border-translucent);
}

.home-voices__transcript-button {
  align-self: flex-start;
  margin-top: 22px;
  padding: 11px 18px;
}

.home-voices__transcript {
  max-width: 680px;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--color-border-translucent);
  color: var(--color-card-text);
}

.home-voices__transcript[hidden] {
  display: none;
}

.home-voices__transcript > * + * {
  margin-top: 14px;
}

.home-voices__aside {
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
}

.home-voices__media {
  position: relative;
  flex: 1 1 auto;
  min-height: 560px;
  overflow: hidden;
  background: var(--color-media-placeholder);
}

.home-voices__media::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 124px;
  background: linear-gradient(180deg, transparent, var(--color-overlay-text-bottom));
  content: "";
  pointer-events: none;
}

.home-voices__media picture,
.home-voices__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.home-voices__media img {
  object-fit: cover;
  filter: grayscale(0.34) saturate(0.72) contrast(1.02);
}

.home-voices__media figcaption {
  position: absolute;
  z-index: 1;
  right: 18px;
  bottom: 16px;
  left: 18px;
  color: var(--color-white);
}

.home-voices__aside > .home-action {
  align-self: flex-start;
  margin: 22px 24px 24px;
}

.home-voices__selectors {
  display: flex;
  max-width: 100%;
  gap: 8px;
  margin-top: var(--home-rhythm-group);
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: thin;
}

.home-voices__selectors button {
  flex: 0 0 auto;
  min-width: 118px;
  padding: 10px 18px;
  border-color: var(--color-border-dark-default);
  border-bottom-width: 2px;
}

.home-voices__selectors button[aria-selected="true"] {
  border-bottom-color: var(--color-primary);
  color: var(--color-primary);
}

.home-voices__empty {
  justify-content: center;
}

.home-voices__empty > p:not(.home-voices__index) {
  max-width: 540px;
  margin-top: 22px;
  color: var(--color-card-text);
}

.home-voices__empty > .home-action {
  align-self: flex-start;
  margin-top: 28px;
}

@keyframes home-voice-wave {
  from { transform: scaleY(0.55); }
  to { transform: scaleY(1); }
}

@media (max-width: 991px) {
  .home-voices {
    margin-top: 0;
    padding: var(--home-rhythm-section) 0 var(--home-rhythm-section-compact);
  }

  .home-voices__heading,
  .home-voices__layout {
    row-gap: var(--home-rhythm-xl);
  }

  .home-voices__media {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 680px) {
  .home-voices {
    padding: var(--home-rhythm-section-compact) 0;
  }

  .home-voices__layout {
    row-gap: var(--home-rhythm-lg);
    margin-top: var(--home-rhythm-lg);
  }

  .home-voices__selectors {
    margin-top: var(--home-rhythm-xl);
    margin-right: -20px;
    padding-right: 20px;
  }

  .home-voices__testimony {
    padding: 26px 22px;
  }

  .home-voices__transport,
  .home-voices__audio-options {
    align-items: stretch;
  }

  .home-voices__play,
  .home-voices__transcript-button,
  .home-voices__empty > .home-action {
    width: 100%;
    justify-content: center;
  }

  .home-voices__audio-options input[type="range"] {
    flex-basis: 100%;
  }

  .home-voices__audio-options select {
    width: 100%;
  }

  .home-voices__aside > .home-action {
    width: calc(100% - 48px);
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-voices__wave.is-playing span {
    animation: none;
    transform: none;
  }
}
/* Source : assets/css/pages/home-traces.css */
/* Le chapitre documentaire repose sur le flux Bootstrap ; le CSS ne crée aucune grande grille parallèle. */
.home-traces.surface--light.surface--stone {
	--section-padding-end: 0px;
	position: relative;
	overflow: visible;
	padding: var(--home-rhythm-section) 0 0;
	color: var(--text-on-light);
}


.home-traces > .container {
	position: relative;
	z-index: 1;
}

.home-traces__header {
	row-gap: 24px;
}

.home-traces__title-group h2 {
	max-width: 820px;
	margin-top: var(--home-rhythm-lg);
}

.home-traces__title-group h2 span {
	display: block;
}

.home-traces__introduction {
	display: flex;
	gap: 24px;
	align-items: flex-end;
	justify-content: space-between;
}

.home-traces__introduction > p:first-child {
	max-width: 470px;
	color: var(--color-text-muted);
}

.home-traces__count {
	display: flex;
	min-width: 98px;
	margin: 0;
	flex-direction: column;
	gap: 5px;
	color: var(--color-primary-hover);
}

.home-traces__count span {
	color: var(--color-text-muted);
}

.home-traces__header-rule {
	display: block;
	width: 120px;
	height: 1px;
	margin-top: 24px;
	background: var(--editorial-rule-strong);
}

.home-traces__header-rule span {
	display: block;
	width: 42px;
	height: 1px;
	background: var(--color-primary);
	transform-origin: left center;
}

.home-traces__experience {
	margin-top: var(--home-rhythm-group);
}

/* L’index reste visible à côté du média et suit exactement les six seuils du récit. */
.trace-index {
	position: sticky;
	top: calc(var(--header-height) + 24px);
	align-self: flex-start;
}

.trace-index ol {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--editorial-rule-strong);
	list-style: none;
}

.trace-index__item {
	position: relative;
	display: flex;
	width: 100%;
	min-height: 76px;
	gap: 14px;
	align-items: flex-start;
	padding: 14px 8px;
	border-bottom: 1px solid var(--editorial-rule);
	color: var(--color-text-muted);
	text-decoration: none;
	transition: color var(--transition-base), background-color var(--transition-base);
}

.trace-index__number {
	min-width: 34px;
	color: var(--color-primary-hover);
}

.trace-index__content {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
	gap: 5px;
}

.trace-index__content strong {
	color: var(--color-text);
}

.trace-index__content small {
	max-width: 230px;
}

.trace-index__progress {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: var(--color-primary);
	opacity: 0;
	transform: scaleX(0);
	transform-origin: left center;
	transition: opacity var(--transition-base), transform var(--transition-base);
}

.trace-index__item:hover,
.trace-index__item:focus-visible,
.trace-index__item.is-active {
	background: color-mix(in srgb, var(--color-primary) 6%, transparent);
	color: var(--color-text);
}

.trace-index__item:focus-visible {
	z-index: 2;
	outline: 2px solid var(--color-primary);
	outline-offset: -2px;
}

.trace-index__item.is-active .trace-index__progress {
	opacity: 1;
	transform: scaleX(1);
}

/* Une seule figure native demeure sticky ; son image n’est jamais remplacée par un rectangle décoratif. */
.trace-stage-column {
	align-self: stretch;
}

.trace-stage {
	position: sticky;
	top: calc(var(--header-height) + 24px);
	margin: 0;
}

.trace-stage .trace-visual__media {
	height: 580px;
}

.trace-stage__caption {
	display: block;
	max-width: 520px;
	margin-top: 14px;
	color: var(--color-text-muted);
}

.trace-visuals {
	position: relative;
	min-width: 0;
	overflow: visible;
	border: 0;
	background: transparent;
}

/* Chaque notice fournit un seuil compact, dimensionné par son contenu et non par le viewport. */
.trace-step {
	display: flex;
	min-height: 480px;
	flex-direction: column;
	justify-content: center;
	padding: 28px 0;
	opacity: 0.64;
	scroll-margin-top: calc(var(--header-height) + 40px);
	transition: opacity var(--transition-base), transform var(--transition-base);
}

/* Les classes éditoriales historiques restent dans le DOM, mais la notice suit ici la colonne Bootstrap 4/12. */
.home-page .home-traces .trace-step {
	display: flex;
	height: auto;
	border: 0;
	background: transparent;
}

/* La notice occupe toute sa colonne Bootstrap : la variante éditoriale ne recrée pas une grille interne. */
.home-page .home-traces .trace-step.editorial-media--media-text.editorial-media--asymmetric {
	display: flex;
}

.home-page .home-traces .trace-step > .trace-visual__body {
	width: 100%;
	grid-column: auto;
}

.trace-step.is-active {
	opacity: 1;
}

.trace-step__media {
	display: none;
}

.home-page .home-traces .trace-step > .trace-step__media {
	display: none;
}

.trace-visual__body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 24px;
	padding: 0;
}

.trace-visual__copy {
	min-width: 0;
}

.trace-visual__type {
	margin: 0;
	color: var(--color-primary-hover);
}

.trace-visual h3 {
	margin-top: 8px;
}

.trace-visual__copy > p:last-child {
	margin-top: 12px;
	color: var(--color-text-muted);
}

.trace-visual__metadata {
	display: flex;
	margin: 0;
	border-top: 1px solid var(--editorial-rule);
	flex-direction: column;
}

.trace-visual__metadata div {
	display: flex;
	gap: 12px;
	align-items: baseline;
	justify-content: space-between;
	padding: 9px 0;
	border-bottom: 1px solid var(--editorial-rule);
}

.trace-visual__metadata dt {
	color: var(--color-text);
}

.trace-visual__metadata dd {
	margin: 0;
	color: var(--color-text-muted);
	text-align: right;
}

.trace-visual .text-link {
	align-self: flex-start;
}

.trace-visual__media {
	position: relative;
	width: 100%;
	overflow: hidden;
	border: 1px solid var(--editorial-rule);
	background: var(--editorial-mat);
}

.trace-visual__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.62) contrast(1.04);
}

.trace-visual__media::after {
	content: none;
}

.trace-visual__media figcaption {
	position: absolute;
	z-index: 2;
	right: 18px;
	bottom: 0;
	left: 0;
	padding: 10px 12px;
	background: var(--color-panel-overlay-dark);
	color: var(--text-on-dark-secondary);
}

.trace-visual__sequence {
	position: absolute;
	z-index: 2;
	top: 18px;
	left: 18px;
	display: flex;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--editorial-rule);
	background: var(--editorial-plate);
	color: var(--accent-on-light);
}

/* L’onde reste une annotation décorative et ne simule aucun média sonore. */
.trace-visual__wave {
	position: absolute;
	z-index: 2;
	right: 20px;
	bottom: 58px;
	left: 20px;
	display: flex;
	height: 34px;
	gap: 7px;
	align-items: center;
	justify-content: center;
	opacity: 0.56;
}

.trace-visual__wave::before {
	position: absolute;
	right: 0;
	left: 0;
	height: 1px;
	background: var(--text-on-light-secondary);
	content: "";
	opacity: 0.42;
}

.trace-visual__wave i {
	position: relative;
	z-index: 1;
	width: 1px;
	height: 8px;
	background: var(--accent-on-light);
}

.trace-visual__wave i:nth-child(2n) {
	height: 15px;
}

.trace-visual__wave i:nth-child(3n) {
	height: 24px;
}

.trace-visual__wave i:nth-child(5n) {
	height: 31px;
}

.no-js .trace-step {
	opacity: 1;
}

@media (min-width: 992px) {
	.trace-index__content small {
		display: none;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.trace-stage .trace-visual__media {
		height: 500px;
	}
}

@media (max-width: 991px) {
	.home-traces__introduction {
		max-width: 760px;
	}

	.home-traces__experience {
		row-gap: 40px;
		margin-top: var(--home-rhythm-xl);
	}

	/* Sur mobile, l’index redevient une liste horizontale non sticky. */
	.trace-index {
		position: static;
		overflow-x: auto;
		padding-bottom: 8px;
		scrollbar-width: thin;
	}

	.trace-index ol {
		display: flex;
		width: max-content;
		min-width: 100%;
	}

	.trace-index li {
		width: 230px;
		flex: 0 0 auto;
	}

	.trace-index__item {
		height: 100%;
		min-height: 82px;
		border-right: 1px solid var(--editorial-rule);
	}

	.trace-index__content small {
		display: none;
	}

	.trace-visuals {
		position: static;
	}

	/* Les six blocs reprennent le flux naturel ; aucune hauteur de viewport n’est conservée. */
	.trace-step,
	.trace-step.is-active {
		min-height: 0;
		padding: 0 0 64px;
		opacity: 1;
	}

	.home-page .home-traces .trace-step {
		display: flex;
		min-height: 0;
	}

	.trace-step__media {
		display: block;
		order: -1;
		margin: 0 0 24px;
		aspect-ratio: 4 / 3;
	}

	.home-page .home-traces .trace-step > .trace-step__media {
		display: block;
	}

	.trace-visual__body {
		gap: 20px;
	}

}

@media (max-width: 767px) {
	.home-traces.surface--light.surface--stone {
		padding-top: var(--home-rhythm-section-compact);
	}

	.home-traces__introduction {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.home-traces__count {
		flex-direction: row;
		gap: 10px;
		align-items: baseline;
	}

	.trace-visual__metadata div {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.trace-visual__metadata dd {
		text-align: left;
	}

}

@media (max-width: 430px) {
	.trace-index li {
		width: 190px;
	}

	.trace-visual__media figcaption {
		right: 12px;
		bottom: 12px;
		left: 12px;
	}

	.trace-visual .text-link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.trace-step,
	.trace-index__item,
	.trace-index__progress {
		transition: none;
	}
}

/* ========================================================================== */
/* Les traces — table de consultation immersive                              */
/* ========================================================================== */

/*
 * Cette couche reste strictement attachée au chapitre documentaire existant.
 * La grille Bootstrap, l’ordre index → média → notice et le contenu PHP ne
 * changent pas : la profondeur provient des surfaces, du rythme et du média.
 */
body[data-page="home"] [data-home-traces] {
	--trace-accent: var(--color-accent-mineral);
	--trace-accent-soft: rgba(117, 86, 54, 0.12);
	--trace-ink: #181712;
	--trace-muted: #676258;
	--trace-rule: rgba(35, 31, 24, 0.16);
	--trace-rule-strong: rgba(35, 31, 24, 0.28);
	--trace-paper: rgba(255, 253, 247, 0.38);
	--trace-paper-active: rgba(255, 253, 247, 0.66);
	--trace-line-progress: 0;
	--trace-cta-progress: 0.28;
	position: relative;
	isolation: isolate;
	padding-top: 76px;
}

/* Les lignes cartographiques sont volontairement ténues et non floutées. */
body[data-page="home"] [data-home-traces]::before {
	position: absolute;
	z-index: 0;
	top: 38px;
	right: 0;
	left: 0;
	height: 720px;
	background-image:
		repeating-radial-gradient(ellipse at 18% 28%, transparent 0, transparent 42px, rgba(94, 77, 49, 0.035) 43px, transparent 44px),
		repeating-radial-gradient(ellipse at 78% 62%, transparent 0, transparent 58px, rgba(94, 77, 49, 0.025) 59px, transparent 60px);
	background-size: 820px 520px, 960px 640px;
	content: "";
	opacity: 0.8;
	pointer-events: none;
}

body[data-page="home"] [data-home-traces] > .container {
	z-index: 2;
}

body[data-page="home"] [data-home-traces] .home-traces__header {
	row-gap: 18px;
}

body[data-page="home"] [data-home-traces] .home-traces__title-group h2 {
	max-width: 780px;
	margin-top: 22px;
}

body[data-page="home"] [data-home-traces] .home-traces__introduction {
	gap: 20px;
	padding-top: 8px;
}

body[data-page="home"] [data-home-traces] .home-traces__header-rule {
	width: 96px;
	margin-top: 12px;
}

/* Un filet horizontal relie le parcours sans créer de cadre autour des colonnes. */
body[data-page="home"] [data-home-traces] .home-traces__experience {
	position: relative;
	margin-top: 48px;
}

body[data-page="home"] [data-home-traces] .home-traces__experience::before {
	position: absolute;
	z-index: 0;
	top: 0;
	right: 12px;
	left: 12px;
	height: 1px;
	background: var(--trace-rule-strong);
	content: "";
	pointer-events: none;
}

body[data-page="home"] [data-home-traces] :where(.trace-index, .trace-stage-column, .trace-visuals) {
	z-index: 1;
	margin-top: 24px;
}

/* Index narratif : chaque filet est local à son entrée et ne domine pas la page. */
body[data-page="home"] [data-home-traces] .trace-index {
	top: calc(var(--header-height) + 18px);
}

body[data-page="home"] [data-home-traces] .trace-index ol {
	border-top-color: var(--trace-rule-strong);
}

body[data-page="home"] [data-home-traces] .trace-index__item {
	--trace-line-progress: 0;
	min-height: 68px;
	gap: 12px;
	padding: 12px 12px 12px 16px;
	border-bottom-color: var(--trace-rule);
	background: transparent;
	color: var(--trace-muted);
	transition: none;
}

body[data-page="home"] [data-home-traces] .trace-index__item::before {
	position: absolute;
	top: 9px;
	bottom: 9px;
	left: 0;
	width: 1px;
	background: var(--trace-accent);
	content: "";
	opacity: calc(0.18 + (var(--trace-line-progress) * 0.82));
	transform: scaleY(var(--trace-line-progress));
	transform-origin: center bottom;
}

body[data-page="home"] [data-home-traces] .trace-index__item::after {
	position: absolute;
	top: 50%;
	left: -2px;
	width: 5px;
	height: 5px;
	border: 1px solid var(--trace-accent);
	background: var(--color-background-secondary);
	content: "";
	opacity: var(--trace-line-progress);
	transform: translateY(-50%);
}

body[data-page="home"] [data-home-traces] .trace-index__item:is(:hover, :focus-visible),
body[data-page="home"] [data-home-traces] .trace-index__item.is-active {
	background: var(--trace-paper-active);
	color: var(--trace-ink);
}

body[data-page="home"] [data-home-traces] .trace-index__item.is-active {
	box-shadow: inset 0 -1px 0 var(--trace-accent-soft);
}

body[data-page="home"] [data-home-traces] .trace-index__number {
	min-width: 32px;
	color: var(--trace-accent);
	transform-origin: left center;
}

body[data-page="home"] [data-home-traces] .trace-index__content {
	gap: 3px;
}

body[data-page="home"] [data-home-traces] .trace-index__content strong {
	color: inherit;
}

body[data-page="home"] [data-home-traces] .trace-index__progress {
	right: auto;
	bottom: -1px;
	left: 16px;
	width: 44px;
	height: 2px;
	background: var(--trace-accent);
	opacity: 1;
	transform: scaleX(0);
	transition: none;
}

/* Le média reste l’unique foyer émotionnel et conserve son sticky natif. */
body[data-page="home"] [data-home-traces] .trace-stage {
	--trace-scroll-scale: 1;
	--trace-media-y: 0px;
	--trace-dust-x: 0px;
	--trace-dust-y: 0px;
	top: calc(var(--header-height) + 18px);
}

body[data-page="home"] [data-home-traces] .trace-stage .trace-visual__media {
	height: 560px;
	background: #22211d;
	transform-origin: center center;
}

body[data-page="home"] [data-home-traces] .trace-stage .trace-visual__media::before {
	position: absolute;
	z-index: 2;
	top: -20px;
	right: -20px;
	bottom: -20px;
	left: -20px;
	background-image:
		radial-gradient(circle at 18px 24px, rgba(255, 243, 213, 0.46) 0, rgba(255, 243, 213, 0.46) 1px, transparent 2px),
		radial-gradient(circle at 78px 66px, rgba(255, 243, 213, 0.26) 0, rgba(255, 243, 213, 0.26) 1px, transparent 2px),
		radial-gradient(circle at 132px 38px, rgba(255, 243, 213, 0.2) 0, rgba(255, 243, 213, 0.2) 1px, transparent 2px);
	background-size: 154px 112px, 186px 138px, 218px 164px;
	content: "";
	opacity: 0.14;
	pointer-events: none;
	transform: translate3d(var(--trace-dust-x), var(--trace-dust-y), 0);
}

body[data-page="home"] [data-home-traces] .trace-stage .trace-visual__media::after {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: rgba(244, 224, 183, 0.38);
	content: "";
	pointer-events: none;
}

body[data-page="home"] [data-home-traces] .trace-stage .trace-visual__media img {
	filter: saturate(0.58) contrast(1.07) brightness(0.96);
	transform: translate3d(0, var(--trace-media-y), 0) scale(var(--trace-scroll-scale));
	transform-origin: center center;
}

body[data-page="home"] [data-home-traces] .trace-stage__caption {
	position: relative;
	max-width: 500px;
	margin-top: 12px;
	padding-left: 18px;
	color: var(--trace-muted);
}

body[data-page="home"] [data-home-traces] .trace-stage__caption::before {
	position: absolute;
	top: 8px;
	left: 0;
	width: 8px;
	height: 1px;
	background: var(--trace-accent);
	content: "";
}

body[data-page="home"] [data-home-traces] .trace-stage .trace-visual__sequence {
	top: 16px;
	left: 16px;
	width: 46px;
	height: 46px;
	border-color: rgba(255, 244, 218, 0.42);
	background: rgba(24, 23, 18, 0.76);
	color: #f4e0b7;
	backdrop-filter: blur(2px);
}

/* Les six seuils restent dans le flux, mais leur hauteur dépend du contenu. */
body[data-page="home"] [data-home-traces] .trace-step,
body[data-page="home"] [data-home-traces] .home-page .trace-step {
	min-height: 0;
	justify-content: center;
	padding: 34px 0;
	opacity: 0.42;
	transition: none;
}

body[data-page="home"] [data-home-traces] .trace-step.is-active {
	opacity: 1;
}

body[data-page="home"] [data-home-traces] .trace-step,
body[data-page="home"] [data-home-traces] .trace-step.home-card,
body[data-page="home"] [data-home-traces] .trace-step.card--light {
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body[data-page="home"] [data-home-traces] .trace-visual__body {
	position: relative;
	gap: 20px;
	padding: 26px 0 28px;
	border-top: 1px solid var(--trace-rule-strong);
	border-bottom: 1px solid var(--trace-rule);
}

body[data-page="home"] [data-home-traces] .trace-visual__body::before {
	position: absolute;
	top: -1px;
	left: 0;
	width: 52px;
	height: 2px;
	background: var(--trace-accent);
	content: "";
	transform: scaleX(var(--trace-line-progress));
	transform-origin: left center;
}

body[data-page="home"] [data-home-traces] .trace-visual__type {
	color: var(--trace-accent);
}

body[data-page="home"] [data-home-traces] .trace-visual h3 {
	max-width: 390px;
	margin-top: 8px;
}

body[data-page="home"] [data-home-traces] .trace-visual__copy > p:last-child {
	max-width: 420px;
	margin-top: 12px;
	color: var(--trace-muted);
}

body[data-page="home"] [data-home-traces] .trace-visual__metadata {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	border-top: 0;
}

body[data-page="home"] [data-home-traces] .trace-visual__metadata div {
	display: flex;
	min-height: 78px;
	gap: 7px;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 13px 14px;
	border: 1px solid var(--trace-rule);
	background: var(--trace-paper);
	flex-direction: column;
}

body[data-page="home"] [data-home-traces] .trace-visual__metadata dt {
	display: flex;
	gap: 7px;
	align-items: center;
	color: var(--trace-ink);
}

body[data-page="home"] [data-home-traces] .trace-visual__metadata dt::before {
	display: block;
	width: 5px;
	height: 5px;
	border: 1px solid var(--trace-accent);
	content: "";
	transform: rotate(45deg);
}

body[data-page="home"] [data-home-traces] .trace-visual__metadata dd {
	color: var(--trace-muted);
	text-align: left;
}

body[data-page="home"] [data-home-traces] .trace-visual .text-link {
	--trace-cta-progress: 0.28;
	position: relative;
	display: inline-flex;
	min-height: 42px;
	gap: 14px;
	align-items: center;
	padding: 7px 0 9px;
	color: var(--trace-accent);
	text-decoration: none;
}

body[data-page="home"] [data-home-traces] .trace-visual .text-link::after {
	position: absolute;
	right: 0;
	bottom: 3px;
	left: 0;
	height: 1px;
	background: currentColor;
	content: "";
	transform: scaleX(var(--trace-cta-progress));
	transform-origin: left center;
}

body[data-page="home"] [data-home-traces] .trace-visual .text-link i {
	flex: 0 0 auto;
}

/* La vue mobile garde les six médias dans le flux et reconstruit la densité. */
@media (max-width: 1199px) and (min-width: 992px) {
	body[data-page="home"] [data-home-traces] .trace-stage .trace-visual__media {
		height: 510px;
	}

	body[data-page="home"] [data-home-traces] .trace-visual__metadata {
		grid-template-columns: 1fr;
	}

	body[data-page="home"] [data-home-traces] .trace-visual__metadata div {
		min-height: 0;
	}
}

@media (max-width: 991px) {
	body[data-page="home"] [data-home-traces] {
		padding-top: 64px;
	}

	body[data-page="home"] [data-home-traces]::before {
		height: 560px;
		opacity: 0.55;
	}

	body[data-page="home"] [data-home-traces] .home-traces__experience {
		row-gap: 30px;
		margin-top: 38px;
	}

	body[data-page="home"] [data-home-traces] .home-traces__experience::before {
		display: none;
	}

	body[data-page="home"] [data-home-traces] :where(.trace-index, .trace-stage-column, .trace-visuals) {
		margin-top: 0;
	}

	body[data-page="home"] [data-home-traces] .trace-index {
		padding-bottom: 5px;
	}

	body[data-page="home"] [data-home-traces] .trace-index__item {
		min-height: 74px;
	}

	body[data-page="home"] [data-home-traces] .trace-step,
	body[data-page="home"] [data-home-traces] .trace-step.is-active {
		padding: 0 0 52px;
		opacity: 1;
	}

	body[data-page="home"] [data-home-traces] .trace-step__media {
		margin-bottom: 18px;
	}

	body[data-page="home"] [data-home-traces] .trace-step__media::before {
		display: none;
	}

	body[data-page="home"] [data-home-traces] .trace-visual__body {
		padding-top: 22px;
	}
}

@media (max-width: 767px) {
	body[data-page="home"] [data-home-traces] {
		padding-top: 54px;
	}

	body[data-page="home"] [data-home-traces] .home-traces__introduction {
		padding-top: 0;
	}

	body[data-page="home"] [data-home-traces] .home-traces__header-rule {
		margin-top: 8px;
	}

	body[data-page="home"] [data-home-traces] .trace-visual__metadata {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body[data-page="home"] [data-home-traces] .trace-visual__metadata div {
		min-height: 86px;
		padding: 12px;
	}
}

@media (max-width: 430px) {
	body[data-page="home"] [data-home-traces] .trace-index li {
		width: 176px;
	}

	body[data-page="home"] [data-home-traces] .trace-visual__metadata {
		grid-template-columns: 1fr;
	}

	body[data-page="home"] [data-home-traces] .trace-visual__metadata div {
		min-height: 0;
	}

	body[data-page="home"] [data-home-traces] .trace-visual .text-link {
		justify-content: space-between;
	}
}

@media (prefers-reduced-motion: reduce) {
	body[data-page="home"] [data-home-traces] *,
	body[data-page="home"] [data-home-traces] *::before,
	body[data-page="home"] [data-home-traces] *::after {
		scroll-behavior: auto;
		transition: none;
	}

	body[data-page="home"] [data-home-traces] .trace-stage .trace-visual__media,
	body[data-page="home"] [data-home-traces] .trace-stage .trace-visual__media img,
	body[data-page="home"] [data-home-traces] .trace-index__number,
	body[data-page="home"] [data-home-traces] .trace-visual .text-link i {
		transform: none;
	}
}
/* Source : assets/css/pages/home-traces-closing.css */
/*
 * Le seuil final des archives reste un module autonome : Bootstrap centre le
 * contenu, tandis que cette feuille ne gère que l’atmosphère et la continuité.
 */
.home-traces__closing {
  --button-primary-background: var(--accent-on-dark);
  --button-primary-background-hover: var(--accent-on-dark-hover);
  --button-primary-background-active: var(--accent-on-dark-active);
  --button-primary-text: var(--color-background-primary);
  --button-link-color: var(--accent-on-dark);
  --color-primary: var(--accent-on-dark);
  --color-primary-hover: var(--accent-on-dark-hover);
  position: relative;
  z-index: 1;
  isolation: isolate;
  width: 100%;
  margin-top: var(--home-rhythm-group);
  overflow: hidden;
  padding: 112px 0 144px;
  border-top: 1px solid var(--color-border-dark-subtle);
  border-bottom: 1px solid var(--color-border-dark-default);
  background: var(--color-background-secondary);
  color: var(--color-text-inverse);
  text-align: center;
}

.home-traces__closing .container {
  z-index: 3;
}

.home-traces__closing .eyebrow,
.home-traces__method {
  color: var(--accent-on-dark);
}

.home-traces .home-traces__closing :where(p, strong) {
  color: var(--text-on-dark);
}

.home-traces__closing-content {
  position: relative;
}

.home-traces__closing .section-kicker {
  margin: 0;
}

.home-traces__conclusion {
  max-width: 780px;
  margin: 28px auto 0;
}

.home-traces__transition {
  position: relative;
  z-index: 2;
  display: inline-flex;
  max-width: 720px;
  justify-content: center;
  margin-top: 22px;
  padding: 10px 24px;
  background: var(--color-background-secondary);
}

.home-traces__transition p {
  margin: 0;
  color: var(--text-on-dark-secondary);
}

/* La ligne traverse le seuil sans jamais intercepter les deux liens d’action. */
.home-traces__transition-line {
  position: absolute;
  z-index: 1;
  top: 53%;
  right: 0;
  left: 0;
  display: block;
  height: 1px;
  background: var(--color-border-dark-default);
  opacity: 0.68;
  pointer-events: none;
}

.home-traces__transition-line i {
  position: absolute;
  top: -3px;
  left: 50%;
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent-on-dark);
  transform: translateX(-50%);
}

.home-traces__actions {
  position: relative;
  z-index: 2;
  gap: 16px;
  margin-top: 38px;
}

.home-traces__actions .button {
  width: auto;
  min-height: 52px;
  justify-content: center;
  white-space: normal;
}

.home-traces__action {
  display: inline-flex;
  gap: 18px;
  align-items: center;
  padding: 13px 20px;
}

.home-traces__action i {
  transition: transform var(--transition-base);
}

.home-traces__action:hover i,
.home-traces__action:focus-visible i {
  transform: translateX(5px);
}

/*
 * Le canvas réutilise le variant « traces » du module narratif existant. Son
 * fond HTML reste visible si WebGL ou le mouvement enrichi sont indisponibles.
 */
.home-traces__atmosphere.narrative-atmosphere {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: transparent;
  pointer-events: none;
}

.home-traces__atmosphere.narrative-atmosphere::after {
  background:
    linear-gradient(90deg, var(--color-background-secondary) 0%, transparent 28%, transparent 72%, var(--color-background-secondary) 100%),
    linear-gradient(180deg, var(--color-background-secondary) 0%, transparent 24%, transparent 70%, var(--color-background-secondary) 100%);
}

.home-traces__atmosphere .narrative-atmosphere__fallback--material span {
  border-color: var(--color-border-dark-subtle);
  background: transparent;
  opacity: 0.34;
}

.home-traces__atmosphere.narrative-atmosphere.is-ready canvas {
  opacity: 0.24;
}

@media (max-width: 767px) {
  .home-traces__closing {
    margin-top: 24px;
    padding: 84px 0 112px;
  }

  .home-traces__transition {
    padding-right: 16px;
    padding-left: 16px;
  }

  .home-traces__transition-line {
    top: 51%;
  }

  .home-traces__actions {
    width: 100%;
    margin-top: 32px;
  }

  .home-traces__atmosphere.narrative-atmosphere.is-ready canvas {
    opacity: 0.16;
  }
}

@media (max-width: 575px) {
  .home-traces__actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-traces__action i {
    transition: none;
  }

  .home-traces__action:hover i,
  .home-traces__action:focus-visible i {
    transform: none;
  }
}
/* Source : assets/css/pages/home-tribute.css */
/*
 * Séquence mémorielle entre les archives et la transmission.
 * Le fil central prolonge le seuil documentaire sans transformer la citation
 * en bandeau promotionnel.
 */
.home-page .home-tribute {
  --home-tribute-height: 540px;
  position: relative;
  min-height: var(--home-tribute-height);
  margin-top: -1px;
  overflow: hidden;
  background: var(--color-ink-deep);
  color: var(--color-text-inverse);
  isolation: isolate;
}

.home-tribute__media,
.home-tribute__overlay {
  position: absolute;
  inset: 0;
}

.home-tribute__media {
  z-index: 0;
  overflow: hidden;
  background: var(--color-ink-deep);
}

.home-tribute__media > picture,
.home-tribute__media > picture img,
.home-tribute__media > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  filter: grayscale(0.46) saturate(0.62);
}

.home-tribute__overlay {
  z-index: 1;
  background:
    linear-gradient(180deg, var(--color-background-primary) 0%, transparent 30%),
    linear-gradient(180deg, transparent 64%, var(--color-background-primary) 100%),
    radial-gradient(
      ellipse at 50% 48%,
      var(--color-overlay-text-bottom) 0%,
      var(--color-overlay-image-strong) 42%,
      transparent 76%
    ),
    radial-gradient(circle at 50% 42%, transparent 0%, var(--color-home-depth-subtle) 38%, var(--color-home-depth-strong) 100%),
    linear-gradient(180deg, var(--color-home-depth-medium), var(--color-home-depth-strong));
  pointer-events: none;
}

/* Le repère reprend le centre de la ligne du seuil précédent. */
.home-tribute__memory-thread {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 50%;
  display: block;
  width: 1px;
  height: 88px;
  transform-origin: 50% 0;
  pointer-events: none;
}

.home-tribute__memory-thread > span {
  display: block;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, var(--color-border-dark-default), var(--accent-on-dark));
}

.home-tribute__memory-thread > i {
  position: absolute;
  bottom: -3px;
  left: 50%;
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent-on-dark);
  filter: drop-shadow(0 0 7px var(--accent-on-dark));
  transform: translateX(-50%);
}

.home-tribute__inner {
  position: relative;
  z-index: 2;
  min-height: var(--home-tribute-height);
  padding-top: 96px;
  padding-bottom: 80px;
}

.home-tribute__copy {
  display: flex;
  max-width: 860px;
  flex-direction: column;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.home-tribute__kicker {
  margin: 0 0 22px;
  color: var(--accent-on-dark);
}

.home-tribute__title-mask {
  width: 100%;
  overflow: hidden;
  padding: 4px 0 6px;
}

.home-tribute__copy .section-title {
  max-width: 820px;
  margin: 0 auto;
  color: var(--text-on-dark);
  text-wrap: balance;
}

.home-tribute__copy .home-action {
  margin-top: 34px;
}

@media (max-width: 900px) {
  .home-tribute {
    --home-tribute-height: 520px;
  }
}

@media (max-width: 680px) {
  .home-tribute {
    --home-tribute-height: 500px;
  }

  .home-tribute__inner {
    padding-top: 92px;
    padding-bottom: 68px;
  }

  .home-tribute__memory-thread {
    height: 72px;
  }

  .home-tribute__copy .home-action {
    width: 100%;
    margin-top: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-tribute__media,
  .home-tribute__media img,
  .home-tribute__overlay,
  .home-tribute__memory-thread,
  .home-tribute__kicker,
  .home-tribute__copy .section-title,
  .home-tribute__copy .home-action {
    opacity: 1;
    clip-path: none;
    transform: none;
    will-change: auto;
  }
}

.home-transmission.surface--light.surface--paper {
  --section-padding-start: 96px;
  --section-padding-end: 80px;
  position: relative;
  overflow: visible;
  padding: 96px 0 80px;
  color: var(--text-on-light)!important;
}

.home-transmission > .container {
  position: relative;
  z-index: 1;
}

.home-transmission__curve {
  position: absolute;
  z-index: 0;
  top: 14px;
  left: 0;
  width: 100%;
  height: 210px;
  pointer-events: none;
}

.home-transmission__curve path {
  fill: none;
  stroke: var(--editorial-rule);
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.home-transmission__heading,
.home-transmission__experience {
  --bs-gutter-x: 48px;
}

.home-transmission__heading {
  position: relative;
  margin-bottom: 56px;
}

.home-transmission__heading .eyebrow {
  margin-bottom: 18px;
}

.home-transmission__heading h2 {
  max-width: 760px;
  margin: 0;
}

.home-transmission__heading-rule {
  display: block;
  width: 84px;
  height: 1px;
  margin-top: 30px;
  background: var(--editorial-rule-strong);
}

.home-transmission__introduction {
  padding-bottom: 2px;
}

.home-transmission__introduction p {
  max-width: 420px;
  margin: 0;
  color: var(--color-text-muted);
}

.home-transmission__experience {
  position: relative;
}

.home-transmission__media-column,
.home-transmission__paths {
  min-width: 0;
}

.home-transmission__media-column {
  display: none;
}

.home-transmission__media-sticky {
  position: sticky;
  top: calc(var(--header-height) + 24px);
}

.home-transmission__media {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--color-border-dark-default);
  background: var(--color-ink-soft);
  color: var(--text-on-dark);
  box-shadow: var(--shadow-none);
}

.home-page .home-transmission .home-transmission__media.home-media--primary {
  aspect-ratio: 4 / 3;
}

.home-transmission__media::after {
  position: absolute;
  z-index: 1;
  inset: 24% 0 0;
  background: linear-gradient(180deg, transparent 0%, var(--color-overlay-image-strong) 100%);
  content: "";
  pointer-events: none;
}

.home-transmission__media-layer {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.018);
  transition: opacity 420ms ease, visibility 420ms ease, transform 620ms ease;
  will-change: opacity, transform;
}

.home-transmission__media-layer.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.home-transmission__media-layer picture,
.home-transmission__media-layer img,
.home-transmission__item-media picture,
.home-transmission__item-media img {
  display: block;
  width: 100%;
  height: 100%;
}

.home-transmission__image,
.home-transmission__item-image {
  object-fit: cover;
  filter: saturate(0.72) contrast(1.02);
}

.home-transmission__active-content {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 40px;
  left: 0;
  max-width: 610px;
  padding: 38px 42px 30px;
}

.home-transmission__active-content .home-card__meta {
  display: flex;
  gap: 18px;
  margin: 0 0 14px;
  color: var(--accent-on-dark);
}

.home-transmission__active-content .home-card__title {
  margin: 0;
  color: var(--text-on-dark);
}

.home-transmission__active-content .home-card__description {
  max-width: 500px;
  margin: 12px 0 0;
  color: var(--text-on-dark-secondary);
}

.home-transmission__active-content .home-card__action {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-top: 24px;
  color: var(--accent-on-dark);
}

.home-transmission__media-caption {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 40px;
  padding: 11px 42px;
  background: var(--color-panel-overlay-dark);
  color: var(--text-on-dark-secondary);
}

/* Le panneau sombre conserve les rôles typographiques centralisés du thème. */
.home-page .home-transmission .home-transmission__active-content .home-card__meta,
.home-page .home-transmission .home-transmission__active-content .home-card__action {
  color: var(--accent-on-dark);
}

.home-page .home-transmission .home-transmission__active-content .home-card__title {
  color: var(--text-on-dark);
}

.home-page .home-transmission .home-transmission__active-content .home-card__description {
  color: var(--text-on-dark-secondary);
}

.home-transmission__paths {
  display: flex;
}

.home-transmission__list {
  display: flex;
  width: 100%;
}

.home-transmission__list {
  flex-direction: column;
}

.home-transmission__entry {
  position: relative;
  display: flex;
  min-height: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 38px 0;
  border: 0;
  border-top: 1px solid var(--editorial-rule);
  background: transparent;
  color: var(--text-on-light);
  transition: background-color 220ms ease, color 220ms ease;
}

.home-transmission__entry:last-child {
  border-bottom: 1px solid var(--editorial-rule);
}

.home-transmission__selector {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.home-transmission__selector::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 46px;
  height: 1px;
  background: currentColor;
  content: "";
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: opacity 220ms ease, transform 220ms ease;
}

.home-transmission__selector .home-card__meta {
  display: flex;
  gap: 12px;
  margin: 0 0 18px;
  color: var(--color-text-muted);
}

.home-transmission__selector .home-card__title {
  margin: 0;
  color: inherit;
}

.home-transmission__selector .home-card__description {
  max-width: 390px;
  margin: 12px 0 0;
  color: var(--color-text-muted);
}

.home-transmission__entry > .home-card__action {
  position: relative;
  z-index: 1;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin: 26px 0 0;
  color: var(--color-primary-hover);
}

.home-transmission__entry.is-active {
  background: var(--color-background-subtle);
}

.home-transmission__entry.is-active::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: 84px;
  height: 2px;
  background: var(--color-primary);
  content: "";
}

.home-transmission__entry.is-active .home-transmission__selector {
  transform: translateX(8px);
}

.home-transmission__entry.is-active .home-transmission__selector::after {
  opacity: 0.72;
  transform: scaleX(1);
}

.home-transmission__selector:hover .home-card__title,
.home-transmission__selector:focus-visible .home-card__title {
  color: var(--color-primary-hover);
}

.home-transmission__selector:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 5px;
}

.home-page .home-transmission a.home-card--link:hover,
.home-page .home-transmission a.home-card--link:focus-visible {
  box-shadow: var(--shadow-none);
  transform: none;
}

.home-transmission__item-media {
  position: relative;
  display: block;
  width: 100%;
  margin: 28px 0 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--color-media-placeholder);
}

.home-transmission__item-media::after {
  position: absolute;
  inset: 50% 0 0;
  background: linear-gradient(180deg, transparent 0%, var(--color-overlay-image-strong) 100%);
  content: "";
  pointer-events: none;
}

.home-transmission__item-media figcaption {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 14px 16px;
  color: var(--text-on-dark-secondary);
}

.home-transmission__conclusion {
  position: relative;
  margin-top: 48px;
  padding: 16px 0 12px;
  text-align: center;
}

.home-transmission__conclusion-inner {
  position: relative;
  width: 100%;
}

.home-transmission__conclusion-marker {
  position: relative;
  display: flex;
  width: 112px;
  height: 12px;
  align-items: center;
  justify-content: center;
  margin: 0 auto 28px;
  pointer-events: none;
}

.home-transmission__conclusion-marker::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 5px;
  height: 5px;
  background: var(--color-primary);
  content: "";
  transform: translateY(-50%);
}

.home-transmission__conclusion-thread {
  display: block;
  width: 96px;
  height: 1px;
  background: var(--editorial-rule-strong);
  transform-origin: left center;
}

.home-transmission__transition {
  max-width: 760px;
  margin: 0 auto;
  color: var(--text-on-light);
  text-align: center;
  text-wrap: balance;
}

.home-transmission__transition-copy {
  display: block;
}

.home-transmission__transition-copy .narrative-word {
  margin-right: 0;
}

/* Le média reste sticky face à cinq seuils compacts dimensionnés par leur contenu. */
@media (min-width: 992px) {
  .home-transmission__media-column {
    display: block;
    align-self: stretch;
  }

  .home-transmission__entry {
    min-height: 360px;
    padding: 40px 32px;
  }

  .home-transmission__item-media {
    display: none;
  }
}

@media (min-width: 1200px) {
  .home-transmission__entry {
    padding-right: 36px;
    padding-left: 36px;
  }
}

@media (max-width: 1199px) {
  .home-transmission.surface--light.surface--paper {
    padding: 88px 0 72px;
  }

  .home-transmission__curve {
    display: none;
  }

  .home-transmission__heading {
    row-gap: 28px;
    margin-bottom: 56px;
  }

  .home-transmission__introduction p {
    max-width: 560px;
  }

  .home-transmission__conclusion {
    margin-top: 64px;
  }
}

@media (max-width: 991px) {
  .home-transmission__experience {
    row-gap: 0;
  }

  .home-transmission__entry {
    padding: 46px 0;
  }

  .home-transmission__selector {
    cursor: default;
  }
}

@media (max-width: 767px) {
  .home-transmission.surface--light.surface--paper {
    padding: 76px 0 72px;
  }

  .home-transmission__heading,
  .home-transmission__experience {
    --bs-gutter-x: 20px;
  }

  .home-transmission__heading {
    margin-bottom: 42px;
  }

  .home-transmission__heading-rule {
    margin-top: 24px;
  }

  .home-transmission__entry {
    padding: 38px 0;
  }

  .home-transmission__entry > .home-card__action {
    align-self: stretch;
    justify-content: center;
  }

  .home-transmission__conclusion {
    margin-top: 48px;
    padding-top: 20px;
    padding-bottom: 12px;
  }

  .home-transmission__conclusion-marker {
    margin-bottom: 24px;
  }
}

@media (max-width: 480px) {
  .home-transmission__item-media {
    aspect-ratio: 1 / 1;
  }
}

/* Sans JavaScript, les cinq portes, leurs médias et leurs liens restent lisibles. */
.no-js .home-transmission__media-layer:first-child {
  opacity: 1;
  visibility: visible;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .home-transmission__media-layer,
  .home-transmission__entry,
  .home-transmission__selector,
  .home-transmission__selector::after {
    transition: none;
  }

  .home-transmission__media-layer {
    will-change: auto;
  }

  .home-transmission__conclusion-thread,
  .home-transmission__transition-copy {
    transform: none;
  }

  .home-transmission__entry.is-active .home-transmission__selector {
    transform: none;
  }
}
/* Source : assets/css/pages/home-doors.css */
/* Dernière salle : une coda architecturale relie les six destinations au footer. */
.home-next {
  --door-image: none;
  --door-light-x: 74%;
  --door-light-y: 42%;
  position: relative;
  overflow: hidden;
  padding: var(--home-rhythm-section) 0 var(--home-rhythm-section-compact);
  background:
    radial-gradient(circle at var(--door-light-x) var(--door-light-y), var(--color-footer-glow), transparent 28%),
    linear-gradient(
      180deg,
      var(--color-background-mineral) 0%,
      var(--color-background-primary) 18%,
      var(--color-background-primary) 82%,
      var(--color-ink-footer) 100%
    );
  color: var(--color-text-inverse);
  isolation: isolate;
}

/* Une seule image de profondeur répond à la destination survolée ou focalisée. */
.home-next::before,
.home-next::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
}

.home-next::before {
  z-index: -2;
  background-image: var(--door-image, none);
  background-position: 72% center;
  background-size: cover;
  filter: grayscale(0.72) sepia(0.12);
  opacity: 0.24;
  transform: scale(1.025);
  transition: background-image var(--transition-base), opacity var(--transition-base), transform var(--transition-slow);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 34%, var(--color-background-primary) 66%, var(--color-background-primary) 100%);
  mask-image: linear-gradient(90deg, transparent 0%, transparent 34%, var(--color-background-primary) 66%, var(--color-background-primary) 100%);
}

.home-next::after {
  z-index: -1;
  background: linear-gradient(90deg, var(--color-background-primary) 0%, transparent 62%);
}

.home-next > .container {
  position: relative;
  z-index: 1;
}

.home-next__heading {
  row-gap: var(--home-rhythm-xl);
}

.home-next__heading h2 {
  max-width: 820px;
}

.home-next__doors {
  margin-top: var(--home-rhythm-group);
}

.home-next__doors > div {
  display: flex;
}

.home-next__doors a {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 300px;
  padding: 32px;
  border: 1px solid var(--color-border-dark-default);
  background: linear-gradient(145deg, var(--color-panel-overlay-dark), transparent 72%);
  color: var(--color-text-inverse);
  isolation: isolate;
  transition:
    border-color var(--transition-base),
    background-color var(--transition-base),
    color var(--transition-base);
}

/* Les six destinations partagent une surface et une hauteur communes par rangée. */
.home-page .home-next__doors a.home-card {
  height: 100%;
  border: 1px solid var(--color-border-dark-default);
  background: linear-gradient(145deg, var(--color-panel-overlay-dark), transparent 72%);
  box-shadow: var(--shadow-none);
}

.home-next__doors a::before,
.home-next__doors a::after {
  content: none;
}

.home-next__doors a:hover,
.home-next__doors a:focus-visible {
  border-color: var(--color-primary);
  background: var(--color-panel-overlay-dark);
  box-shadow: var(--shadow-none);
  transform: none;
}

.home-next__doors a:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

.home-next__doors span,
.home-next__doors strong {
  color: var(--color-primary);
}

.home-next__doors h3 {
  margin-top: var(--home-rhythm-sm);
  padding-top: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.home-next__doors p {
  max-width: none;
  margin-top: 12px;
  color: var(--color-card-text);
}

.home-next__doors strong {
  margin-top: 18px;
}

/* Le filet indique la progression du parcours sans ajouter de lien interne. */
.home-next__progress {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 28px;
  overflow: hidden;
  background: var(--color-border-dark-default);
  pointer-events: none;
}

.home-next__progress > span {
  display: block;
  width: 48px;
  height: 1px;
  background: var(--color-primary);
  transform-origin: left center;
  transition: width var(--transition-slow);
}

.home-next__doors a:hover .home-next__progress > span,
.home-next__doors a:focus-visible .home-next__progress > span {
  width: 100%;
}

@media (max-width: 680px) {
  .home-next {
    padding: var(--home-rhythm-section-compact) 0;
  }

  .home-next::before {
    background-position: center;
    opacity: 0.16;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, var(--color-background-primary) 62%, var(--color-background-primary) 100%);
    mask-image: linear-gradient(180deg, transparent 0%, var(--color-background-primary) 62%, var(--color-background-primary) 100%);
  }

  .home-next__doors {
    margin-top: var(--home-rhythm-xl);
  }

  .home-next__doors a {
    min-height: 260px;
    padding: 24px;
    aspect-ratio: auto;
  }

  .home-next__doors strong {
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-next::before,
  .home-next__doors a,
  .home-next__progress > span {
    transition: none;
  }

  .home-next::before,
  .home-next__doors a:hover,
  .home-next__doors a:focus-visible {
    transform: none;
  }
}
/* Source : assets/css/pages/home-editorial-media.css */
/*
 * Compositions éditoriales texte–image de l’accueil.
 * Les variantes partagent une mesure, des ratios et un ordre DOM stable ;
 * chaque chapitre conserve ensuite son traitement narratif propre.
 */
.home-page .editorial-media {
  --editorial-media-gap: var(--rhythm-group);
  --editorial-media-ratio: 3 / 2;
  --editorial-media-position: center center;
  min-width: 0;
}

.home-page .editorial-media__copy,
.home-page .editorial-media__media,
.home-page .editorial-media__panel,
.home-page .editorial-media__figure {
  min-width: 0;
}

.home-page .editorial-media__copy > p:not(.meta, .eyebrow),
.home-page .editorial-media__panel > p:not(.meta, .eyebrow) {
  max-width: var(--container-reading);
}

.home-page .editorial-media__media {
  margin: 0;
}

.home-page .editorial-media__media img,
.home-page .editorial-media__figure img,
.home-page .editorial-media__image {
  object-fit: cover;
  object-position: var(--editorial-media-position);
}

/*
 * Variantes latérales : la source conserve toujours le texte puis le média
 * pour les récits qui doivent annoncer le sujet avant de le montrer.
 */
@media (min-width: 992px) {
  .home-page .editorial-media--text-media.layout-grid > .editorial-media__copy {
    grid-column: 1 / span 3;
  }

  .home-page .editorial-media--text-media.layout-grid > .editorial-media__media {
    grid-column: 4 / span 5;
  }

  .home-page .editorial-media--quote.layout-grid > .editorial-media__copy {
    grid-column: 1 / span 5;
  }

  .home-page .editorial-media--quote.layout-grid > .editorial-media__media {
    grid-column: 6 / span 3;
  }
}

@media (min-width: 1200px) {
  .home-page .editorial-media--text-media.layout-grid > .editorial-media__copy {
    grid-column: 1 / span 5;
  }

  .home-page .editorial-media--text-media.layout-grid > .editorial-media__media {
    grid-column: 6 / span 7;
  }

  .home-page .editorial-media--quote.layout-grid > .editorial-media__copy {
    grid-column: 1 / span 7;
  }

  .home-page .editorial-media--quote.layout-grid > .editorial-media__media {
    grid-column: 8 / span 5;
  }
}

/*
 * Variante média–texte : elle devient latérale seulement lorsque les deux
 * colonnes conservent une largeur de lecture utile.
 */
@media (min-width: 1200px) {
  .home-page .editorial-media--media-text:not(.layout-grid):not(.row) {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 0;
    align-items: stretch;
  }

  .home-page .editorial-media--media-text:not(.layout-grid):not(.row) > .editorial-media__media {
    grid-column: 1 / span 7;
  }

  .home-page .editorial-media--media-text:not(.layout-grid):not(.row) > .editorial-media__copy {
    grid-column: 8 / span 5;
  }

  /*
   * Une scène documentaire asymétrique conserve la largeur de ses colonnes :
   * le ratio du média ne doit jamais étirer la grille ni recouvrir la notice.
   */
  .home-page .editorial-media--media-text.editorial-media--asymmetric:not(.layout-grid):not(.row) {
    align-items: start;
  }
}

/*
 * Variante panoramique : le média précède naturellement son développement.
 * Elle reste disponible pour les prochains chapitres sans imposer de wrapper.
 */
.home-page .editorial-media--panorama {
  display: grid;
  gap: var(--rhythm-group-mobile);
}

.home-page .editorial-media--panorama > .editorial-media__media {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 7;
}

.home-page .editorial-media--panorama > .editorial-media__copy {
  width: min(100%, var(--container-reading));
}

/*
 * Variante immersive : l’image couvre la scène et le panneau reste au-dessus
 * de l’overlay propre au chapitre, sans dépendre d’une ombre de texte.
 */
.home-page .editorial-media--overlay {
  position: relative;
  isolation: isolate;
}

.home-page .editorial-media--overlay > .editorial-media__image,
.home-page .editorial-media--overlay > picture > .editorial-media__image {
  width: 100%;
  height: 100%;
}

.home-page .editorial-media--overlay .editorial-media__panel {
  position: relative;
  z-index: 2;
}

/* La citation illustrée garde une présence textuelle supérieure au visuel. */
.home-page .editorial-media--quote {
  --editorial-media-ratio: 4 / 5;
}

.home-page .editorial-media--quote blockquote {
  max-width: var(--container-reading);
}

/*
 * L’asymétrie reste rattachée à la grille et ne recourt ni à une marge
 * négative ni à un positionnement absolu de la copie.
 */
.home-page .editorial-media--asymmetric {
  align-items: start;
}

@media (max-width: 991px) {
  .home-page .editorial-media--text-media.layout-grid,
  .home-page .editorial-media--quote.layout-grid {
    row-gap: var(--rhythm-group-mobile);
  }

  .home-page .editorial-media--text-media.layout-grid > .editorial-media__copy,
  .home-page .editorial-media--text-media.layout-grid > .editorial-media__media,
  .home-page .editorial-media--quote.layout-grid > .editorial-media__copy,
  .home-page .editorial-media--quote.layout-grid > .editorial-media__media {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .home-page .editorial-media--panorama {
    gap: var(--rhythm-content-action);
  }

  .home-page .editorial-media--panorama > .editorial-media__media {
    aspect-ratio: 4 / 3;
  }
}
/* Source : assets/css/pages/home-media-system.css */
/*
 * Contrat des médias de l’accueil.
 * Chaque ratio répond à un rôle éditorial : le cadrage n’est jamais choisi
 * uniquement pour remplir une grille ou fabriquer une mosaïque.
 */
.home-page {
  --home-media-ratio-primary: 5 / 4;
  --home-media-ratio-narrative: 3 / 2;
  --home-media-ratio-secondary: 4 / 3;
  --home-media-ratio-document: 1 / 1;
  --home-media-ratio-panorama: 16 / 7;
}

.home-page .home-media {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 0;
  box-shadow: var(--shadow-none);
}

.home-page .home-media > :is(picture, img),
.home-page .home-media > picture > img {
  display: block;
  width: 100%;
  height: 100%;
}

.home-page .home-media > img,
.home-page .home-media > picture > img {
  object-fit: cover;
}

.home-page .home-media--primary {
  aspect-ratio: var(--home-media-ratio-primary);
}

.home-page .home-media--narrative {
  aspect-ratio: var(--home-media-ratio-narrative);
}

.home-page .home-media--secondary {
  aspect-ratio: var(--home-media-ratio-secondary);
}

.home-page .home-media--document {
  aspect-ratio: var(--home-media-ratio-document);
}

.home-page .home-media--panorama {
  /* La scène possède sa propre profondeur verticale : le ratio ne doit pas
   * convertir sa hauteur minimale en largeur hors écran. */
  aspect-ratio: auto;
}

/*
 * Les légendes restent liées au média. Elles peuvent être superposées si le
 * chapitre fournit un voile local, ou rester dans le flux sur fond clair.
 */
.home-page .home-media figcaption {
  max-width: 680px;
}

@media (max-width: 767px) {
  .home-page {
    --home-media-ratio-primary: 4 / 3;
    --home-media-ratio-narrative: 4 / 3;
    --home-media-ratio-document: 4 / 3;
    --home-media-ratio-panorama: 4 / 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .home-media :is(img, picture) {
    transition: none;
  }
}
/* Source : assets/css/pages/home-cards.css */
/*
 * Système de cartes de l’accueil.
 * Les variantes partagent une métadonnée et une action explicite. Leur limite
 * vient du fond, de l'espace et de la composition propre à chaque chapitre.
 */
.home-page {
  --home-card-background: transparent;
  --home-card-border: transparent;
  --home-card-background-hover: transparent;
  --home-card-border-hover: var(--color-primary);
  --home-card-text: var(--color-text);
  --home-card-text-muted: var(--color-text-muted);
  --home-card-action: var(--color-primary-hover);
}

.home-page .home-card {
  position: relative;
  min-width: 0;
  height: 100%;
  border: 1px solid var(--home-card-border);
  border-radius: 0;
  background: var(--home-card-background, var(--color-surface));
  box-shadow: var(--shadow-none);
  color: var(--home-card-text);
  transition:
    border-color var(--transition-base),
    background-color var(--transition-base),
    color var(--transition-base);
}

.home-page a.home-card--link {
  text-decoration: none;
  cursor: pointer;
}

.home-page a.home-card--link:hover,
.home-page a.home-card--link:focus-visible {
  box-shadow: var(--shadow-none);
}

.home-page .home-card:focus-visible,
.home-page a.home-card--link:focus-visible,
.home-page .home-card--interactive:focus-within {
  z-index: 3;
  outline: 2px solid var(--color-primary);
  outline-offset: 4px;
}

.home-page .home-card--interactive:focus-within {
  border-color: var(--home-card-border-hover);
  box-shadow: var(--shadow-none);
}

.home-page .home-card--informative {
  cursor: default;
}

.home-page .home-card--informative:hover {
  border-color: var(--home-card-border-hover);
}

.home-page .home-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  color: var(--color-primary-hover);
}

.home-page .home-card__index {
  display: inline-flex;
  gap: 14px;
  align-items: center;
}

.home-page .home-card__index::after {
  display: block;
  width: 28px;
  height: 1px;
  background: var(--color-border-strong);
  content: "";
}

.home-page .home-card__title {
  color: var(--home-card-text);
}

.home-page .home-card__description {
  color: var(--home-card-text-muted);
}

.home-page .home-card__action {
  display: inline-flex;
  gap: 14px;
  align-items: center;
  align-self: flex-start;
  color: var(--home-card-action);
}

.home-page .home-card__action i {
  transition: transform var(--transition-base);
}

.home-page a.home-card--link:hover .home-card__action i,
.home-page a.home-card--link:focus-visible .home-card__action i {
  transform: translateX(4px);
}

.home-page .home-card--media {
  overflow: hidden;
}

.home-page .home-card--media-primary .home-media {
  aspect-ratio: var(--home-media-ratio-primary);
}

.home-page .home-card--media-secondary .home-media {
  aspect-ratio: var(--home-media-ratio-secondary);
}

.home-page .home-card--media-document .home-media {
  aspect-ratio: var(--home-media-ratio-document);
}

.home-page .home-card__image {
  object-fit: cover;
  transform: scale(1);
  transition: filter var(--transition-slow), transform var(--transition-slow);
}

.home-page a.home-card--link:hover .home-card__image,
.home-page a.home-card--link:focus-visible .home-card__image {
  filter: saturate(0.82) contrast(1.03);
  transform: scale(1.008);
}

/* La variante claire ressemble à une plaque éditoriale, jamais à une carte élevée. */
.home-page .home-card--light {
  --home-card-background: var(--surface-paper);
  --home-card-background-hover: var(--surface-warm);
  --home-card-border: var(--border-on-light);
  --home-card-border-hover: var(--accent-on-light);
  --home-card-text: var(--text-on-light);
  --home-card-text-muted: var(--text-on-light-secondary);
  --home-card-action: var(--accent-on-light);
}

/* La variante sombre reste distincte du chapitre par une variation de matière. */
.home-page .home-card--dark {
  --home-card-background: var(--color-ink-raised);
  --home-card-background-hover: var(--color-panel-overlay-dark);
  --home-card-border: var(--color-border-dark-default);
  --home-card-border-hover: var(--color-primary);
  --home-card-text: var(--color-text-inverse);
  --home-card-text-muted: var(--color-card-text);
  --home-card-action: var(--color-primary);
}

/* Le document conserve un seul passe-partout fin et une image prioritaire. */
.home-page .home-card--document {
  --home-card-background: var(--surface-paper);
  --home-card-border: var(--border-on-light);
}

.home-page .home-card--testimony {
  --home-card-background: var(--color-ink-raised);
}

.home-page .home-card--overlay {
  --home-card-background: var(--color-night-deep);
  --home-card-text: var(--color-text-inverse);
  --home-card-text-muted: var(--color-card-text);
}

/*
 * Les rangées de transmission et les portes restent ouvertes. Leur séparation
 * vient des règles horizontales définies dans leur chapitre.
 */
.home-page .home-card--row {
  --home-card-background: transparent;
  border-right: 0;
  border-left: 0;
}

.home-page .home-card--door {
  --home-card-background-hover: var(--color-panel-overlay-dark);
}

@media (max-width: 680px) {
  .home-page a.home-card--link:focus-visible,
  .home-page .home-card--interactive:focus-within {
    outline-offset: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .home-card,
  .home-page .home-card__image,
  .home-page .home-card__action i {
    transition: none;
  }

  .home-page a.home-card--link:hover,
  .home-page a.home-card--link:focus-visible,
  .home-page a.home-card--link:hover .home-card__image,
  .home-page a.home-card--link:focus-visible .home-card__image,
  .home-page a.home-card--link:hover .home-card__action i,
  .home-page a.home-card--link:focus-visible .home-card__action i {
    transform: none;
  }
}
/* Source : assets/css/pages/home-motion.css */
/* Langage de mouvement des chapitres qui suivent le hero. */

.home-page [data-home-chapter] {
  position: relative;
}

.home-page [data-home-media],
.home-page [data-editorial-media] {
  backface-visibility: hidden;
  transform-style: preserve-3d;
  will-change: auto;
}

[data-narrative-phrase] .narrative-word {
  display: inline-block;
  margin-right: 10px;
}

.home-trace,
.home-transmission__entry,
.home-next__doors span {
  transition: opacity var(--transition-base), transform var(--transition-base);
}

@media (prefers-reduced-motion: reduce) {
  .home-page [data-home-media],
  .home-page [data-editorial-media] {
    clip-path: none;
    will-change: auto;
  }

  [data-narrative-phrase] .narrative-word {
    transform: none;
  }
}
/* Source : assets/css/pages/three-scenes.css */
/* La constellation est un décor narratif discret, sans interface technique visible. */
.hero-slider__three {
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1100ms ease;
}

.hero-slider.is-three-ready .hero-slider__three {
  opacity: 0.66;
}

.hero-slider.is-unavailable .hero-slider__three {
  opacity: 0;
}

@media (max-width: 680px) {
  .hero-slider.is-three-ready .hero-slider__three {
    opacity: 0.5;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slider__three,
  .hero-slider.is-three-ready .hero-slider__three {
    opacity: 0;
    transition: none;
  }
}
/* Source : assets/css/pages/home-hero.css */
/*
 * Porte d’entrée immersive de l’accueil.
 * Le texte occupe cinq colonnes ; le média, la lumière et la scène WebGL
 * construisent les sept colonnes restantes sans masquer le fallback HTML.
 */
.hero-slider {
  --hero-media-x: 0px;
  --hero-media-y: 0px;
  --hero-middle-x: 0px;
  --hero-middle-y: 0px;
  --hero-foreground-x: 0px;
  --hero-foreground-y: 0px;
  --hero-copy-x: 0px;
  --hero-copy-y: 0px;
  --hero-copy-scroll-y: 0px;
  --hero-scroll-y: 0px;
  --hero-scene-transition: 1200ms cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  height: 720px;
  min-height: 720px;
  max-height: 720px;
  overflow: hidden;
  background: var(--color-ink-deep);
  color: var(--color-text-inverse);
  isolation: isolate;
  touch-action: pan-y;
}

/* L’en-tête transparent devient le premier plan du seuil d’arrivée. */
.home-page .hero-slider {
  margin-bottom: calc(0px - var(--header-height));
  transform: translateY(calc(0px - var(--header-height)));
}

.home-page main section[id] {
  scroll-margin-top: 120px;
}

.hero-slider:focus-visible {
  outline: 3px solid var(--color-focus-contrast-light);
  outline-offset: -5px;
}

.hero-slider__slides,
.hero-slide,
.hero-slide__media-plane,
.hero-slide__shade,
.hero-slide__middle-ground,
.hero-slide__foreground,
.hero-slider__three {
  position: absolute;
  inset: 0;
}

.hero-slider__slides {
  z-index: 1;
}

/* Une assise sombre locale garantit la lecture des commandes basses. */
.hero-slider__slides::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
  height: 126px;
  background: linear-gradient(180deg, transparent, var(--color-overlay-text-bottom));
  content: "";
  pointer-events: none;
}

.hero-slide {
  --hero-overlay-start: var(--color-hero-overlay-memory-start);
  --hero-overlay-middle: var(--color-hero-overlay-memory-middle);
  --hero-overlay-end: var(--color-hero-overlay-memory-end);
  display: block;
  min-width: 0;
  min-height: 0;
  visibility: hidden;
  opacity: 0;
  transition:
    opacity var(--hero-scene-transition),
    visibility 0ms linear 1200ms;
}

.hero-slide[data-hero-theme="history"] {
  --hero-overlay-start: var(--color-hero-overlay-history-start);
  --hero-overlay-middle: var(--color-hero-overlay-history-middle);
  --hero-overlay-end: var(--color-hero-overlay-history-end);
}

.hero-slide[data-hero-theme="transmission"] {
  --hero-overlay-start: var(--color-hero-overlay-memory-start);
  --hero-overlay-middle: var(--color-hero-overlay-transmission-middle);
  --hero-overlay-end: var(--color-hero-overlay-transmission-end);
}

.hero-slide.is-active {
  z-index: 2;
  visibility: visible;
  opacity: 1;
  transition-delay: 0ms;
}

/*
 * Le média commence après 40 % de la scène. Le masque adoucit uniquement son
 * bord d’entrée : aucune teinte ne recouvre la partie architecturale.
 */
.hero-slide__media-plane {
  inset: 0 0 0 40%;
  overflow: hidden;
  transform: translate3d(
    var(--hero-media-x),
    calc(var(--hero-media-y) + var(--hero-scroll-y)),
    0
  );
  transition: transform var(--hero-scene-transition);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, var(--color-background-primary) 12%, var(--color-background-primary) 100%);
  mask-image: linear-gradient(90deg, transparent 0%, var(--color-background-primary) 12%, var(--color-background-primary) 100%);
}

.hero-slide__media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% center;
  transform: scale(1.015);
}

.hero-slide[data-hero-theme="history"] .hero-slide__media {
  object-position: 62% center;
}

.hero-slide[data-hero-theme="transmission"] .hero-slide__media {
  object-position: 68% center;
}

/* Le voile protège la rive éditoriale et s’efface avant le point de fuite. */
.hero-slide__shade {
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      var(--color-ink-deep) 0%,
      var(--hero-overlay-start) 34%,
      var(--hero-overlay-middle) 48%,
      transparent 68%
    ),
    linear-gradient(
      0deg,
      var(--color-hero-overlay-bottom-strong) 0%,
      transparent 36%
    );
  pointer-events: none;
}

/* Deux plans HTML complètent les trois plans de particules de Three.js. */
.hero-slide__middle-ground,
.hero-slide__foreground {
  z-index: 2;
  pointer-events: none;
  transition: transform var(--hero-scene-transition), opacity var(--hero-scene-transition);
}

.hero-slide__middle-ground {
  background: linear-gradient(90deg, var(--color-hero-depth-plane) 0%, transparent 56%);
  opacity: 0.72;
  transform: translate3d(var(--hero-middle-x), var(--hero-middle-y), 0);
}

.hero-slide__foreground {
  background: linear-gradient(180deg, transparent 74%, var(--color-home-depth-medium) 100%);
  opacity: 0.46;
  transform: translate3d(var(--hero-foreground-x), var(--hero-foreground-y), 0);
}

.hero-slider__three {
  z-index: 3;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1800ms ease;
}

.hero-slider.is-three-ready.is-scene-awake .hero-slider__three {
  opacity: 0.74;
}

.hero-slider[data-in-viewport="false"] .hero-slider__three {
  opacity: 0.24;
}

.hero-slide__content {
  width: 100%;
  position: relative;
  z-index: 4;
  padding-top: 172px;
  padding-bottom: 154px;
  row-gap: 0;
  transform: translate3d(
    var(--hero-copy-x),
    calc(var(--hero-copy-y) + var(--hero-copy-scroll-y)),
    0
  );
  transition: transform var(--hero-scene-transition);
}

.hero-slide__copy {
  min-width: 0;
}

.hero-slide__eyebrow {
  max-width: 560px;
  color: var(--color-primary);
}

body[data-page="home"].home-page .hero-slide .hero-slide__title {
  max-width: 560px;
  margin-top: 18px;
}

body[data-page="home"].home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
body[data-page="home"].home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title {
  max-width: 590px;
}

.hero-slide__title-line {
  display: block;
  max-width: 100%;
  overflow: hidden;
}

body[data-page="home"] .hero-slide__description {
  max-width: 540px;
  margin-top: 24px;
  color: var(--color-hero-text);
}

/* Les CTA suivent les utilitaires Bootstrap déclarés dans la vue. */
.hero-slide__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  max-width: 560px;
  margin-top: 28px;
}

.hero-slide__action {
  min-height: 48px;
  padding-right: 16px;
  padding-left: 16px;
  white-space: nowrap;
}

.hero-slide__caption {
  max-width: 540px;
  margin-top: 14px;
  color: var(--color-text-secondary);
}

/* L’indication de scroll occupe la rive opposée au repère de progression. */
.hero-slider__continuation {
  position: absolute;
  right: 0;
  bottom: 60px;
  left: 0;
  z-index: 7;
  pointer-events: none;
}

.hero-slider__continuation a {
  display: flex;
  gap: 14px;
  width: fit-content;
  min-height: 44px;
  margin-left: auto;
  align-items: center;
  color: var(--color-text-secondary);
  pointer-events: auto;
}

.hero-slider__continuation a:hover,
.hero-slider__continuation a:focus-visible {
  color: var(--color-primary);
}

/*
 * Ce verrou très court évite le flash des repères pendant que le profil
 * d’expérience passe de son fallback statique au mouvement complet.
 */
.hero-slider.is-entry-running .hero-slider__controls,
.hero-slider.is-entry-running .hero-slider__continuation {
  opacity: 0;
  visibility: hidden;
}

.hero-slider__continuation a i {
  display: block;
  width: 64px;
  height: 1px;
  overflow: hidden;
  background: var(--color-border-interactive);
}

.hero-slider__continuation a i::after {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  content: "";
  transform: scaleX(0.3);
  transform-origin: left center;
  animation: hero-scroll-cue 2800ms ease-in-out infinite;
}

@keyframes hero-scroll-cue {
  50% {
    transform: scaleX(1);
    transform-origin: left center;
  }

  51% {
    transform-origin: right center;
  }

  100% {
    transform: scaleX(0.3);
    transform-origin: right center;
  }
}

/*
 * Le repère bas est une frise éditoriale : trois verbes, deux flèches
 * fonctionnelles et un contrôle de lecture sans cadre de carte.
 */
.home-page [data-section-model="introduction-institutionnelle"] .hero-slider__controls {
  position: absolute;
  right: 0;
  bottom: 60px;
  left: 0;
  z-index: 7;
  display: grid;
  grid-template-columns: 44px minmax(420px, 650px) 44px 44px;
  gap: 12px;
  align-items: end;
  justify-content: start;
  pointer-events: none;
}

.hero-slider__controls button,
.hero-slider__navigation {
  pointer-events: auto;
}

.hero-slider__arrow,
.hero-slider__pause {
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border: 1px solid var(--color-border-dark-default);
  background: transparent;
  color: var(--color-text-secondary);
  cursor: pointer;
  transition:
    border-color var(--transition-fast),
    color var(--transition-fast);
}

.hero-slider__arrow:hover,
.hero-slider__arrow:focus-visible,
.hero-slider__pause:hover,
.hero-slider__pause:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.hero-slider__arrow svg,
.hero-slider__pause svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5px;
}

.hero-slider__play-icon {
  display: none;
}

.hero-slider__pause[aria-pressed="true"] .hero-slider__pause-icon {
  display: none;
}

.hero-slider__pause[aria-pressed="true"] .hero-slider__play-icon {
  display: block;
}

.hero-slider__navigation {
  min-width: 0;
}

/* Le statut vocal reste disponible sans répéter visuellement les trois index. */
.hero-slider__counter {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.hero-slider__pagination {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hero-slider__pagination-button {
  position: relative;
  display: grid;
  min-height: 48px;
  padding: 14px 16px 0 0;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border-top: 1px solid var(--color-border-dark-default);
  background: transparent;
  color: var(--color-text-secondary);
  cursor: pointer;
  text-align: left;
  transition:
    border-color var(--transition-base),
    color var(--transition-base);
}

.hero-slider__pagination-button::before {
  position: absolute;
  top: -3px;
  left: 0;
  width: 5px;
  height: 5px;
  background: currentcolor;
  border-radius: 50%;
  content: "";
  opacity: 0.55;
}

.hero-slider__pagination-button:hover,
.hero-slider__pagination-button:focus-visible,
.hero-slider__pagination-button.is-active {
  border-top-color: var(--color-primary);
  color: var(--color-primary);
}

.hero-slider__pagination-button.is-active::before {
  width: 7px;
  height: 7px;
  top: -4px;
  opacity: 1;
}

.hero-slider__pause[hidden] {
  display: none;
}

.hero-slider__progress {
  position: absolute;
  right: 0;
  bottom: 48px;
  left: 0;
  z-index: 7;
  height: 2px;
  background: var(--color-border-dark-default);
}

.hero-slider__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  transform: scaleX(0);
  transform-origin: left center;
}

/* Sans JavaScript, la première image HTML reste une porte complète et lisible. */
.no-js .hero-slide:not(:first-child),
.no-js .hero-slider__controls,
.no-js .hero-slider__progress,
.no-js .hero-slider__three,
.no-js #scene-accueil-description,
.no-js #instructions-hero {
  display: none;
}

.no-js .hero-slide:first-child {
  visibility: visible;
  opacity: 1;
}

@media (max-width: 1199px) {
  .hero-slide__media-plane {
    left: 44%;
  }

  .home-page [data-section-model="introduction-institutionnelle"] .hero-slider__controls {
    grid-template-columns: 44px minmax(340px, 540px) 44px 44px;
  }

  .hero-slider__continuation a {
    max-width: 250px;
  }
}

@media (max-width: 991px) {
  .hero-slider {
    height: auto;
    min-height: 740px;
    max-height: none;
  }

  .hero-slide__media-plane {
    inset: 0;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .hero-slide__shade {
    background:
      linear-gradient(
        0deg,
        var(--color-hero-overlay-mobile-strong) 0%,
        var(--color-overlay-text-side-start) 58%,
        var(--color-hero-overlay-mobile-middle) 82%,
        transparent 100%
      ),
      linear-gradient(90deg, var(--color-overlay-text-side-middle), transparent 84%);
  }

  .hero-slide__content {
    padding-bottom: 142px;
    padding-top: 154px;
  }

  .hero-slider__continuation {
    bottom: 82px;
  }

  .hero-slider__progress {
    bottom: 0;
  }

  .hero-slider__continuation a {
    margin-left: 0;
  }

  .home-page [data-section-model="introduction-institutionnelle"] .hero-slider__controls {
    bottom: 18px;
    grid-template-columns: 44px minmax(0, 1fr) 44px 44px;
    gap: 8px;
  }

  .hero-slider__pagination-label {
    display: none;
  }
}

@media (max-width: 680px) {
  /* La scène compacte reste disponible avec trois nappes moins denses. */
  .hero-slider__three {
    display: block;
  }

  .hero-slide__media {
    object-position: 62% center;
  }

  .hero-slide[data-hero-theme="history"] .hero-slide__media {
    object-position: 66% center;
  }

  .hero-slide[data-hero-theme="transmission"] .hero-slide__media {
    object-position: 70% center;
  }

  .hero-slide__content {
    /* Le contenu remonte légèrement afin que la diapositive la plus longue
     * conserve un intervalle net avant l’indication de défilement. */
    padding-bottom: 80px;
    padding-top: 160px;
  }

  body[data-page="home"].home-page .hero-slide .hero-slide__title,
  body[data-page="home"].home-page .hero-slide[data-hero-theme="history"] .hero-slide__title,
  body[data-page="home"].home-page .hero-slide[data-hero-theme="transmission"] .hero-slide__title {
    max-width: 100%;
    margin-top: 14px;
  }

  body[data-page="home"] .hero-slide__description {
    margin-top: 16px;
  }

  .hero-slide__actions {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
  }

  .hero-slide__actions .button {
    width: 100%;
  }

  .hero-slider__continuation {
    bottom: 130px;
  }

  .hero-slider__continuation a {
    gap: 10px;
    width: 100%;
    max-width: none;
    justify-content: space-between;
  }

  .hero-slider__continuation span {
    white-space: nowrap;
  }

  .hero-slider__continuation a i {
    width: 30px;
  }

  .home-page [data-section-model="introduction-institutionnelle"] .hero-slider__controls {
    grid-template-areas:
      "navigation navigation navigation navigation"
      "previous spacer next pause";
    grid-template-columns: 44px minmax(0, 1fr) 44px 44px;
    row-gap: 8px;
  }

  .hero-slider__controls [data-slider-prev] {
    grid-area: previous;
  }

  .hero-slider__navigation {
    grid-area: navigation;
  }

  .hero-slider__controls [data-slider-next] {
    grid-area: next;
  }

  .hero-slider__pause {
    grid-area: pause;
  }

  .hero-slider__pagination-label {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .hero-slider__pagination-button {
    min-height: 44px;
    padding-top: 10px;
    padding-right: 6px;
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}

@media (max-width: 360px) {
  .hero-slide__content {
    padding-top: 70px;
  }

  .hero-slide__actions .hero-slide__action {
    padding-right: 12px;
    padding-left: 12px;
    white-space: nowrap;
  }

  .hero-slider__pagination-label {
    display: none;
  }
}

@media (max-width: 375px) {
  .hero-slide__content {
    padding-top: 70px;
  }

  .hero-slider__continuation span {
    max-width: 210px;
  }
}

/*
 * Le mouvement réduit garde les images, les textes, les CTA et la progression
 * manuelle. Seuls l’autoplay, la 3D et les déplacements de profondeur cessent.
 */
html[data-experience-level="reduced"] .hero-slider__three,
html[data-experience-level="static"] .hero-slider__three {
  display: none;
}

html[data-experience-level="reduced"] .hero-slide,
html[data-experience-level="static"] .hero-slide {
  transition:
    opacity 220ms ease,
    visibility 0ms linear 220ms;
}

html[data-experience-level="reduced"] .hero-slide.is-active,
html[data-experience-level="static"] .hero-slide.is-active {
  transition-delay: 0ms;
}

html[data-experience-level="reduced"] .hero-slide__media-plane,
html[data-experience-level="reduced"] .hero-slide__media,
html[data-experience-level="reduced"] .hero-slide__middle-ground,
html[data-experience-level="reduced"] .hero-slide__foreground,
html[data-experience-level="reduced"] .hero-slide__content,
html[data-experience-level="static"] .hero-slide__media-plane,
html[data-experience-level="static"] .hero-slide__media,
html[data-experience-level="static"] .hero-slide__middle-ground,
html[data-experience-level="static"] .hero-slide__foreground,
html[data-experience-level="static"] .hero-slide__content {
  transform: none;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .hero-slider__three {
    display: none;
  }

  .hero-slider,
  .hero-slide,
  .hero-slide__media-plane,
  .hero-slide__media,
  .hero-slide__middle-ground,
  .hero-slide__foreground,
  .hero-slide__content,
  .hero-slider__continuation a i::after {
    animation: none;
    transition: none;
  }
}
/* Source : assets/css/pages/home-actions.css */
/*
 * Hiérarchie des actions de l’accueil.
 * Les boutons indiquent une décision de parcours ; les liens accompagnent un
 * contenu et les portes conservent leur composition architecturale.
 */
.home-page main .home-action {
  box-shadow: var(--shadow-none);
}

.home-page main .home-action--primary,
.home-page main .home-action--secondary {
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 0;
}

/* Les formulations longues du hero peuvent respirer sur deux lignes. */
.home-page main .hero-slide__action {
  min-width: 0;
  white-space: normal;
  text-align: center;
}

.home-page main .home-action--primary {
  border: 1px solid var(--color-primary);
  background: var(--color-primary);
  color: var(--button-primary-text);
}

.home-page main .home-action--primary:hover {
  border-color: var(--color-primary-hover);
  background: var(--color-primary-hover);
  color: var(--button-primary-text);
}

.home-page main .home-action--secondary {
  border: 1px solid var(--color-primary);
  background: transparent;
  color: var(--color-primary);
}

.home-page main .home-action--secondary:hover {
  border-color: var(--color-primary-hover);
  background: var(--color-primary-hover);
  color: var(--button-primary-text);
}

.home-page main .home-action--link {
  min-height: 44px;
  color: var(--color-primary-hover);
}

.home-page main .home-action--link i,
.home-page main .home-action--route .home-card__action i {
  transition: transform var(--transition-base);
}

.home-page main .home-action--link:hover i,
.home-page main .home-action--link:focus-visible i,
.home-page main .home-action--route:hover .home-card__action i,
.home-page main .home-action--route:focus-visible .home-card__action i {
  transform: translateX(4px);
}

/*
 * Un contour franc remplace la double ombre globale sur les actions et les
 * contrôles du récit. Il reste visible au clavier sur fond clair ou sombre.
 */
.home-page main .home-action:focus-visible,
.home-page main [data-home-control]:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: 4px;
  box-shadow: var(--shadow-none);
}

.home-page main .home-understanding__steps > .home-action--primary,
.home-page main .home-voices__aside > .home-action--primary,
.home-page main .home-tribute__copy > .home-action--primary {
  justify-self: start;
  margin-top: var(--home-rhythm-lg);
}

.home-page main .home-tribute__copy > .home-action--primary {
  justify-self: center;
}

.home-page main .home-transmission .home-transmission__active-content .home-action--primary {
  color: var(--button-primary-text);
}

@media (max-width: 680px) {
  .home-page main .home-action--primary,
  .home-page main .home-action--secondary {
    width: 100%;
    min-height: 52px;
    white-space: normal;
  }

  .home-page main .home-panorama__copy nav {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page main .home-action--link i,
  .home-page main .home-action--route .home-card__action i {
    transition: none;
  }
}

/*
 * Thème mémoriel de l’accueil.
 * Les alias locaux permettent de normaliser les sections sans modifier leurs
 * structures, leurs identifiants ni le shell public partagé.
 */
.home-page main {
  --color-background: var(--color-background-secondary);
  --color-background-subtle: var(--color-background-tertiary);
  --color-background-inverse: var(--color-background-primary);
  --color-surface: var(--color-surface-elevated);
  --color-text: var(--color-text-primary);
  --color-text-muted: var(--color-text-secondary);
  --color-text-inverse: var(--color-text-primary);
  --color-primary: var(--accent-on-dark);
  --color-accent: var(--accent-on-dark);
  --color-primary-hover: var(--accent-on-dark-hover);
  --color-border: var(--color-border-structural);
  --color-border-strong: var(--color-border-interactive);
  --color-border-translucent: var(--color-border-structural);
  --color-ink-deep: var(--color-background-primary);
  --color-ink-soft: var(--color-background-secondary);
  --color-ink-raised: var(--color-background-tertiary);
  --color-media-placeholder: var(--color-surface-elevated);
  --color-home-copy: var(--color-text-secondary);
  --color-card-text: var(--color-text-secondary);
  --color-index-text: var(--color-text-secondary);
  --color-panel-overlay-dark: var(--color-panel-overlay-memorial-dark);
  --color-panel-overlay-light: var(--color-panel-overlay-memorial-raised);
  --color-panel-overlay-light-soft: var(--color-panel-overlay-memorial-raised-soft);
  --color-hero-overlay-start: var(--color-overlay-text-side-start);
  --color-hero-overlay-middle: var(--color-overlay-text-side-middle);
  --color-hero-overlay-end: var(--color-overlay-text-side-end);
  --color-hero-overlay-mobile-start: var(--color-overlay-text-bottom);
  --color-hero-overlay-mobile-end: var(--color-overlay-text-side-middle);
  --button-primary-background: var(--accent-on-dark);
  --button-primary-background-hover: var(--accent-on-dark-hover);
  --button-primary-background-active: var(--accent-on-dark-active);
  --button-primary-text: var(--color-background-primary);
  --button-link-color: var(--accent-on-dark);
  --button-outline-color: var(--accent-on-dark);
  --button-outline-background-hover: var(--accent-on-dark-hover);
  --button-outline-text-hover: var(--color-background-primary);
  /*
   * Aucun libellé visible de l’accueil ne descend sous 14px. Les alias restent
   * locaux afin de ne pas modifier la composition des pages internes.
   */
  --font-size-tiny: var(--font-size-caption);
  --font-size-label: var(--font-size-caption);
  --font-size-eyebrow: var(--font-size-caption-responsive);
  --font-size-metadata: var(--font-size-caption-responsive);
  --shadow-soft: none;
  --shadow-document-soft: none;
  background: var(--color-background-primary);
  color: var(--color-text-primary);
  color-scheme: dark;
}

/* Le fond de l’accueil reste sombre sans transmettre ses alias au shell. */
.home-page {
  background: var(--color-background-primary);
  color: var(--color-text-primary);
  color-scheme: dark;
}

/*
 * Rythme commun des grands chapitres de l’accueil. Les modules peuvent ajuster
 * les deux bornes par variables sans recréer une composition parallèle.
 */
.home-page main .section-padding {
  padding-top: var(--section-padding-start, var(--home-rhythm-section));
  padding-bottom: var(--section-padding-end, var(--home-rhythm-section-compact));
}

.home-page main .section-header {
  min-width: 0;
  margin-bottom: var(--home-rhythm-group);
  padding-bottom: 0;
}

.home-page main .section-kicker {
  margin-bottom: var(--home-rhythm-lg);
}

.home-page main .section-title {
  max-width: min(100%, 900px);
  text-wrap: balance;
}

.home-page main .section-kicker + .section-title {
  margin-top: 0;
}

.home-page main .section-intro {
  max-width: var(--container-reading);
}

.home-page main .section-body {
  min-width: 0;
  margin-top: 0;
}

@media (max-width: 680px) {
  .home-page main .section-header {
    margin-bottom: var(--home-rhythm-xl);
  }

  .home-page main .section-kicker {
    margin-bottom: var(--home-rhythm-sm);
  }
}

/*
 * Les liens éditoriaux sans composant dédié restent identifiables hors survol.
 * Les boutons et liens d’action conservent leur propre langage visuel.
 */
.home-page main p a:not(.button, .text-link) {
  color: var(--color-accent-primary-hover);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.home-page main p a:not(.button, .text-link):hover,
.home-page main p a:not(.button, .text-link):focus-visible {
  color: var(--color-text-primary);
  text-decoration-thickness: 3px;
}

/* Les textes éditoriaux restent dans une mesure de lecture de 60 à 75 caractères. */
.home-page main :where(
  .hero-slide__description,
  .home-threshold__copy > p,
  .home-understanding__intro > p,
  .home-understanding__step > p,
  .home-voices__heading > p,
  .home-voices__context,
  .home-traces__introduction > p,
  .trace-visual__copy > p,
  .home-transmission__heading > p,
  .home-transmission__entry > p,
  .home-next__doors p
) {
  max-width: var(--container-reading);
}

/* Les titres conservent une césure naturelle, y compris dans les colonnes étroites. */
.home-page main :where(h1, h2, h3, .home-card__title) {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/*
 * Couche de compatibilité du hero précédent.
 * Le module home-hero.css porte désormais la composition active ; cette couche
 * conserve temporairement les anciens garde-fous non encore mutualisés.
 */
@layer hero-legacy {
/* Hero éditorial : la composition, les couleurs et les proportions prolongent le template Musea. */
.hero-slider {
  --hero-media-x: 0px;
  --hero-media-y: 0px;
  --hero-middle-x: 0px;
  --hero-middle-y: 0px;
  --hero-foreground-x: 0px;
  --hero-foreground-y: 0px;
  --hero-copy-x: 0px;
  --hero-copy-y: 0px;
  --hero-copy-scroll-y: 0px;
  --hero-scroll-y: 0px;
  --hero-scene-transition: 1400ms cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  min-height: 650px;
  overflow: hidden;
  background: var(--color-ink-deep);
  color: var(--color-text-inverse);
  touch-action: pan-y;
}

/* Sur l’accueil, le header du template devient le premier plan de la scène d’arrivée. */
.home-page main .hero-slider {
  margin-bottom: calc(0px - var(--header-height));
  transform: translateY(calc(0px - var(--header-height)));
}

/* Les liens de chapitre conservent leur titre sous l’en-tête fixe. */
.home-page main section[id] {
  scroll-margin-top: 120px;
}

.hero-slider::before,
.hero-slider::after {
  position: absolute;
  z-index: 4;
  pointer-events: none;
  content: "";
}

.hero-slider::before {
  inset: -18% -8%;
  background:
    radial-gradient(circle at 72% 42%, var(--color-hero-light), transparent 26%),
    linear-gradient(112deg, transparent 38%, var(--color-hero-haze) 52%, transparent 67%);
  filter: blur(14px);
  animation: hero-light-breath 13s ease-in-out infinite alternate;
  animation-play-state: paused;
}

.hero-slider[data-in-viewport="true"]::before {
  animation-play-state: running;
}

.hero-slider::after {
  right: 7%;
  bottom: 9%;
  width: 2px;
  height: 30%;
  background: linear-gradient(transparent, var(--color-primary-glow-strong), transparent);
  opacity: 0.42;
}

@keyframes hero-light-breath {
  from { opacity: 0.46; transform: translate3d(-18px, 0, 0) scale(0.98); }
  to { opacity: 0.82; transform: translate3d(24px, -12px, 0) scale(1.035); }
}

.hero-slider__slides,
.hero-slide,
.hero-slide__media-plane,
.hero-slide__media,
.hero-slide__shade,
.hero-slide__middle-ground,
.hero-slide__foreground,
.hero-slider__three {
  position: absolute;
  inset: 0;
}

.hero-slider__slides {
  z-index: 1;
}

.hero-slider__slides::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
  height: 230px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    var(--color-hero-threshold-dark) 28%,
    var(--color-hero-threshold-light) 72%,
    var(--color-hero-threshold-dark) 100%
  );
  content: "";
  pointer-events: none;
}

.hero-slide {
  display: block;
  min-width: 0;
  min-height: 0;
  clip-path: inset(0 0 0 5%);
  visibility: hidden;
  opacity: 0;
  transition:
    opacity var(--hero-scene-transition),
    clip-path var(--hero-scene-transition),
    visibility 0ms linear 1400ms;
}

.hero-slide.is-active {
  z-index: 2;
  clip-path: inset(0);
  visibility: visible;
  opacity: 1;
  transition-delay: 0ms;
}

.hero-slide__media-plane {
  overflow: hidden;
  transform: translate3d(
    var(--hero-media-x),
    calc(var(--hero-media-y) + var(--hero-scroll-y)),
    0
  );
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.hero-slide__media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.065);
  transition: transform 6500ms linear;
}

.hero-slide.is-active .hero-slide__media {
  transform: scale(1.015);
}

.hero-slide[data-hero-theme="history"].is-active .hero-slide__media {
  transform: scale(1.025);
}

.hero-slide[data-hero-theme="transmission"].is-active .hero-slide__media {
  transform: scale(1.005);
}

.hero-slide__shade {
  background: linear-gradient(
    90deg,
    var(--color-hero-overlay-start) 0%,
    var(--color-hero-overlay-middle) 48%,
    var(--color-hero-overlay-end) 100%
  );
}

.hero-slide[data-hero-theme="history"] .hero-slide__shade {
  background:
    linear-gradient(90deg, var(--color-hero-overlay-start) 0%, var(--color-hero-overlay-middle) 52%, var(--color-hero-overlay-end) 100%),
    linear-gradient(180deg, transparent 0%, var(--color-home-depth-subtle) 100%);
}

.hero-slide[data-hero-theme="transmission"] .hero-slide__shade {
  background:
    radial-gradient(circle at 78% 38%, var(--color-hero-light), transparent 32%),
    linear-gradient(90deg, var(--color-hero-overlay-start) 0%, var(--color-hero-overlay-middle) 48%, var(--color-hero-overlay-end) 100%);
}

/* Les deux plans ajoutent de la profondeur sans introduire une nouvelle imagerie. */
.hero-slide__middle-ground,
.hero-slide__foreground {
  pointer-events: none;
}

.hero-slide__middle-ground {
  z-index: 1;
  background: linear-gradient(90deg, var(--color-home-depth-subtle) 0%, transparent 58%);
  transform: translate3d(calc(-14px + var(--hero-middle-x)), var(--hero-middle-y), 0);
  transition: transform var(--hero-scene-transition);
}

.hero-slide__foreground {
  z-index: 2;
  border-top: 1px solid var(--color-home-border-subtle);
  opacity: 0.68;
  transform: translate3d(calc(10px + var(--hero-foreground-x)), var(--hero-foreground-y), 0);
  transition: transform 1100ms cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-slide.is-active .hero-slide__middle-ground,
.hero-slide.is-active .hero-slide__foreground {
  transform: translate3d(var(--hero-middle-x), var(--hero-middle-y), 0);
}

.hero-slide.is-active .hero-slide__foreground {
  transform: translate3d(var(--hero-foreground-x), var(--hero-foreground-y), 0);
}

.hero-slide[data-hero-theme="history"] .hero-slide__middle-ground {
  background:
    repeating-linear-gradient(90deg, transparent 0, transparent 89px, var(--color-home-border-subtle) 90px),
    linear-gradient(90deg, var(--color-home-depth-medium), transparent 68%);
}

.hero-slide[data-hero-theme="transmission"] .hero-slide__middle-ground {
  background: radial-gradient(circle at 78% 52%, var(--color-hero-haze), transparent 38%);
}

.hero-slider__three {
  z-index: 3;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.hero-slide__content {
  position: relative;
  z-index: 4;
  max-width: calc(100% - (var(--gutter) * 2));
  padding-top: 120px;
  padding-bottom: 120px;
  row-gap: 0;
  transform: translate3d(
    var(--hero-copy-x),
    calc(var(--hero-copy-y) + var(--hero-copy-scroll-y)),
    0
  );
  transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (min-width: 992px) and (max-height: 800px) {
  .hero-slide__content,
  .hero-slide[data-hero-theme="history"] .hero-slide__content,
  .hero-slide[data-hero-theme="transmission"] .hero-slide__content {
    padding-top: 110px;
    padding-bottom: 120px;
  }

}

@media (min-width: 681px) {
  /* Les récits longs libèrent le seuil de continuation sans réduire leur lisibilité. */
  .hero-slide[data-hero-theme="history"] .hero-slide__content,
  .hero-slide[data-hero-theme="transmission"] .hero-slide__content {
    padding-bottom: 120px;
  }

  .hero-slide[data-hero-theme="history"] .hero-slide__description,
  .hero-slide[data-hero-theme="transmission"] .hero-slide__description {
    margin-top: 22px;

  }

  .hero-slide[data-hero-theme="history"] .hero-slide__actions,
  .hero-slide[data-hero-theme="transmission"] .hero-slide__actions {
    margin-top: 30px;
  }
}

.hero-slide__eyebrow {
  max-width: 760px;
}

.hero-slide__title {
  max-width: 940px;

}

.hero-slide__title-line {
  display: block;
  max-width: 100%;
  overflow: hidden;
}

.hero-slide[data-hero-theme="history"] .hero-slide__title {
  max-width: 1020px;

}

.hero-slide[data-hero-theme="transmission"] .hero-slide__title {
  max-width: 980px;

}

.hero-slide__description {
  max-width: 720px;
  margin-top: var(--rhythm-title-intro);
  color: var(--color-hero-text);

}

.hero-slide__actions,
.home-section-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rhythm-card-gap-mobile);
  margin-top: var(--rhythm-content-action);
}

.hero-slider__continuation {
  position: absolute;
  right: 0;
  bottom: 106px;
  left: 0;
  z-index: 6;
  pointer-events: none;
}

.hero-slider__continuation a {
  display: flex;
  gap: 16px;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  color: var(--color-index-text);
  pointer-events: auto;
}

.hero-slider__continuation a:hover,
.hero-slider__continuation a:focus-visible {
  color: var(--color-primary);
}

.hero-slider__continuation a i {
  display: block;
  width: 82px;
  height: 1px;
  overflow: hidden;
  background: var(--color-border-translucent);
}

.hero-slider__continuation a i::after {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  content: "";
  transform: scaleX(0.32);
  transform-origin: left center;
  animation: hero-continuation 2600ms ease-in-out infinite;
}

@keyframes hero-continuation {
  50% { transform: scaleX(1); transform-origin: left center; }
  51% { transform-origin: right center; }
  100% { transform: scaleX(0.32); transform-origin: right center; }
}

.hero-slider__controls {
  position: absolute;
  right: 0;
  bottom: 52px;
  left: 0;
  z-index: 6;
  display: grid;
  grid-template-columns: 48px auto minmax(180px, 360px) auto 48px;
  gap: 18px;
  align-items: center;
  justify-content: start;
  pointer-events: none;
}

.hero-slider__controls button {
  pointer-events: auto;
}

.hero-slider__arrow {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: var(--border-width) solid var(--color-border-strong);
  background: transparent;
  color: var(--color-text-inverse);
  cursor: pointer;
  transition: border-color var(--transition-fast), color var(--transition-fast);
}

.hero-slider__arrow:hover,
.hero-slider__arrow:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.hero-slider__arrow svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5px;
}

.hero-slider__counter,
.hero-slider__pause {
  color: var(--color-index-text);

}

.hero-slider__pagination {
  display: grid;
  grid-template-columns: repeat(3, minmax(50px, 1fr));
  gap: 12px;
}

.hero-slider__pagination-button {
  padding: 12px 0;
  border-bottom: var(--border-width) solid var(--color-border-translucent);
  background: transparent;
  color: var(--color-index-text);
  cursor: pointer;

  text-align: left;
  transition: border-color var(--transition-fast), color var(--transition-fast);
}

.hero-slider__pagination-button:hover,
.hero-slider__pagination-button:focus-visible,
.hero-slider__pagination-button.is-active {
  border-bottom-color: var(--color-primary);
  color: var(--color-primary);
}

.hero-slider__pause {
  display: grid;
  width: 48px;
  height: 48px;
  padding: 0;
  background: transparent;
  cursor: pointer;
  place-items: center;
}

.hero-slider__pause:hover,
.hero-slider__pause:focus-visible {
  color: var(--color-primary);
}

.hero-slider__pause svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-width: 1.4px;
}

.hero-slider__progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 6;
  height: 2px;
  background: var(--color-border-translucent);
}

.hero-slider__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  transform: scaleX(0);
  transform-origin: left center;
}

/* Le rendu statique retire les commandes qui nécessitent un contrôleur JavaScript. */
.no-js .hero-slider__controls,
.no-js .hero-slider__progress,
.no-js .hero-slider__three,
.no-js #scene-accueil-description,
.no-js .home-voices__selectors,
.no-js [data-voice-transcript] {
  display: none;
}

@media (max-width: 1180px) {

  .hero-slider__controls {
    grid-template-columns: 48px auto minmax(150px, 300px) auto 48px;
  }

}

@media (max-width: 900px) {
  .hero-slider,
  .hero-slide {
    min-height: 760px;
  }

  .hero-slide__content {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .hero-slider__controls {
    grid-template-columns: 48px auto 1fr auto 48px;
  }

  .hero-slider__pagination {
    min-width: 180px;
  }

}

@media (max-width: 680px) {
  .hero-slider,
  .hero-slide {
    min-height: 820px;
  }

  .hero-slider__three {
    display: block;
    opacity: 0.66;
  }

  .hero-slide__content {
    padding-top: 110px;
    padding-bottom: 120px;
  }

  .hero-slide__title {
    max-width: 540px;

  }

  .hero-slide__description {
    margin-top: var(--rhythm-title-intro);

  }

  .hero-slide__actions {
    align-items: stretch;
    flex-direction: column;
    margin-top: var(--rhythm-content-action);
  }

  .hero-slide__actions .button {
    width: 100%;
  }

  .hero-slider__controls {
    bottom: 30px;
    grid-template-columns: 44px 1fr auto 44px;
    gap: 12px;
  }

  .hero-slider__arrow {
    width: 44px;
    height: 44px;
  }

  .hero-slider__counter {
    display: none;
  }

  .hero-slider__pagination {
    min-width: 0;
  }

  .hero-slider__pause {
    min-width: 54px;
  }

  .home-section-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .home-section-actions .button {
    width: 100%;
  }

}

@media (max-width: 430px) {
  .hero-slider,
  .hero-slide {
    min-height: 880px;
  }

  .hero-slide__content {
    padding-bottom: 120px;
  }

  .hero-slider__pagination-button {
    text-align: center;
  }

  .hero-slider__controls {
    bottom: 22px;
    grid-template-areas:
      "previous pagination next"
      ". pause .";
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 8px 12px;
  }

  .hero-slider__controls [data-slider-prev] {
    grid-area: previous;
  }

  .hero-slider__pagination {
    grid-area: pagination;
  }

  .hero-slider__pause {
    grid-area: pause;
    justify-self: center;
    padding: 4px 12px;
  }

  .hero-slider__controls [data-slider-next] {
    grid-area: next;
  }

  .hero-slider__continuation {
    bottom: 142px;
  }
}

@media (max-width: 375px) {
  .hero-slider,
  .hero-slide {
    min-height: 910px;
  }

  .hero-slider__pause {
    display: block;
    min-width: 46px;

  }
}

@media (max-width: 320px) {
  .hero-slider,
  .hero-slide {
    min-height: 930px;
  }

  .hero-slide__content {
    padding-bottom: 120px;
  }

}

/* Le profil allégé conserve les changements manuels, sans mouvement continu ni profondeur coûteuse. */
html[data-experience-level="reduced"] .hero-slider::before,
html[data-experience-level="reduced"] .hero-slider__continuation a i::after {
  animation: none;
}

html[data-experience-level="reduced"] .hero-slide {
  clip-path: none;
  transition:
    opacity 320ms ease,
    visibility 0ms linear 320ms;
}

html[data-experience-level="reduced"] .hero-slide.is-active {
  transition-delay: 0ms;
}

html[data-experience-level="reduced"] .hero-slide__media-plane {
  transform: none;
  transition: none;
  will-change: auto;
}

html[data-experience-level="reduced"] .hero-slide__media,
html[data-experience-level="reduced"] .hero-slide__middle-ground,
html[data-experience-level="reduced"] .hero-slide__foreground,
html[data-experience-level="reduced"] .hero-slide__content,
html[data-experience-level="reduced"] .hero-slide__narrative {
  transform: none;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .hero-slider::before,
  .hero-slider__continuation a i::after {
    animation: none;
  }

  .hero-slide,
  .hero-slide__media-plane,
  .hero-slide__media,
  .hero-slide__middle-ground,
  .hero-slide__foreground,
  .hero-slide__content {
    transition: none;
  }

  .hero-slide {
    clip-path: none;
  }

  .hero-slide__media-plane,
  .hero-slide__middle-ground,
  .hero-slide__foreground,
  .hero-slide__content {
    transform: none;
  }

  .hero-slide__media {
    transform: none;
  }
}
}

/* Source : assets/css/pages/about.css */
/* Source : assets/css/pages/content.css */
.page-intro {
  max-width: 920px;
}

.page-intro > * + * {
  margin-top: 30px;
}

.numbered-list {
  counter-reset: item;
  border-top: 1px solid var(--color-border);
}

.numbered-list__item {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) minmax(260px, 1fr);
  gap: 36px;
  padding: 36px 0;
  border-bottom: 1px solid var(--color-border);
  counter-increment: item;
}

.numbered-list__item::before {
  color: var(--color-text-soft);
  content: "0" counter(item);

}

.numbered-list__item p {
  color: var(--color-text-soft);
}

.resource-list {
  border-top: 1px solid var(--color-border);
}

.resource-list__item {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(200px, 1fr) auto;
  gap: 30px;
  align-items: center;
  padding: 26px 0;
  border-bottom: 1px solid var(--color-border);
}

.status-block {
  padding: 36px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.status-block > * + * {
  margin-top: 18px;
}

.contact-details {
  display: grid;
  gap: 30px;
}

.contact-details div {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-border);
}

.contact-details dt {
  margin-bottom: 8px;

}

.contact-details dd {
  color: var(--color-text-soft);

}

@media (max-width: 800px) {
  .numbered-list__item {
    grid-template-columns: 54px minmax(0, 1fr);
  }

  .numbered-list__item p {
    grid-column: 2;
  }

  .resource-list__item {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 479px) {
  /* La colonne de titre reste assez large pour les mots mémoriels longs. */
  .numbered-list__item {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 16px;
  }
}
/* Source : assets/css/pages/narrative.css */
.narrative-page {
  position: relative;
  overflow: clip;
}

.narrative-progress {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1200;
  width: 4px;
  height: 900px;
  pointer-events: none;
}

.narrative-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  transform: scaleY(0);
  transform-origin: top;
}

.narrative-number {
  display: block;
  margin-bottom: 22px;
  color: var(--color-primary);

}

.narrative-media {
  margin: 0;
  background: var(--color-ink-soft);
}

.narrative-media img {
  display: block;
  width: 100%;
  min-height: 420px;
  object-fit: cover;
}

.narrative-media figcaption {
  padding: 12px 0;
  color: var(--color-text-soft);

}

.narrative-quote {
  margin-top: 38px;
  padding: 30px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.narrative-quote cite {
  display: block;
  margin-top: 18px;
  color: var(--color-text-soft);

}

.narrative-document {
  display: grid;
  gap: 8px;
  margin-top: 36px;
  padding: 24px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.narrative-document span {
  color: var(--color-text-soft);

}

@media (max-width: 760px) {
  .narrative-progress {
    width: 3px;
  }

  .narrative-media img {
    min-height: 280px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .narrative-progress {
    display: none;
  }
}

/*
 * Le parcours About conserve les tokens, la typographie et la grille Bootstrap
 * du thème. Seuls le rythme, les médias et les liaisons narratives sont précisés.
 */
body[data-page="about"] main .section {
  margin-bottom: 0px;
}

body[data-page="about"] main .narrative-page,
body[data-page="about"] main .narrative-page * {
  word-break: normal;
  overflow-wrap: normal;
}

body[data-page="about"] main .card {
  display: block;
  min-width: auto;
  border-right: 0px;
  border-bottom: 0px;
  border-left: 0px;
  border-radius: 0px;
  background: transparent;
  color: inherit;
  box-shadow: var(--shadow-none);
}

/* Le hero institutionnel s'appuie sur une rangée Bootstrap, sans hauteur écran artificielle. */
body[data-page="about"] .about-hero {
  display: flex;
  width: 100%;
  height: 690px;
  min-height: 690px;
  max-height: 750px;
  align-items: stretch;
  isolation: isolate;
}

body[data-page="about"] .about-hero__content {
  z-index: 3;
  width: min(calc(100% - (var(--gutter) * 2)), var(--container-max));
  max-width: var(--container-max);
  min-height: 100%;
  padding-top: var(--space-8);
  padding-bottom: var(--space-6);
}

.about-hero .hero__media {
  z-index: 0;
  inset: -20px;
  width: calc(100% + 40px);
  height: calc(100% + 40px);
  object-position: center 44%;
  transform-origin: center center;
}

.about-hero__shade {
  z-index: 2;
  background:
    linear-gradient(90deg, var(--color-hero-overlay-start) 0%, var(--color-hero-overlay-middle) 55%, var(--color-hero-overlay-end) 100%),
    linear-gradient(0deg, var(--color-hero-overlay-bottom-strong) 0%, transparent 58%);
}

.about-hero__copy {
  gap: var(--space-4);
  max-width: 820px;
}

.about-hero__copy .hero__lead {
  max-width: 680px;
  margin-top: 0px;
}

.about-hero__navigation {
  gap: var(--space-6);
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border-dark);
}

.about-hero__chapter {
  gap: var(--space-3);
  margin: 0px;
  color: var(--color-hero-text);
  white-space: nowrap;
}

.about-hero__chapter-line {
  display: block;
  width: 58px;
  height: 1px;
  background: var(--color-border-structural);
  transform-origin: left center;
}

.about-hero__anchor {
  min-height: 44px;
  gap: var(--space-3);
  color: var(--color-primary);
}

/* Accessibilité : reprend la priorité de l’ancien shell sans assombrir le lien au focus. */
.about-hero__anchor:hover,
.about-hero__anchor:active,
.about-hero__anchor:focus,
.about-hero__anchor:focus-visible {
  color: var(--color-primary) !important;
}

.about-hero__anchor:focus-visible {
  outline: 2px solid var(--color-focus-contrast-light) !important;
  outline-offset: 4px;
}

.about-hero__anchor i {
  transition: transform var(--transition-fast);
}

.about-hero__anchor:hover i,
.about-hero__anchor:focus-visible i {
  transform: translateY(3px);
}

.about-hero__caption {
  max-width: 310px;
  margin: 0px;
  color: var(--color-hero-text);
  text-align: right;
}

.about-hero__exit-line {
  position: absolute;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: 4;
  height: 2px;
  overflow: hidden;
  background: var(--color-border-dark);
}

.about-hero__exit-line span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  transform: scaleX(0);
  transform-origin: left center;
}

.about-hero__atmosphere {
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.about-hero__atmosphere-fallback,
.about-hero__atmosphere canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.about-hero__atmosphere-fallback {
  opacity: 0.16;
}

.about-hero__atmosphere-fallback span {
  position: absolute;
  right: 8%;
  width: 34%;
  height: 1px;
  background: var(--color-border-dark);
}

.about-hero__atmosphere-fallback span:first-child {
  top: 32%;
}

.about-hero__atmosphere-fallback span:last-child {
  bottom: 26%;
  width: 22%;
}

.about-hero__atmosphere canvas {
  max-width: none;
  opacity: 0;
  transition: opacity var(--transition-slow);
}

.about-hero__atmosphere.is-ready canvas {
  opacity: 0.24;
}

/* La progression appartient à la navigation et n’ajoute aucune hauteur au récit. */
.about-story-progress {
  position: sticky;
}

.about-story-progress__line {
  position: absolute;
  right: 0px;
  bottom: -1px;
  left: 0px;
  height: 2px;
  overflow: hidden;
  background: var(--color-border);
}

.about-story-progress__line span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  transform: scaleX(1);
  transform-origin: left center;
}

.about-journey > .about-chapter {
  border-top: 1px solid var(--color-border);
  scroll-margin-top: calc(var(--header-height) + 58px);
}

.about-journey > .about-chapter.section--dark {
  border-color: var(--color-border-dark);
}

/* Le premier chapitre associe texte et média sans étirement de rangée. */
.about-absence {
  padding-top: var(--section-space-small);
  padding-bottom: var(--section-space-small);
  background: var(--color-base);
}

.about-sticky-copy {
  top: calc(var(--header-height) + var(--space-5));
  gap: var(--space-4);
  align-self: flex-start;
}

.about-sticky-copy h2 {
  max-width: 640px;
}

.about-absence__media {
  margin: 0px;
}

.about-absence__media img {
  width: 100%;
  height: 460px;
  min-height: 0px;
  object-fit: cover;
}

.about-absence__media figcaption {
  padding: var(--space-3) 0px 0px;
}

/* Les compositions éditoriales gardent des proportions constantes et denses. */
.about-copy > * + * {
  margin-top: var(--space-4);
}

.about-media-frame {
  height: 460px;
  min-height: 0px;
  margin: 0px;
}

.about-media-frame img {
  min-height: 0px;
}

/* La mission institutionnelle se lit comme un mandat, sans logique de cartes. */
.about-institution__copy {
  max-width: 640px;
}

.about-institution__copy > * + * {
  margin-top: var(--space-3);
}

.about-institution__rule {
  display: block;
  width: 100%;
  height: 1px;
  overflow: hidden;
  background: var(--color-border);
}

.about-institution__rule span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-text);
  transform-origin: left center;
}

.about-institution__duties {
  margin-bottom: 0px;
  padding-left: 0px;
}

.about-institution__duties li {
  gap: var(--space-3);
  padding: var(--space-3) 0px;
  border-bottom: 1px solid var(--color-border);
}

.about-institution__number {
  flex: 0 0 34px;
  padding-top: var(--space-1);
  color: var(--color-text-soft);
}

.about-institution__duties h3 {
  margin: 0px;
}

.about-institution__duties p {
  margin-top: var(--space-2);
  color: var(--color-text-soft);
}

.about-institution__commitment {
  max-width: 600px;
}

.about-institution__figure {
  margin: 0px;
}

.about-institution__media {
  height: 560px;
  min-height: 0px;
}

.about-institution__media img {
  position: absolute;
  inset: -12px;
  width: calc(100% + 24px);
  height: calc(100% + 24px);
  min-height: 0px;
  transition: none;
}

.about-institution__media:hover img {
  transform: none;
}

.about-institution__caption {
  display: block;
  margin-top: var(--space-3);
  color: var(--color-text-soft);
  text-transform: none;
}

.about-section-heading {
  margin-bottom: var(--space-6);
}

.about-section-heading__copy {
  max-width: 560px;
  color: var(--color-text-soft);
}

.about-spaces .about-section-heading__copy {
  color: var(--color-hero-text);
}

/* Les principes sont des colonnes documentaires ouvertes, pas des cartes marketing. */
.about-principles__heading {
  margin-bottom: var(--space-5);
}

.about-principles__heading h2 {
  max-width: 720px;
}

.about-principles__intro {
  max-width: 560px;
  color: var(--color-text-soft);
}

.about-principles__intro p,
.about-principles__list {
  margin-bottom: 0px;
}

.about-principle {
  min-width: 0px;
  padding: 0px;
}

.about-principle__inner {
  width: 100%;
  padding: 0px var(--space-3) var(--space-4);
  background: transparent;
}

.about-principle__line {
  display: block;
  width: 100%;
  height: 1px;
  overflow: hidden;
  background: var(--color-border);
}

.about-principle__line span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-text-soft);
  transform-origin: left center;
}

.about-principle__number {
  margin-top: var(--space-4);
  color: var(--color-text-soft);
}

.about-principle__body {
  margin-top: var(--space-3);
}

.about-principle__title {
  min-height: 58px;
  margin: 0px;
}

.about-principle__body p {
  margin-top: var(--space-3);
  margin-bottom: 0px;
  color: var(--color-text-soft);
}

/* Le parcours sombre reste une liste institutionnelle, sans carte ni écran artificiel. */
.about-spaces-journey {
  overflow: clip;
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
}

.about-spaces-journey__heading {
  max-width: 720px;
  margin-bottom: var(--space-4);
}

.about-spaces-journey__heading > p:last-child {
  max-width: 620px;
  margin-top: var(--space-4);
  margin-bottom: 0px;
  color: var(--color-hero-text);
}

.about-spaces-journey__list {
  margin-bottom: 0px;
  border-top: 1px solid var(--color-border-dark);
}

.about-spaces-journey__item {
  position: relative;
  padding: var(--space-4) 0px;
  border-bottom: 1px solid var(--color-border-dark);
  opacity: 1;
  transform: none;
  transition:
    color var(--transition-base),
    opacity var(--transition-slow),
    transform var(--transition-slow);
}

.about-spaces-journey__item article {
  margin-right: 0px;
  margin-left: 0px;
}

.about-spaces-journey__number {
  display: block;
  color: var(--color-hero-text);
  font-variant-numeric: tabular-nums;
}

.about-spaces-journey__marker {
  display: block;
  width: 30px;
  height: 1px;
  margin-bottom: var(--space-3);
  background: var(--color-hero-text);
  transform-origin: left center;
  transition: width var(--transition-slow), opacity var(--transition-slow);
}

.about-spaces-journey__item h3 {
  margin: 0px;
  color: var(--color-hero-text);
}

.about-spaces-journey__item p {
  max-width: 600px;
  margin-top: var(--space-3);
  margin-bottom: 0px;
  color: var(--color-hero-text);
}

.about-spaces-journey.is-scroll-enhanced .about-spaces-journey__item {
  opacity: 0.65;
  transform: translateY(8px);
}

.about-spaces-journey.is-scroll-enhanced .about-spaces-journey__item h3,
.about-spaces-journey.is-scroll-enhanced .about-spaces-journey__item p,
.about-spaces-journey.is-scroll-enhanced .about-spaces-journey__number {
  color: var(--text-on-dark-secondary);
}

.about-spaces-journey.is-scroll-enhanced .about-spaces-journey__item.is-active {
  opacity: 1;
  transform: translateY(0px);
}

.about-spaces-journey.is-scroll-enhanced .about-spaces-journey__item.is-active h3,
.about-spaces-journey.is-scroll-enhanced .about-spaces-journey__item.is-active p,
.about-spaces-journey.is-scroll-enhanced .about-spaces-journey__item.is-active .about-spaces-journey__number {
  color: var(--color-hero-text);
}

.about-spaces-journey__item.is-active .about-spaces-journey__marker {
  width: 100%;
}

.about-spaces-journey__sticky-shell {
  align-self: stretch;
}

.about-spaces-journey__sticky {
  top: calc(var(--header-height) + var(--space-7));
  min-height: 320px;
  padding: var(--space-5) 0px;
  border-top: 1px solid var(--color-border-dark);
  border-bottom: 1px solid var(--color-border-dark);
}

.about-spaces-journey__progress {
  position: relative;
  display: block;
  flex: 0 0 2px;
  width: 2px;
  overflow: hidden;
  background: var(--color-border-dark);
}

.about-spaces-journey__progress span {
  position: absolute;
  inset: 0px;
  display: block;
  background: var(--color-hero-text);
  transform: scaleY(0);
  transform-origin: top center;
}

.about-spaces-journey__context {
  min-width: 0px;
  padding-left: var(--space-5);
}

.about-spaces-journey__count {
  margin-top: var(--space-6);
  margin-bottom: var(--space-4);
  color: var(--color-hero-text);
  font-variant-numeric: tabular-nums;
}

.about-spaces-journey__context h3,
.about-spaces-journey__context > p:last-child {
  color: var(--color-hero-text);
}

.about-spaces-journey__context h3 {
  margin-bottom: var(--space-3);
}

.about-spaces-journey__context > p:last-child {
  max-width: 420px;
  margin-bottom: 0px;
}

/* Les responsabilités rapprochent le mandat, sa précision et son image. */
.about-responsibilities {
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
}

.about-responsibilities__figure {
  height: 420px;
  min-height: 0px;
  margin: 0px;
}

.about-responsibilities__figure img {
  width: 100%;
  height: 100%;
  min-height: 0px;
  object-fit: cover;
  object-position: center 48%;
}

.about-responsibilities__figure:hover img {
  transform: none;
}

.about-responsibilities__copy {
  gap: var(--space-3);
  max-width: 620px;
}

.about-responsibilities__copy > * {
  margin-top: 0px;
  margin-bottom: 0px;
}

.about-responsibilities__precision {
  margin-top: var(--space-1);
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  background: var(--surface-paper);
  box-shadow: none;
}

.about-responsibilities__precision h3,
.about-responsibilities__precision p {
  margin-bottom: 0px;
}

.about-responsibilities__precision p {
  margin-top: var(--space-2);
  color: var(--color-text-soft);
}

.about-responsibilities__governance {
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
}

/* La gouvernance forme un seul ensemble, structuré par des lignes et non des cartes. */
.about-governance {
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
}

.about-governance__heading {
  margin-bottom: var(--space-5);
}

.about-governance__heading h2,
.about-governance__introduction p {
  margin-bottom: 0px;
}

.about-governance__introduction p {
  max-width: 520px;
  color: var(--color-text-soft);
}

.about-governance__engagement {
  width: 100%;
}

.about-governance__line {
  display: block;
  width: 100%;
  height: 1px;
  overflow: hidden;
  background: var(--color-border);
}

.about-governance__line span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-text-soft);
  transform-origin: left center;
}

.about-governance__reference {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-4);
  margin-bottom: 0px;
  color: var(--color-text-soft);
  font-variant-numeric: tabular-nums;
}

.about-governance__engagement h3 {
  min-height: 72px;
  margin-top: var(--space-3);
  margin-bottom: 0px;
}

.about-governance__engagement > p:last-child {
  margin-top: var(--space-3);
  margin-bottom: 0px;
  color: var(--color-text-soft);
}

/* La transmission conclut le parcours sans devenir un bandeau promotionnel. */
.about-future {
  isolation: isolate;
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
}

.about-future .container {
  z-index: 1;
}

.about-future__title-mask {
  margin-top: var(--space-3);
  overflow: hidden;
}

.about-future__title-mask h2 {
  margin-bottom: 0px;
}

.about-future__copy {
  max-width: 760px;
  margin: var(--space-3) auto 0px;
  color: var(--color-text-inverse-soft);
}

.about-future__action {
  margin-top: var(--space-4);
}

.about-future .button {
  margin-top: 0px;
}

.about-future__progress {
  display: block;
  width: 96px;
  height: 1px;
  margin: var(--space-5) auto 0px;
  overflow: hidden;
  background: var(--color-border-dark-subtle);
}

.about-future__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  transform-origin: left center;
}

.about-future__atmosphere {
  position: absolute;
  inset: -24px;
  z-index: 0;
  overflow: hidden;
  opacity: 0.42;
  pointer-events: none;
}

.about-future__atmosphere::before {
  position: absolute;
  top: 38%;
  left: 8%;
  width: 84%;
  height: 96px;
  border-top: 1px solid var(--color-border-dark-subtle);
  border-radius: 50%;
  content: "";
  transform: rotate(-3deg);
}

.about-future__atmosphere::after {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 16% 30%, var(--color-primary) 0px, var(--color-primary) 1px, transparent 2px),
    radial-gradient(circle at 74% 22%, var(--color-text-inverse) 0px, var(--color-text-inverse) 1px, transparent 2px),
    radial-gradient(circle at 86% 72%, var(--color-primary) 0px, var(--color-primary) 1px, transparent 2px);
  content: "";
  opacity: 0.48;
}

.about-future__atmosphere > span {
  position: absolute;
  display: block;
  width: 1px;
  height: 1px;
  border-radius: 50%;
  background: var(--color-text-inverse);
}

.about-future__atmosphere > span:nth-child(1) {
  top: 24%;
  left: 29%;
}

.about-future__atmosphere > span:nth-child(2) {
  top: 66%;
  left: 61%;
}

.about-future__atmosphere > span:nth-child(3) {
  top: 42%;
  left: 91%;
}

/* Le chapitre final associe l’image au contenu sans transformer le footer en couverture. */
.about-transmission-visual {
  height: 680px;
  min-height: 620px;
  max-height: 750px;
  background: var(--color-ink-footer);
  color: var(--color-text-inverse);
  isolation: isolate;
}

.about-transmission-visual__media,
.about-transmission-visual__overlay {
  position: absolute;
  inset: 0px;
}

.about-transmission-visual__media {
  z-index: -2;
  overflow: hidden;
}

.about-transmission-visual__media img {
  width: 100%;
  height: 108%;
  object-fit: cover;
  object-position: center 52%;
  transform: translateY(-4%) scale(1.02);
}

.about-transmission-visual__overlay {
  z-index: -1;
  background:
    linear-gradient(90deg, var(--color-footer-image-deep) 0%, var(--color-footer-image-middle) 58%, var(--color-footer-image-end) 100%),
    linear-gradient(0deg, var(--color-ink-footer) 0%, transparent 62%);
}

.about-transmission-visual .container {
  z-index: 1;
}

.about-transmission-visual__content {
  padding-top: var(--space-7);
  padding-bottom: var(--space-7);
}

.about-transmission-visual__content h2 {
  margin-top: var(--space-3);
  margin-bottom: 0px;
  text-wrap: balance;
}

.about-transmission-visual__copy {
  max-width: 680px;
  margin-top: var(--space-3);
  margin-bottom: 0px;
  color: var(--color-text-inverse-soft);
}

.about-transmission-visual__action {
  margin-top: var(--space-4);
}

.about-transmission-visual__caption {
  max-width: 560px;
  margin-top: var(--space-4);
  margin-bottom: 0px;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-footer-rule-soft);
  color: var(--color-footer-muted);
}

.about-transmission-visual__progress {
  display: block;
  width: 160px;
  height: 1px;
  margin-top: var(--space-4);
  overflow: hidden;
  background: var(--color-footer-rule-soft);
}

.about-transmission-visual__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  transform-origin: left center;
}

@media (min-width: 992px) and (max-width: 1199px) {
  /* Le palier lg conserve les deux colonnes sans étirer artificiellement le chapitre. */
  .about-presentation {
    padding-top: var(--space-5);
    padding-bottom: var(--space-5);
  }

  .about-institution__copy > * + * {
    margin-top: var(--space-2);
  }

  .about-institution__duties li {
    gap: var(--space-2);
    padding: var(--space-2) 0px;
  }
}

@media (max-width: 991px) {
  body[data-page="about"] .about-hero {
    height: auto;
    min-height: 580px;
    max-height: none;
  }

  /* Accessibilité responsive : neutralise la hauteur Bootstrap pour ne jamais couper le texte. */
  body[data-page="about"] .about-hero__content {
    height: auto !important;
    min-height: 580px;
    padding-top: var(--space-8);
    padding-bottom: var(--space-5);
  }

  .about-hero__caption {
    max-width: 520px;
    text-align: left;
  }

  .about-sticky-copy {
    position: relative;
    top: auto;
  }

  .about-absence__media img,
  .about-media-frame {
    height: 360px;
  }

  .about-institution__media {
    height: 360px;
  }

  .about-responsibilities {
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
  }

  .about-responsibilities__figure {
    height: 340px;
  }

  .about-governance__heading {
    margin-bottom: var(--space-4);
  }

  .about-transmission-visual {
    height: auto;
    min-height: 560px;
    max-height: none;
  }

  .about-transmission-visual .row {
    min-height: 560px;
  }

  .about-transmission-visual__media img {
    height: 100%;
    object-position: 58% center;
    transform: none;
  }

  .about-principle {
    padding-bottom: 0px;
  }

  /* Le parcours redevient une liste simple et complète sous le breakpoint desktop. */
  .about-spaces-journey__sticky-shell {
    display: none;
  }

  .about-spaces-journey__sticky {
    position: relative !important;
    top: auto;
  }

  .about-spaces-journey.is-scroll-enhanced .about-spaces-journey__item,
  .about-spaces-journey.is-scroll-enhanced .about-spaces-journey__item.is-active {
    opacity: 1;
    transform: none;
  }

  .about-spaces-journey__item .about-spaces-journey__marker {
    width: 100%;
  }
}

@media (max-width: 680px) {
  body[data-page="about"] .about-hero,
  body[data-page="about"] .about-hero__content {
    min-height: 560px;
  }

  .about-hero .hero__media {
    object-position: 54% center;
  }

  .about-hero__shade {
    background:
      linear-gradient(0deg, var(--color-hero-overlay-mobile-start) 0%, var(--color-hero-overlay-mobile-end) 76%, var(--color-overlay-image-medium) 100%),
      linear-gradient(90deg, var(--color-overlay-image-medium) 0%, transparent 100%);
  }

  .about-hero__navigation {
    gap: var(--space-3);
    margin-top: var(--space-4);
  }

  .about-hero__caption {
    max-width: 100%;
  }

  .about-journey > .about-chapter {
    scroll-margin-top: var(--header-height);
  }

  /* La progression mobile occupe 50 px sous le header : le titre reste visible à l’ancrage. */
  .about-journey > .about-responsibilities,
  .about-journey > .about-governance,
  .about-journey > .about-future {
    scroll-margin-top: calc(var(--header-height) + 52px);
  }

  .about-absence__media img,
  .about-media-frame {
    height: 280px;
  }

  .about-institution__media {
    height: 300px;
  }

  .about-responsibilities__figure {
    height: 260px;
  }

  .about-responsibilities__precision {
    padding: var(--space-3);
  }

  .about-governance {
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
  }

  .about-governance__engagement h3 {
    min-height: 0px;
  }

  .about-institution__duties li {
    gap: var(--space-3);
  }

  .about-principles__heading {
    margin-bottom: var(--space-4);
  }

  .about-principle__inner {
    padding-right: 0px;
    padding-bottom: var(--space-5);
    padding-left: 0px;
  }

  .about-principle__title {
    min-height: 0px;
  }

  /* Quatre lignes stabilisent les blocs empilés sans modifier la typographie CMS. */
  .about-principle__body p {
    min-height: calc(var(--line-height-body) * 4);
  }

  .about-section-heading {
    margin-bottom: var(--space-5);
  }

  .about-spaces-journey__heading {
    margin-bottom: var(--space-4);
  }

  .about-spaces-journey__item {
    padding: var(--space-4) 0px;
  }

  /* Sur mobile, l’atmosphère reste fixe et le contenu n’attend aucune animation. */
  .about-future__atmosphere {
    inset: 0px;
    opacity: 0.3;
    transform: none !important;
  }

  .about-future .button {
    width: 100%;
  }

  .about-transmission-visual,
  .about-transmission-visual .row {
    min-height: 540px;
  }

  .about-transmission-visual__content {
    padding-top: var(--space-7);
    padding-bottom: var(--space-6);
  }

  .about-transmission-visual__overlay {
    background:
      linear-gradient(0deg, var(--color-ink-footer) 0%, var(--color-footer-image-middle) 72%, var(--color-footer-image-end) 100%),
      linear-gradient(90deg, var(--color-footer-image-deep) 0%, transparent 100%);
  }
}

@media (max-width: 420px) {
  /* Le mot « conscience » reste entier sans modifier l’échelle typographique CMS. */
  body[data-page="about"] .hero__content.container {
    --container-max: 350px;
  }

  body[data-page="about"] .hero__title {
    word-break: normal;
    overflow-wrap: normal;
  }

  body[data-page="about"] .about-hero,
  body[data-page="about"] .about-hero__content {
    min-height: 540px;
  }

  .about-hero__chapter-line {
    width: 36px;
  }

  /* La largeur la plus étroite exige une ligne supplémentaire par principe. */
  .about-principle__body p {
    min-height: calc(var(--line-height-body) * 5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-hero__atmosphere canvas {
    display: none;
  }

  .about-hero__atmosphere-fallback {
    opacity: 0.1;
  }

  .about-story-progress__line span {
    transform: none;
  }

  .about-hero .hero__media,
  .about-hero__copy,
  .about-hero__caption,
  .about-hero__navigation,
  .about-hero__exit-line span,
  .about-institution__copy,
  .about-institution__copy *,
  .about-institution__figure,
  .about-institution__figure *,
  .about-principles-section,
  .about-principles-section *,
  .about-spaces-journey,
  .about-spaces-journey *,
  .about-responsibilities,
  .about-responsibilities *,
  .about-governance,
  .about-governance *,
  .about-future,
  .about-future *,
  .about-transmission-visual,
  .about-transmission-visual * {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Source : assets/css/pages/histoire.css */
/*
 * Parcours historique public.
 * Les compositions reposent sur Bootstrap ; ce module ne définit que le
 * rythme, les surfaces, les médias et les états propres à la page Histoire.
 */
body[data-page="histoire"] .history-page {
  position: relative;
  overflow: clip;
  background: var(--surface-ivory);
  color: var(--text-on-light);
}

body[data-page="histoire"] .history-page__progress {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 160;
  height: 2px;
  pointer-events: none;
}

body[data-page="histoire"] .history-page__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-accent-primary);
  transform: scaleX(0);
  transform-origin: left center;
}

body[data-page="histoire"] .history-hero {
  min-height: 620px;
  height: 680px;
  max-height: 750px;
  background: var(--color-ink-deep);
}

body[data-page="histoire"] .history-hero > picture,
body[data-page="histoire"] .history-hero__media,
body[data-page="histoire"] .history-hero__shade,
body[data-page="histoire"] .history-hero__atmosphere {
  position: absolute;
  inset: 0;
}

body[data-page="histoire"] .history-hero > picture {
  z-index: 0;
}

body[data-page="histoire"] .history-hero__media {
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  transform: scale(1.018);
}

body[data-page="histoire"] .history-hero__shade {
  z-index: 1;
  background:
    linear-gradient(90deg, var(--color-hero-overlay-history-start) 0%, var(--color-hero-overlay-history-middle) 48%, var(--color-hero-overlay-history-end) 100%),
    linear-gradient(0deg, var(--color-hero-overlay-bottom-strong) 0%, transparent 56%);
}

body[data-page="histoire"] .history-hero__atmosphere {
  z-index: 2;
  opacity: 0.18;
  pointer-events: none;
}

body[data-page="histoire"] .history-hero__atmosphere canvas,
body[data-page="histoire"] .history-hero__atmosphere .narrative-atmosphere__fallback {
  width: 100%;
  height: 100%;
  pointer-events: none;
}

body[data-page="histoire"] .history-hero > .container {
  z-index: 3;
}

body[data-page="histoire"] .history-hero__content {
  max-width: 760px;
}

body[data-page="histoire"] .history-hero__continuation {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-md);
}

body[data-page="histoire"] .history-hero__continuation > span {
  width: 74px;
  height: 1px;
  background: var(--color-border-structural);
}

body[data-page="histoire"] .history-hero__caption {
  max-width: 430px;
  margin: var(--space-sm) 0 0;
  color: var(--color-text-secondary);
  font-size: var(--font-size-caption);
}

body[data-page="histoire"] .history-hero__exit {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  height: 2px;
  background: var(--color-border-dark-default);
}

body[data-page="histoire"] .history-hero__exit span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-accent-primary);
  transform: scaleX(0);
  transform-origin: left center;
}

body[data-page="histoire"] .history-story__nav {
  position: sticky;
  top: var(--header-height);
  z-index: 80;
  padding: var(--space-xs) 0;
  border-top: 1px solid var(--border-on-light);
  border-bottom: 1px solid var(--border-on-light);
  background: var(--color-panel-overlay-light);
  backdrop-filter: blur(8px);
}

body[data-page="histoire"] .history-story__nav-label {
  margin: 0;
  color: var(--text-on-light-secondary);
  font-size: var(--font-size-button);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

body[data-page="histoire"] .history-story__nav ol {
  gap: var(--space-md);
  margin: 0;
  padding: 0 0 5px;
  overflow-x: auto;
  list-style: none;
  scrollbar-width: thin;
}

body[data-page="histoire"] .history-story__nav li {
  flex: 0 0 auto;
}

body[data-page="histoire"] .history-story__nav a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-on-light-secondary);
  white-space: nowrap;
  transition: color 260ms ease;
}

body[data-page="histoire"] .history-story__nav a span,
body[data-page="histoire"] .history-story__nav a.is-active,
body[data-page="histoire"] .history-story__nav a[aria-current="location"] {
  color: var(--accent-on-light);
}

body[data-page="histoire"] .history-context,
body[data-page="histoire"] .history-origins,
body[data-page="histoire"] .history-consequences,
body[data-page="histoire"] .history-voices,
body[data-page="histoire"] .history-video,
body[data-page="histoire"] .history-method {
  padding: var(--space-3xl) 0;
}

body[data-page="histoire"] .history-context,
body[data-page="histoire"] .history-consequences {
  background: var(--surface-ivory);
}

body[data-page="histoire"] .history-origins,
body[data-page="histoire"] .history-voices {
  border-top: 1px solid var(--border-on-light);
  border-bottom: 1px solid var(--border-on-light);
  background: var(--surface-paper);
}

body[data-page="histoire"] .history-context__copy > *:last-child,
body[data-page="histoire"] .history-consequences__copy > *:last-child,
body[data-page="histoire"] .history-voices__action > *:last-child {
  margin-bottom: 0;
}

body[data-page="histoire"] .history-context__copy .lead {
  color: var(--text-on-light);
}

body[data-page="histoire"] .history-context__copy > p:not(.eyebrow),
body[data-page="histoire"] .history-consequences__copy > p:not(.eyebrow),
body[data-page="histoire"] .history-section-heading p,
body[data-page="histoire"] .history-voices__action p {
  color: var(--text-on-light-secondary);
}

body[data-page="histoire"] .history-context__copy h2,
body[data-page="histoire"] .history-consequences__copy h2,
body[data-page="histoire"] .history-section-heading h2,
body[data-page="histoire"] .history-method h2 {
  margin: 10px 0 0;
}

body[data-page="histoire"] .history-context__copy > p,
body[data-page="histoire"] .history-consequences__copy > p {
  margin: var(--space-sm) 0 0;
}

body[data-page="histoire"] .history-media {
  margin: 0;
}

body[data-page="histoire"] .history-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-page="histoire"] .history-media figcaption {
  margin-top: 10px;
  color: var(--text-on-light-secondary);
  font-size: var(--font-size-caption);
}

body[data-page="histoire"] .history-context__media img {
  height: 730px;
}

body[data-page="histoire"] .history-editorial-quote {
  margin: var(--space-md) 0 0;
  padding: var(--space-sm) 0 0 var(--space-sm);
  border-top: 1px solid var(--border-on-light-strong);
  border-left: 1px solid var(--border-on-light);
}

body[data-page="histoire"] .history-editorial-quote p {
  margin: 0;
  color: var(--text-on-light);
  font-family: var(--font-editorial);
  font-size: var(--font-size-intro);
  line-height: var(--line-height-editorial);
}

body[data-page="histoire"] .history-editorial-quote cite {
  display: block;
  margin-top: 10px;
  color: var(--text-on-light-secondary);
  font-size: var(--font-size-caption);
  font-style: normal;
}

body[data-page="histoire"] .history-editorial-quote--large p {
  font-size: var(--font-size-quote);
}

body[data-page="histoire"] .history-section-heading {
  margin-bottom: var(--space-2xl);
}

body[data-page="histoire"] .history-section-heading p {
  max-width: 520px;
  margin: 0;
}

body[data-page="histoire"] .history-origins__stage {
  position: relative;
}

body[data-page="histoire"] .history-origins__rail {
  overflow: hidden;
}

body[data-page="histoire"] .history-origins__track {
  gap: var(--space-md);
  will-change: transform;
}

body[data-page="histoire"] .history-origin-marker {
  min-height: 270px;
  padding: 0 var(--space-md) var(--space-md) 0;
}

body[data-page="histoire"] .history-origin-marker__number,
body[data-page="histoire"] .history-impact article > span,
body[data-page="histoire"] .history-voice-statement > span {
  color: var(--accent-on-light);
  font-family: var(--font-display);
  font-size: var(--font-size-body-sm);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-label);
}

body[data-page="histoire"] .history-origin-marker__line {
  display: block;
  width: 100%;
  height: 1px;
  margin: var(--space-sm) 0 var(--space-md);
  background: var(--border-on-light-strong);
  transform-origin: left center;
}

body[data-page="histoire"] .history-origin-marker h3 {
  margin: 0;
}

body[data-page="histoire"] .history-origin-marker p {
  margin: auto 0 0;
  color: var(--text-on-light-secondary);
}

body[data-page="histoire"] .history-origins__progress {
  height: 2px;
  margin-top: var(--space-md);
  background: var(--border-on-light);
}

body[data-page="histoire"] .history-origins__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--accent-on-light);
  transform: scaleX(0);
  transform-origin: left center;
}

body[data-page="histoire"] .history-origins__aside {
  top: calc(var(--header-height) + 105px);
  padding-left: var(--space-md);
  border-left: 1px solid var(--border-on-light);
}

body[data-page="histoire"] .history-origins__aside h3 {
  margin: 10px 0 0;
}

body[data-page="histoire"] .history-origins__aside > p:not(.eyebrow) {
  margin: var(--space-sm) 0;
  color: var(--text-on-light-secondary);
}

body[data-page="histoire"] .history-origins__aside .history-media img {
  height: 210px;
}

body[data-page="histoire"] .history-events,
body[data-page="histoire"] .history-video {
  padding: var(--space-3xl) 0;
  background: var(--color-background-primary);
  color: var(--text-on-dark);
}

body[data-page="histoire"] .history-section-heading--inverse h2,
body[data-page="histoire"] .history-section-heading--inverse p,
body[data-page="histoire"] .history-events .eyebrow,
body[data-page="histoire"] .history-video .eyebrow {
  color: var(--text-on-dark);
}

body[data-page="histoire"] .history-section-heading--inverse p {
  color: var(--text-on-dark-secondary);
}

body[data-page="histoire"] .history-events__layout {
  margin-top: 0;
}

body[data-page="histoire"] .history-event {
  min-height: 300px;
  padding: var(--space-md) 0;
  border-top: 1px solid var(--color-border-dark-default);
  opacity: 0.5;
  transition: opacity 420ms ease, border-color 420ms ease;
}

body[data-page="histoire"] .history-event:last-child {
  border-bottom: 1px solid var(--color-border-dark-default);
}

body[data-page="histoire"] .history-event.is-active {
  border-color: var(--color-border-structural);
  opacity: 1;
}

body[data-page="histoire"] .history-event .narrative-number {
  color: var(--color-accent-primary);
}

body[data-page="histoire"] .history-event h3 {
  margin: 10px 0 var(--space-sm);
  color: var(--text-on-dark);
}

body[data-page="histoire"] .history-event > p:last-of-type {
  max-width: 520px;
  margin: 0;
  color: var(--text-on-dark-secondary);
}

body[data-page="histoire"] .history-events__media {
  top: calc(var(--header-height) + 90px);
  height: 500px;
  overflow: hidden;
  background: var(--color-media-placeholder);
}

body[data-page="histoire"] .history-events__media-layer {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transform: translateY(14px);
}

body[data-page="histoire"] .history-events__media-layer.is-active {
  opacity: 1;
  transform: translateY(0);
}

body[data-page="histoire"] .history-events__media-layer img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-page="histoire"] .history-events__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, var(--color-overlay-image-medium), transparent 45%);
  content: "";
  pointer-events: none;
}

body[data-page="histoire"] .history-events__media-caption,
body[data-page="histoire"] .history-events__counter {
  position: absolute;
  z-index: 2;
  bottom: var(--space-sm);
  margin: 0;
  color: var(--text-on-dark-secondary);
  font-size: var(--font-size-caption);
}

body[data-page="histoire"] .history-events__media-caption {
  left: var(--space-sm);
}

body[data-page="histoire"] .history-events__counter {
  right: var(--space-sm);
  display: flex;
  align-items: center;
  gap: 10px;
}

body[data-page="histoire"] .history-events__counter i {
  width: 36px;
  height: 1px;
  background: var(--color-border-structural);
}

body[data-page="histoire"] .history-consequences__media img {
  height: 520px;
}

body[data-page="histoire"] .history-impact {
  position: relative;
  margin-top: var(--space-md);
  padding-left: var(--space-md);
}

body[data-page="histoire"] .history-impact__line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background: var(--border-on-light);
}

body[data-page="histoire"] .history-impact__line span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--accent-on-light);
  transform: scaleY(0);
  transform-origin: top center;
}

body[data-page="histoire"] .history-impact article {
  padding: 0 0 var(--space-md);
}

body[data-page="histoire"] .history-impact article + article {
  padding-top: var(--space-sm);
  border-top: 1px solid var(--border-on-light);
}

body[data-page="histoire"] .history-impact h3 {
  margin: 8px 0 10px;
}

body[data-page="histoire"] .history-impact p {
  margin: 0;
  color: var(--text-on-light-secondary);
}

body[data-page="histoire"] .history-voices__statements {
  margin-bottom: var(--space-2xl);
}

body[data-page="histoire"] .history-voice-statement {
  width: 100%;
  min-height: 250px;
  margin: 0;
  padding: var(--space-md) 0;
  border-top: 1px solid var(--border-on-light-strong);
}

body[data-page="histoire"] .history-voice-statement p,
body[data-page="histoire"] .history-voice-statement h3 {
  margin: var(--space-md) 0 var(--space-sm);
  color: var(--text-on-light);
  font-family: var(--font-editorial);
  font-size: var(--font-size-intro);
  line-height: var(--line-height-editorial);
}

body[data-page="histoire"] .history-voice-statement cite,
body[data-page="histoire"] .history-voice-statement--method p {
  margin-top: auto;
  color: var(--text-on-light-secondary);
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-style: normal;
  line-height: var(--line-height-interface);
}

body[data-page="histoire"] .history-voices__media-row {
  padding-top: var(--space-2xl);
  border-top: 1px solid var(--border-on-light);
}

body[data-page="histoire"] .history-voices__media-row .history-media img {
  height: 420px;
}

body[data-page="histoire"] .history-voices__action h3 {
  margin: 0;
}

body[data-page="histoire"] .history-voices__action p {
  margin: var(--space-sm) 0;
}

body[data-page="histoire"] .history-video__frame {
  max-width: 1120px;
  height: 520px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--color-border-dark-default);
  background: var(--color-media-placeholder);
}

body[data-page="histoire"] .history-video__frame > img,
body[data-page="histoire"] .history-video__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

body[data-page="histoire"] .history-video__frame > img {
  object-fit: cover;
}

body[data-page="histoire"] .history-video__shade {
  background: var(--color-overlay-image-medium);
}

body[data-page="histoire"] .history-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: inline-flex;
  width: 78px;
  height: 78px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-border-interactive);
  border-radius: 50%;
  background: var(--color-hero-control-background);
  color: var(--text-on-dark);
  transform: translate(-50%, -50%);
  transition: border-color 260ms ease, background-color 260ms ease;
}

body[data-page="histoire"] .history-video__play:hover {
  border-color: var(--color-accent-primary);
  background: var(--color-hero-control-background-hover);
}

body[data-page="histoire"] .history-video__play:focus-visible,
body[data-page="histoire"] .history-video-dialog button:focus-visible {
  outline: 2px solid var(--color-accent-primary);
  outline-offset: 4px;
}

body[data-page="histoire"] .history-video__play svg {
  width: 32px;
  height: 32px;
  fill: currentColor;
}

body[data-page="histoire"] .history-video__meta {
  position: absolute;
  right: var(--space-md);
  bottom: var(--space-md);
  left: var(--space-md);
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-sm);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border-structural);
}

body[data-page="histoire"] .history-video__meta p,
body[data-page="histoire"] .history-video__meta span,
body[data-page="histoire"] .history-video__availability {
  margin: 0;
  color: var(--text-on-dark-secondary);
  font-size: var(--font-size-caption);
}

body[data-page="histoire"] .history-video__meta p {
  color: var(--text-on-dark);
}

body[data-page="histoire"] .history-video__availability {
  max-width: 1120px;
  margin: var(--space-sm) auto 0;
}

body[data-page="histoire"] .history-video-dialog {
  color: var(--text-on-dark);
}

body[data-page="histoire"] .history-video-dialog .modal-content {
  overflow: hidden;
  border-color: var(--color-border-dark-default);
  background: var(--color-background-primary);
}

body[data-page="histoire"] .history-video-dialog__header {
  min-height: 72px;
  padding: var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--color-border-dark-default);
}

body[data-page="histoire"] .history-video-dialog__header h2 {
  margin: 0;
  font-size: var(--font-size-h4);
}

body[data-page="histoire"] .history-video-dialog__player iframe,
body[data-page="histoire"] .history-video-dialog__player video {
  display: block;
  width: 100%;
  height: 620px;
  border: 0;
  background: var(--color-ink-deep);
}

body[data-page="histoire"] .history-transmission {
  min-height: 560px;
  height: 680px;
  max-height: 750px;
  background: var(--color-ink-deep);
  color: var(--text-on-dark);
}

body[data-page="histoire"] .history-transmission__media,
body[data-page="histoire"] .history-transmission__shade {
  position: absolute;
  inset: 0;
}

body[data-page="histoire"] .history-transmission__media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.018);
}

body[data-page="histoire"] .history-transmission__shade {
  background:
    linear-gradient(90deg, var(--color-hero-overlay-history-start) 0%, var(--color-hero-overlay-history-middle) 48%, var(--color-hero-overlay-history-end) 100%),
    linear-gradient(0deg, var(--color-hero-overlay-bottom-strong) 0%, transparent 64%);
}

body[data-page="histoire"] .history-transmission__copy {
  padding-bottom: var(--space-3xl);
}

body[data-page="histoire"] .history-transmission__copy h2 {
  margin: 10px 0 0;
  color: var(--text-on-dark);
}

body[data-page="histoire"] .history-transmission__copy > p:not(.eyebrow) {
  max-width: 680px;
  margin: var(--space-sm) 0 0;
  color: var(--text-on-dark-secondary);
}

body[data-page="histoire"] .history-transmission__actions {
  gap: var(--space-md);
  margin-top: var(--space-md);
}

body[data-page="histoire"] .history-transmission__caption {
  font-size: var(--font-size-caption);
}

body[data-page="histoire"] .history-transmission__progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--color-border-dark-default);
}

body[data-page="histoire"] .history-transmission__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-accent-primary);
  transform: scaleX(0);
  transform-origin: left center;
}

body[data-page="histoire"] .history-method {
  border-bottom: 1px solid var(--border-on-light);
  background: var(--surface-stone);
}

body[data-page="histoire"] .history-method p:not(.eyebrow) {
  max-width: 700px;
  margin: var(--space-sm) 0 0;
  color: var(--text-on-light-secondary);
}

@media (max-width: 991.98px) {
  body[data-page="histoire"] .history-hero {
    min-height: 560px;
    height: auto;
    max-height: none;
  }

  body[data-page="histoire"] .history-hero > .container,
  body[data-page="histoire"] .history-hero > .container > .row {
    min-height: 560px;
  }

  body[data-page="histoire"] .history-hero__content {
    padding-bottom: var(--space-2xl);
  }

  body[data-page="histoire"] .history-story__nav {
    position: relative;
    top: auto;
  }

  body[data-page="histoire"] .history-story__nav .row {
    --bs-gutter-y: 10px;
  }

  body[data-page="histoire"] .history-story__nav ol {
    gap: var(--space-sm);
  }

  body[data-page="histoire"] .history-context,
  body[data-page="histoire"] .history-origins,
  body[data-page="histoire"] .history-consequences,
  body[data-page="histoire"] .history-voices,
  body[data-page="histoire"] .history-video,
  body[data-page="histoire"] .history-method,
  body[data-page="histoire"] .history-events {
    padding: var(--space-2xl) 0;
  }

  body[data-page="histoire"] .history-section-heading {
    margin-bottom: var(--space-xl);
  }

  body[data-page="histoire"] .history-origins__rail {
    overflow: visible;
  }

  body[data-page="histoire"] .history-origins__track {
    flex-direction: column;
    gap: 0;
    transform: none !important;
  }

  body[data-page="histoire"] .history-origin-marker {
    width: 100%;
    min-height: 0;
    padding: var(--space-sm) 0 var(--space-md);
  }

  body[data-page="histoire"] .history-origin-marker p {
    margin-top: var(--space-sm);
  }

  body[data-page="histoire"] .history-origins__progress {
    display: none;
  }

  body[data-page="histoire"] .history-origins__aside {
    position: relative !important;
    top: auto;
    padding: var(--space-md) 0 0;
    border-top: 1px solid var(--border-on-light);
    border-left: 0;
  }

  body[data-page="histoire"] .history-event {
    min-height: 0;
    opacity: 1;
  }

  body[data-page="histoire"] .history-event__mobile-media {
    margin-top: var(--space-md);
  }

  body[data-page="histoire"] .history-event__mobile-media img {
    height: 380px;
  }

  body[data-page="histoire"] .history-consequences__media img,
  body[data-page="histoire"] .history-voices__media-row .history-media img {
    height: 440px;
  }

  body[data-page="histoire"] .history-video__frame {
    height: 460px;
  }

  body[data-page="histoire"] .history-transmission {
    min-height: 560px;
    height: auto;
    max-height: none;
  }

  body[data-page="histoire"] .history-transmission > .container,
  body[data-page="histoire"] .history-transmission > .container > .row {
    min-height: 560px;
  }

  body[data-page="histoire"] .history-transmission__copy {
    padding: var(--space-3xl) 0 var(--space-2xl);
  }
}

@media (max-width: 767.98px) {
  body[data-page="histoire"] .history-hero,
  body[data-page="histoire"] .history-hero > .container,
  body[data-page="histoire"] .history-hero > .container > .row {
    min-height: 520px;
  }

  body[data-page="histoire"] .history-hero__media {
    object-position: 62% center;
  }

  body[data-page="histoire"] .history-hero__shade {
    background:
      linear-gradient(90deg, var(--color-hero-overlay-mobile-strong) 0%, var(--color-hero-overlay-mobile-middle) 100%),
      linear-gradient(0deg, var(--color-hero-overlay-bottom-strong) 0%, transparent 60%);
  }

  body[data-page="histoire"] .history-hero__atmosphere {
    display: none;
  }

  body[data-page="histoire"] .history-context__media img,
  body[data-page="histoire"] .history-event__mobile-media img,
  body[data-page="histoire"] .history-consequences__media img,
  body[data-page="histoire"] .history-voices__media-row .history-media img {
    height: 560px;
  }

  body[data-page="histoire"] .history-context,
  body[data-page="histoire"] .history-origins,
  body[data-page="histoire"] .history-consequences,
  body[data-page="histoire"] .history-voices,
  body[data-page="histoire"] .history-video,
  body[data-page="histoire"] .history-method,
  body[data-page="histoire"] .history-events {
    padding: var(--space-xl) 0;
  }

  body[data-page="histoire"] .history-event {
    padding: var(--space-sm) 0;
  }

  body[data-page="histoire"] .history-origin-marker {
    padding-bottom: var(--space-sm);
  }

  body[data-page="histoire"] .history-origins__aside .history-media img {
    height: 180px;
  }

  body[data-page="histoire"] .history-voice-statement {
    min-height: 0;
    padding: var(--space-sm) 0;
  }

  body[data-page="histoire"] .history-voices__media-row {
    padding-top: var(--space-xl);
  }

  body[data-page="histoire"] .history-video__frame {
    height: 360px;
  }

  body[data-page="histoire"] .history-video__play {
    width: 68px;
    height: 68px;
  }

  body[data-page="histoire"] .history-video__meta {
    right: var(--space-sm);
    bottom: var(--space-sm);
    left: var(--space-sm);
    display: block;
  }

  body[data-page="histoire"] .history-video__meta span {
    display: block;
    margin-top: 6px;
  }

  body[data-page="histoire"] .history-video-dialog__player iframe,
  body[data-page="histoire"] .history-video-dialog__player video {
    height: 360px;
  }

  body[data-page="histoire"] .history-transmission,
  body[data-page="histoire"] .history-transmission > .container,
  body[data-page="histoire"] .history-transmission > .container > .row {
    min-height: 520px;
  }

  body[data-page="histoire"] .history-transmission__shade {
    background:
      linear-gradient(90deg, var(--color-hero-overlay-mobile-strong) 0%, var(--color-hero-overlay-mobile-middle) 100%),
      linear-gradient(0deg, var(--color-hero-overlay-bottom-strong) 0%, transparent 60%);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="histoire"] .history-hero__atmosphere {
    display: none !important;
  }

  body[data-page="histoire"] .history-hero__media,
  body[data-page="histoire"] .history-transmission__media,
  body[data-page="histoire"] .history-origins__track,
  body[data-page="histoire"] .history-events__media-layer,
  body[data-page="histoire"] [data-history-hero-item],
  body[data-page="histoire"] [data-history-hero-caption],
  body[data-page="histoire"] [data-history-reveal-group] > *,
  body[data-page="histoire"] [data-history-media-reveal],
  body[data-page="histoire"] [data-history-origin-marker],
  body[data-page="histoire"] [data-history-voice-group] > * {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
  }

  body[data-page="histoire"] .history-events__media-layer:not(.is-active) {
    opacity: 0 !important;
  }

  body[data-page="histoire"] .history-event {
    opacity: 1 !important;
    transition: none !important;
  }
}

/* Source : assets/css/pages/chronologie.css */
/*
 * La page utilise les colonnes Bootstrap comme structure principale. Le CSS
 * porte uniquement l'atmosphère, les états narratifs et la densité éditoriale.
 */
body[data-page="chronologie"] {
  background: var(--color-base);
}

body[data-page="chronologie"] .chronology-page {
  overflow: clip;
  background: var(--color-base);
}

body[data-page="chronologie"] .chronology-prologue,
body[data-page="chronologie"] .chronology-records,
body[data-page="chronologie"] .chronology-protocol {
  padding: var(--space-3xl) 0;
}

body[data-page="chronologie"] .chronology-prologue {
  border-bottom: 1px solid var(--color-border);
  background: var(--color-base-light);
}

body[data-page="chronologie"] .chronology-prologue h2,
body[data-page="chronologie"] .chronology-records h2,
body[data-page="chronologie"] .chronology-protocol h2 {
  margin-top: var(--space-xs);
}

body[data-page="chronologie"] .chronology-prologue .lead,
body[data-page="chronologie"] .chronology-chapter .lead,
body[data-page="chronologie"] .chronology-record .lead {
  margin-top: var(--space-md);
}

body[data-page="chronologie"] .chronology-prologue [data-chronology-reveal-group] > p:not(.eyebrow),
body[data-page="chronologie"] .chronology-chapter [data-chronology-reveal-group] > p:not(.chronology-chapter__index) {
  max-width: var(--container-reading-narrow);
}

body[data-page="chronologie"] .chronology-prologue [data-chronology-reveal-group] > p + p,
body[data-page="chronologie"] .chronology-chapter [data-chronology-reveal-group] > p + p {
  margin-top: var(--space-sm);
}

body[data-page="chronologie"] .chronology-method-list {
  gap: 0;
  margin: var(--space-xl) 0;
  border-top: 1px solid var(--color-border);
}

body[data-page="chronologie"] .chronology-method-list > div {
  display: flex;
  gap: var(--space-sm);
  align-items: flex-start;
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--color-border);
}

body[data-page="chronologie"] .chronology-method-list dt {
  min-width: 34px;
  color: var(--color-accent);
  font-size: var(--font-size-label);
}

body[data-page="chronologie"] .chronology-method-list dd {
  display: flex;
  margin: 0;
  flex-direction: column;
}

body[data-page="chronologie"] .chronology-method-list dd span {
  margin-top: var(--space-1);
  color: var(--color-text-soft);
  font-size: var(--font-size-body-sm);
}

body[data-page="chronologie"] .chronology-prologue__media,
body[data-page="chronologie"] .chronology-chapter__media,
body[data-page="chronologie"] .chronology-record__media figure {
  margin: 0;
  overflow: hidden;
  background: var(--color-media-placeholder);
}

body[data-page="chronologie"] .chronology-prologue__media img,
body[data-page="chronologie"] .chronology-chapter__media img,
body[data-page="chronologie"] .chronology-record__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-page="chronologie"] .chronology-prologue__media {
  height: 560px;
}

body[data-page="chronologie"] .chronology-prologue__media figcaption,
body[data-page="chronologie"] .chronology-chapter__media figcaption,
body[data-page="chronologie"] .chronology-record__media figcaption {
  padding: 12px var(--space-xs);
  background: var(--color-base-light);
  color: var(--color-text-soft);
  font-size: var(--font-size-caption);
}

body[data-page="chronologie"] .chronology-spine {
  border-bottom: 1px solid var(--color-border);
  background: var(--color-base-light);
}

body[data-page="chronologie"] .chronology-spine > .container > .row {
  border-right: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}

body[data-page="chronologie"] .chronology-spine__navigation-column {
  align-self: stretch;
  background: var(--color-ink-deep);
}

body[data-page="chronologie"] .chronology-rail {
  top: calc(var(--header-height) + var(--space-md));
  max-height: 700px;
  padding: var(--space-2xl) var(--space-md);
  color: var(--color-text-inverse);
}

body[data-page="chronologie"] .chronology-rail__heading {
  display: flex;
  gap: var(--space-2);
  margin-bottom: var(--space-xl);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--color-border-translucent);
  flex-direction: column;
}

body[data-page="chronologie"] .chronology-rail__heading span,
body[data-page="chronologie"] .chronology-rail__note,
body[data-page="chronologie"] .chronology-rail a span {
  color: var(--color-brand-muted);
  font-size: var(--font-size-label);
}

body[data-page="chronologie"] .chronology-rail__heading strong {
  color: var(--color-primary);
}

body[data-page="chronologie"] .chronology-rail nav {
  position: relative;
}

body[data-page="chronologie"] .chronology-rail ol {
  gap: 0;
  margin: 0;
  padding: 0 0 0 var(--space-md);
  list-style: none;
}

body[data-page="chronologie"] .chronology-rail li {
  position: relative;
}

body[data-page="chronologie"] .chronology-rail li::before {
  position: absolute;
  top: 50%;
  left: calc(var(--space-md) * -1 - 4px);
  z-index: 2;
  width: 9px;
  height: 9px;
  border: 1px solid var(--color-brand-muted);
  border-radius: 50%;
  background: var(--color-ink-deep);
  content: "";
  transform: translateY(-50%);
  transition: border-color var(--transition-base), background-color var(--transition-base);
}

body[data-page="chronologie"] .chronology-rail li.is-current::before {
  border-color: var(--color-primary);
  background: var(--color-primary);
}

body[data-page="chronologie"] .chronology-rail__line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  overflow: hidden;
  background: var(--color-border-strong);
}

body[data-page="chronologie"] .chronology-rail__line i {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  transform: scaleY(0);
  transform-origin: top center;
}

body[data-page="chronologie"] .chronology-rail a {
  display: flex;
  min-height: 78px;
  gap: var(--space-xs);
  align-items: center;
  color: var(--color-menu-text);
  text-decoration: none;
  transition: color var(--transition-base), opacity var(--transition-base);
}

body[data-page="chronologie"] .chronology-rail a strong {
  font-weight: var(--font-weight-medium);
}

body[data-page="chronologie"] .chronology-rail a:hover,
body[data-page="chronologie"] .chronology-rail a:focus-visible,
body[data-page="chronologie"] .chronology-rail a.is-active {
  color: var(--color-white);
}

body[data-page="chronologie"] .chronology-rail a.is-active span {
  color: var(--color-primary);
}

body[data-page="chronologie"] .chronology-rail a:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 4px;
}

body[data-page="chronologie"] .chronology-rail__note {
  margin-top: var(--space-xl);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border-translucent);
  line-height: var(--line-height-caption);
}

body[data-page="chronologie"] .chronology-spine__chapters {
  background: var(--color-base-light);
}

body[data-page="chronologie"] .chronology-chapter {
  position: relative;
  padding: var(--space-3xl) var(--space-2xl);
  border-bottom: 1px solid var(--color-border);
  scroll-margin-top: calc(var(--header-height) + var(--space-3xl));
}

body[data-page="chronologie"] .chronology-chapter:focus {
  outline: none;
}

body[data-page="chronologie"] .chronology-chapter:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: -6px;
}

body[data-page="chronologie"] .chronology-chapter__index {
  margin-bottom: var(--space-xs);
  color: var(--color-accent);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

body[data-page="chronologie"] .chronology-chapter__header {
  margin-bottom: var(--space-xl);
}

body[data-page="chronologie"] .chronology-chapter__header p,
body[data-page="chronologie"] .chronology-chapter__dark-content p {
  color: var(--color-text-soft);
}

body[data-page="chronologie"] .chronology-chapter__media--panorama {
  height: 500px;
}

body[data-page="chronologie"] .chronology-chapter__media--portrait {
  height: 560px;
}

body[data-page="chronologie"] .chronology-chapter__media--document {
  height: 410px;
}

body[data-page="chronologie"] .chronology-chapter__media--wide {
  height: 410px;
}

body[data-page="chronologie"] .chronology-chapter__media--memory {
  height: 520px;
}

body[data-page="chronologie"] .chronology-chapter__method {
  margin-top: var(--space-md);
}

body[data-page="chronologie"] .chronology-chapter__method > div {
  display: flex;
  gap: var(--space-2);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border);
  flex-direction: column;
}

body[data-page="chronologie"] .chronology-chapter__method span,
body[data-page="chronologie"] .chronology-reference-note > span,
body[data-page="chronologie"] .chronology-territory-note > span {
  color: var(--color-text-soft);
  font-size: var(--font-size-label);
  letter-spacing: var(--letter-spacing-label);
  text-transform: uppercase;
}

body[data-page="chronologie"] .chronology-reference-note,
body[data-page="chronologie"] .chronology-territory-note {
  margin: var(--space-xl) 0;
  padding: var(--space-sm) 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

body[data-page="chronologie"] .chronology-reference-note p,
body[data-page="chronologie"] .chronology-territory-note p {
  margin-top: var(--space-2);
  color: var(--color-text-soft);
}

body[data-page="chronologie"] .chronology-territory-note a {
  display: inline-block;
  margin-top: var(--space-xs);
}

body[data-page="chronologie"] .chronology-chapter--document {
  background: var(--color-base);
}

body[data-page="chronologie"] .chronology-document-policy {
  margin: var(--space-md) 0 0;
  padding: var(--space-md);
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

body[data-page="chronologie"] .chronology-document-policy p {
  font-family: var(--font-editorial);
  font-size: var(--font-size-quote);
  line-height: var(--line-height-h3);
}

body[data-page="chronologie"] .chronology-document-policy cite {
  display: block;
  margin-top: var(--space-sm);
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: var(--font-size-caption);
  font-style: normal;
}

body[data-page="chronologie"] .chronology-chapter--dark {
  background: var(--color-ink-deep);
  color: var(--color-text-inverse);
}

body[data-page="chronologie"] .chronology-chapter--dark h2,
body[data-page="chronologie"] .chronology-chapter--dark .chronology-chapter__index {
  color: var(--color-white);
}

body[data-page="chronologie"] .chronology-chapter--dark .chronology-chapter__media figcaption {
  border-top: 1px solid var(--color-border-translucent);
  background: var(--color-ink-deep);
  color: var(--color-brand-muted);
}

body[data-page="chronologie"] .chronology-chapter__dark-content {
  margin-top: var(--space-xl);
}

body[data-page="chronologie"] .chronology-chapter--dark .chronology-chapter__dark-content p {
  color: var(--color-card-text);
}

body[data-page="chronologie"] .chronology-memory-actions {
  gap: var(--space-xs);
  margin-top: var(--space-xl);
}

body[data-page="chronologie"] .chronology-threshold {
  position: relative;
  display: flex;
  min-height: 190px;
  gap: var(--space-xl);
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  padding: var(--space-xl) var(--space-2xl);
}

body[data-page="chronologie"] .chronology-threshold > span {
  position: relative;
  z-index: 2;
  min-width: 100px;
  font-size: var(--font-size-label);
  letter-spacing: var(--letter-spacing-uppercase);
  text-transform: uppercase;
}

body[data-page="chronologie"] .chronology-threshold > div {
  position: relative;
  z-index: 2;
  max-width: 560px;
}

body[data-page="chronologie"] .chronology-threshold strong {
  display: block;
  font-family: var(--font-editorial);
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-h3);
}

body[data-page="chronologie"] .chronology-threshold p {
  margin-top: var(--space-2);
}

body[data-page="chronologie"] .chronology-threshold > i {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--color-primary);
  transform: scaleX(0);
  transform-origin: left center;
}

body[data-page="chronologie"] .chronology-threshold--dark {
  background: var(--color-ink-soft);
  color: var(--color-text-inverse);
}

body[data-page="chronologie"] .chronology-threshold--dark p,
body[data-page="chronologie"] .chronology-threshold--dark > span {
  color: var(--color-brand-muted);
}

body[data-page="chronologie"] .chronology-threshold--stone {
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-base);
}

body[data-page="chronologie"] .chronology-records {
  background: var(--color-base);
}

body[data-page="chronologie"] .chronology-records__header {
  margin-bottom: var(--space-2xl);
  padding-bottom: var(--space-xl);
  border-bottom: 1px solid var(--color-border-dark);
}

body[data-page="chronologie"] .chronology-record-list {
  position: relative;
  margin: 0;
  padding: 0;
}

body[data-page="chronologie"] .chronology-record-list::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(25% - 1px);
  width: 1px;
  background: var(--color-border);
  content: "";
}

body[data-page="chronologie"] .chronology-record {
  position: relative;
  padding: var(--space-2xl) 0;
  border-bottom: 1px solid var(--color-border);
}

body[data-page="chronologie"] .chronology-record::before {
  position: absolute;
  top: calc(var(--space-2xl) + 8px);
  left: calc(25% - 7px);
  z-index: 2;
  width: 13px;
  height: 13px;
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  background: var(--color-base);
  content: "";
}

body[data-page="chronologie"] .chronology-record__date {
  display: flex;
  gap: var(--space-2);
  padding-right: var(--space-xl);
  flex-direction: column;
}

body[data-page="chronologie"] .chronology-record__date > span {
  color: var(--color-accent);
  font-size: var(--font-size-label);
}

body[data-page="chronologie"] .chronology-record__date small {
  color: var(--color-text-soft);
}

body[data-page="chronologie"] .chronology-record__body {
  padding-left: var(--space-xl);
}

body[data-page="chronologie"] .chronology-record__content,
body[data-page="chronologie"] .chronology-record__media,
body[data-page="chronologie"] .chronology-record__sources {
  margin-top: var(--space-md);
}

body[data-page="chronologie"] .chronology-record__media figure {
  height: 360px;
}

body[data-page="chronologie"] .chronology-record__sources {
  padding: var(--space-md);
  border-top: 1px solid var(--color-border-dark);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-base-light);
}

body[data-page="chronologie"] .chronology-record__sources > div {
  display: flex;
  gap: var(--space-xs);
  align-items: baseline;
  justify-content: space-between;
}

body[data-page="chronologie"] .chronology-record__sources > div span,
body[data-page="chronologie"] .chronology-record__sources li span {
  color: var(--color-text-soft);
  font-size: var(--font-size-label);
  letter-spacing: var(--letter-spacing-label);
  text-transform: uppercase;
}

body[data-page="chronologie"] .chronology-record__sources ol {
  margin: var(--space-sm) 0 0;
  padding: 0;
  list-style: none;
}

body[data-page="chronologie"] .chronology-record__sources li {
  display: flex;
  gap: var(--space-xs);
  justify-content: space-between;
  padding: var(--space-xs) 0;
  border-top: 1px solid var(--color-border);
}

body[data-page="chronologie"] .chronology-record__sources > p {
  margin-top: var(--space-sm);
  color: var(--color-text-soft);
}

body[data-page="chronologie"] .chronology-records__empty {
  display: flex;
  gap: var(--space-xl);
  align-items: flex-start;
  padding: var(--space-xl) 0;
  border-top: 1px solid var(--color-border-dark);
  border-bottom: 1px solid var(--color-border);
}

body[data-page="chronologie"] .chronology-records__empty > span {
  color: var(--color-accent);
  font-family: var(--font-editorial);
  font-size: var(--font-size-display-sm);
}

body[data-page="chronologie"] .chronology-records__empty p {
  max-width: var(--container-reading-narrow);
  margin-top: var(--space-xs);
  color: var(--color-text-soft);
}

body[data-page="chronologie"] .chronology-records__pagination {
  margin-top: var(--space-xl);
}

body[data-page="chronologie"] .chronology-conclusion {
  height: 680px;
  min-height: 560px;
  max-height: 750px;
  background: var(--color-ink-deep);
  color: var(--color-text-inverse);
  isolation: isolate;
}

body[data-page="chronologie"] .chronology-conclusion__media,
body[data-page="chronologie"] .chronology-conclusion__shade {
  position: absolute;
  inset: 0;
}

body[data-page="chronologie"] .chronology-conclusion__media {
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(0.35) saturate(0.65);
  transform: scale(1.02);
}

body[data-page="chronologie"] .chronology-conclusion__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, var(--color-hero-overlay-start) 0%, var(--color-hero-overlay-middle) 54%, var(--color-hero-overlay-end) 100%),
    linear-gradient(0deg, var(--color-hero-overlay-start) 0%, transparent 60%);
}

body[data-page="chronologie"] .chronology-conclusion__content {
  padding-bottom: var(--space-3xl);
}

body[data-page="chronologie"] .chronology-conclusion h2 {
  margin-top: var(--space-xs);
  color: var(--color-white);
}

body[data-page="chronologie"] .chronology-conclusion__content > p:not(.eyebrow) {
  max-width: var(--container-reading-narrow);
  margin-top: var(--space-md);
  color: var(--color-card-text);
}

body[data-page="chronologie"] .chronology-conclusion__actions {
  gap: var(--space-xs);
  margin-top: var(--space-xl);
}

body[data-page="chronologie"] .chronology-conclusion__progress {
  display: block;
  width: 100%;
  max-width: 520px;
  height: 1px;
  margin-top: var(--space-xl);
  overflow: hidden;
  background: var(--color-border-translucent);
}

body[data-page="chronologie"] .chronology-conclusion__progress i {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-primary);
  transform: scaleX(0);
  transform-origin: left center;
}

body[data-page="chronologie"] .chronology-protocol {
  border-bottom: 1px solid var(--color-border);
  background: var(--color-base-light);
}

body[data-page="chronologie"] .chronology-protocol p:not(.eyebrow) {
  color: var(--color-text-soft);
}

body[data-page="chronologie"] .chronology-protocol .text-link {
  display: inline-block;
  margin-top: var(--space-sm);
}

@media (max-width: 1199.98px) {
  body[data-page="chronologie"] .chronology-chapter {
    padding-right: var(--space-xl);
    padding-left: var(--space-xl);
  }

  body[data-page="chronologie"] .chronology-chapter__media--portrait,
  body[data-page="chronologie"] .chronology-chapter__media--memory {
    height: 460px;
  }
}

@media (max-width: 991.98px) {
  body[data-page="chronologie"] .chronology-prologue,
  body[data-page="chronologie"] .chronology-records,
  body[data-page="chronologie"] .chronology-protocol {
    padding: var(--space-2xl) 0;
  }

  body[data-page="chronologie"] .chronology-prologue__media {
    height: 420px;
  }

  body[data-page="chronologie"] .chronology-spine > .container {
    max-width: none;
    padding: 0;
  }

  body[data-page="chronologie"] .chronology-spine > .container > .row {
    border: 0;
  }

  body[data-page="chronologie"] .chronology-spine__navigation-column {
    position: sticky;
    top: var(--header-height);
    z-index: 70;
  }

  body[data-page="chronologie"] .chronology-rail {
    position: relative !important;
    top: auto;
    max-height: none;
    padding: var(--space-xs) var(--container-gutter);
  }

  body[data-page="chronologie"] .chronology-rail__heading {
    display: none;
  }

  body[data-page="chronologie"] .chronology-rail nav {
    overflow-x: auto;
    scrollbar-width: thin;
  }

  body[data-page="chronologie"] .chronology-rail ol {
    width: max-content;
    min-width: 100%;
    padding: 0;
    flex-direction: row !important;
  }

  body[data-page="chronologie"] .chronology-rail li::before,
  body[data-page="chronologie"] .chronology-rail__line,
  body[data-page="chronologie"] .chronology-rail__note {
    display: none;
  }

  body[data-page="chronologie"] .chronology-rail a {
    min-height: 58px;
    padding: 0 var(--space-sm);
    border-bottom: 2px solid transparent;
  }

  body[data-page="chronologie"] .chronology-rail a.is-active {
    border-bottom-color: var(--color-primary);
  }

  body[data-page="chronologie"] .chronology-chapter {
    padding: var(--space-2xl) var(--container-gutter);
    scroll-margin-top: calc(var(--header-height) + 88px);
  }

  body[data-page="chronologie"] .chronology-threshold {
    margin: 0;
    padding-right: var(--container-gutter);
    padding-left: var(--container-gutter);
  }

  body[data-page="chronologie"] .chronology-record-list::before,
  body[data-page="chronologie"] .chronology-record::before {
    display: none;
  }

  body[data-page="chronologie"] .chronology-record__date,
  body[data-page="chronologie"] .chronology-record__body {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (max-width: 767.98px) {
  body[data-page="chronologie"] .chronology-prologue,
  body[data-page="chronologie"] .chronology-records,
  body[data-page="chronologie"] .chronology-protocol {
    padding: var(--space-xl) 0;
  }

  body[data-page="chronologie"] .chronology-prologue__media {
    height: 320px;
  }

  body[data-page="chronologie"] .chronology-rail {
    padding-right: var(--space-sm);
    padding-left: var(--space-sm);
  }

  body[data-page="chronologie"] .chronology-rail a {
    min-height: 54px;
    padding: 0 var(--space-xs);
  }

  body[data-page="chronologie"] .chronology-rail a span {
    display: none;
  }

  body[data-page="chronologie"] .chronology-chapter {
    padding: var(--space-xl) var(--space-sm);
  }

  body[data-page="chronologie"] .chronology-chapter__media--panorama,
  body[data-page="chronologie"] .chronology-chapter__media--portrait,
  body[data-page="chronologie"] .chronology-chapter__media--document,
  body[data-page="chronologie"] .chronology-chapter__media--wide,
  body[data-page="chronologie"] .chronology-chapter__media--memory {
    height: 300px;
  }

  body[data-page="chronologie"] .chronology-document-policy {
    padding: var(--space-sm);
  }

  body[data-page="chronologie"] .chronology-document-policy p {
    font-size: var(--font-size-intro);
    line-height: var(--line-height-h4);
  }

  body[data-page="chronologie"] .chronology-threshold {
    min-height: 0;
    gap: var(--space-sm);
    align-items: flex-start;
    padding: var(--space-xl) var(--space-sm);
    flex-direction: column;
  }

  body[data-page="chronologie"] .chronology-threshold > span {
    min-width: 0;
  }

  body[data-page="chronologie"] .chronology-records__header {
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-md);
  }

  body[data-page="chronologie"] .chronology-record {
    padding: var(--space-xl) 0;
  }

  body[data-page="chronologie"] .chronology-record__media figure {
    height: 280px;
  }

  body[data-page="chronologie"] .chronology-record__sources {
    padding: var(--space-sm);
  }

  body[data-page="chronologie"] .chronology-record__sources > div,
  body[data-page="chronologie"] .chronology-record__sources li,
  body[data-page="chronologie"] .chronology-records__empty {
    align-items: flex-start;
    flex-direction: column;
  }

  body[data-page="chronologie"] .chronology-conclusion {
    height: auto;
    min-height: 520px;
    max-height: none;
  }

  body[data-page="chronologie"] .chronology-conclusion > .container,
  body[data-page="chronologie"] .chronology-conclusion > .container > .row {
    min-height: 520px;
  }

  body[data-page="chronologie"] .chronology-conclusion__content {
    padding: var(--space-3xl) 0 var(--space-xl);
  }

  body[data-page="chronologie"] .chronology-conclusion__shade {
    background:
      linear-gradient(90deg, var(--color-hero-overlay-mobile-start) 0%, var(--color-hero-overlay-mobile-end) 100%),
      linear-gradient(0deg, var(--color-hero-overlay-start) 0%, transparent 64%);
  }
}

@media (max-width: 430px) {
  body[data-page="chronologie"] .chronology-conclusion__actions .button {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="chronologie"] [data-chronology-hero-media],
  body[data-page="chronologie"] .chronology-conclusion__media,
  body[data-page="chronologie"] [data-chronology-hero-item],
  body[data-page="chronologie"] [data-chronology-reveal-group] > *,
  body[data-page="chronologie"] [data-chronology-media-reveal],
  body[data-page="chronologie"] [data-chronology-record] {
    opacity: 1 !important;
    visibility: visible !important;
    clip-path: none !important;
    transform: none !important;
    transition: none !important;
  }

  body[data-page="chronologie"] [data-timeline-rail-progress],
  body[data-page="chronologie"] [data-chronology-threshold-line],
  body[data-page="chronologie"] [data-chronology-conclusion-progress] {
    transform: none !important;
  }
}

/* Source : assets/css/pages/hommages.css */
/* Source : assets/css/pages/memoire-sensible.css */
/* Cadre partagé des pages sensibles : aucun contenu ne dépend d’une animation. */
.js body[data-sensitive-content="true"] [data-reveal] {
  opacity: 1;
  transform: none;
}

.memory-ethics-note,
.sensitive-warning,
.memory-empty {
  padding: 24px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.memory-ethics-note {
  margin-top: 28px;
  border-left: 3px solid var(--color-primary);
  color: var(--color-text-soft);
}

.sensitive-warning {
  align-self: start;
  max-width: 620px;
}

.sensitive-warning > * + * {
  margin-top: 16px;
}

.memory-browser__controls {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(420px, 2fr);
  gap: 34px;
  align-items: end;
  margin-bottom: 24px;
}

.memory-browser__controls .filter-bar {
  margin-bottom: 0;
}

.memory-browser__status {
  margin-bottom: 22px;
  color: var(--color-text-soft);

}

.memory-browser__results {
  min-height: 130px;
}

.memory-record {
  min-width: 0;
}

.memory-record__content {
  margin-top: 20px;
}

.memory-record__content > * + * {
  margin-top: 14px;
}

.memory-record__sources {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
}

.memory-record__sources h4 {
  margin-bottom: 12px;
}

.memory-record__sources ul {
  display: grid;
  gap: 10px;
  padding-left: 20px;
}

.memory-record__request {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--color-border);
}

.memory-record__request summary {
  color: var(--color-primary-hover);
  cursor: pointer;
}

.memory-record__request .form {
  margin-top: 22px;
}

.field--honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.memory-empty {
  margin: 0;
  color: var(--color-text-soft);

}

.memory-metadata {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--color-border);
}

.memory-metadata > div {
  display: grid;
  grid-template-columns: minmax(120px, 170px) minmax(0, 1fr);
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid var(--color-border);
}

.memory-metadata > div:nth-child(odd) {
  padding-right: 28px;
}

.memory-metadata > div:nth-child(even) {
  padding-left: 28px;
  border-left: 1px solid var(--color-border);
}

.memory-metadata dd {
  color: var(--color-text-soft);
}

.section--dark .memory-metadata {
  border-color: var(--color-border-dark);
}

.section--dark .memory-metadata > div {
  border-color: var(--color-border-dark);
}

.section--dark .memory-metadata dd {
  color: var(--color-memorial-text);
}

.field--checkbox {
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
}

.field--checkbox input {
  width: 20px;
  min-height: 20px;
  margin-top: 2px;
  padding: 0;
}

@media (max-width: 900px) {
  .memory-browser__controls,
  .memory-metadata {
    grid-template-columns: 1fr;
  }

  .memory-metadata > div,
  .memory-metadata > div:nth-child(odd),
  .memory-metadata > div:nth-child(even) {
    padding: 22px 0;
    border-left: 0;
  }
}

@media (max-width: 560px) {
  .memory-browser__controls {
    gap: 24px;
  }

  .memory-metadata > div {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .memory-empty,
  .sensitive-warning,
  .memory-ethics-note {
    padding: 20px;
  }
}


body[data-page="hommages"] .hero--inner {
  min-height: 760px;
}

.tribute-silence {
  display: grid;
  min-height: 720px;
  align-items: center;
  text-align: center;
}

.tribute-silence .container {
  max-width: 840px;
}

.tribute-light {
  position: relative;
  min-height: 800px;
  overflow: hidden;
  background: var(--color-ink-deep);
}

.tribute-light img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.62;
}

.tribute-light p {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 800px;
  place-items: center;
  margin: 0;
  color: var(--color-text-inverse);

  text-align: center;
}

.tribute-light p span {
  color: var(--color-primary);

}

.tribute-words .container {
  max-width: 920px;
}

.tribute-words article {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 40px;
  padding: 58px 0;
  border-bottom: 1px solid var(--color-border);
}

.tribute-words span {
  color: var(--color-primary-hover);

}

.symbolic-tributes,
.tribute-publications__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  max-width: 900px;
  margin: 38px 0 24px;
  background: var(--color-border-dark);
}

.symbolic-tribute {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 20px;
  min-height: 140px;
  align-items: center;
  padding: 28px;
  border: 1px solid transparent;
  background: var(--color-ink-soft);
  color: var(--color-memorial-text);
  text-align: left;
}

.symbolic-tribute[aria-pressed="true"],
.symbolic-tribute:focus-visible {
  border-color: var(--color-primary);
  outline: 2px solid var(--color-primary);
  outline-offset: -5px;
}

.symbolic-tribute__mark {
  width: 16px;
  height: 34px;
  margin: auto;
  border: 1px solid var(--color-primary);
}

.symbolic-tribute__mark--flower {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}

.symbolic-tribute strong,
.symbolic-tribute small {
  display: block;
}

.symbolic-tribute small,
.symbolic-tributes__status {
  color: var(--color-text-muted);
}

.tribute-publications__grid article {
  min-height: 260px;
  padding: 34px;
  background: var(--color-base-light);
}

.tribute-publications__grid h3 {
  margin-bottom: 60px;
}

.tribute-form {
  max-width: 880px;
}

@media (max-width: 700px) {

  .tribute-words article,
  .symbolic-tributes,
  .tribute-publications__grid {
    grid-template-columns: 1fr;
  }
}

/* Source : assets/css/pages/temoignages.css */
/* Source : assets/css/pages/catalogue.css */
.catalog-tools {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 32px;
  align-items: end;
  margin-bottom: 24px;
}

.catalog-search {
  display: grid;
  gap: 10px;
}

.catalog-search input {
  width: 100%;
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid var(--color-border);
  border-radius: 0;
  background: var(--color-surface);
  color: var(--color-text);

}

.catalog-search input:focus-visible {
  border-color: var(--color-primary);
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

.catalog-status,
.filter-status {
  margin: 0 0 28px;
  color: var(--color-text-soft);
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--color-border);
}

.catalog-card {
  display: flex;
  min-height: 330px;
  padding: 32px;
  flex-direction: column;
  background: var(--color-base-light);
}

.catalog-card__type {
  color: var(--color-text-soft);

}

.catalog-card h3 {
  margin: 54px 0 18px;
}

.catalog-card p {
  color: var(--color-text-soft);
}

.catalog-card .text-link {
  margin-top: auto;
  padding-top: 24px;
}

.catalog-pagination {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: center;
  margin-top: 38px;
}

.catalog-pagination[hidden],
.catalog-card[hidden],
.catalog-empty[hidden] {
  display: none;
}

.catalog-empty {
  margin-top: 28px;
  padding: 28px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

@media (max-width: 1100px) {
  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .catalog-tools {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .catalog-grid {
    grid-template-columns: 1fr;
  }

  .catalog-pagination {
    align-items: stretch;
    flex-direction: column;
    text-align: center;
  }
}

/* Source : assets/css/pages/victimes.css */
.victim-profile-template {
  padding: 34px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.victim-profile-template > h3 {
  margin: 12px 0 30px;
}

.contribution-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(480px, 1.2fr);
  gap: 80px;
  align-items: start;
}

.contribution-layout > div:first-child > * + * {
  margin-top: 24px;
}

@media (max-width: 900px) {
  .contribution-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

@media (max-width: 560px) {
  .victim-profile-template {
    padding: 24px;
  }
}

/* Source : assets/css/pages/mur-de-la-memoire.css */
.memory-wall-directory {
  min-height: 180px;
  padding: 30px;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-base);
}

.memory-wall-directory .memory-empty {
  max-width: 820px;
  border: 0;
  border-left: 3px solid var(--color-primary);
}

@media (max-width: 560px) {
  .memory-wall-directory {
    min-height: 0;
    padding: 20px 0;
  }
}

/* Source : assets/css/pages/mission.css */
body[data-page="mission"] .hero--inner {
  min-height: 820px;
}

.mission-opening {
  display: grid;
  min-height: 720px;
  align-items: center;
  text-align: center;
}

.mission-opening .container {
  max-width: 920px;
}

.mission-commitments {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
}

.mission-commitments li {
  padding: 10px 14px;
  border: 1px solid var(--color-border);
  color: var(--color-text-soft);

}

.mission-stages {
  padding-bottom: 120px;
  padding-right: 0px;
  padding-left: 0px;
}

/*
 * Bootstrap conserve les gouttières du shell. Les containers éditoriaux de
 * Mission retrouvent seulement la largeur utile exacte du thème Genocost.
 */
body[data-page="mission"] .hero__content,
body[data-page="mission"] .mission-opening .container,
body[data-page="mission"] .mission-conclusion .container {
  padding-right: 0px;
  padding-left: 0px;
}

.mission-stage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 86px;
  min-height: 780px;
  align-items: center;
  padding: 100px 0;
  border-top: 1px solid var(--color-border);
}

.mission-stage--reverse .mission-stage__copy {
  grid-column: 2;
  grid-row: 1;
}

.mission-stage--reverse .narrative-media {
  grid-column: 1;
  grid-row: 1;
}

.mission-stage__copy > p:not(.eyebrow) {
  color: var(--color-text-soft);

}

.mission-stage .narrative-media img {
  height: 580px;
}

.mission-conclusion .container {
  max-width: 900px;
}

/*
 * Les col Bootstrap structurent le contenu CMS sans modifier les largeurs du
 * thème Genocost, dont les grilles narratives gèrent déjà leurs espacements.
 */
.hero__content > .row,
.mission-opening .container > .row,
.mission-stages > .row,
.mission-conclusion .container > .row {
  margin-right: 0px;
  margin-left: 0px;
}

.hero__content > .row > .col-12,
.mission-opening .container > .row > .col-12,
.mission-stages > .row > .col-12,
.mission-conclusion .container > .row > .col-12 {
  padding-right: 0px;
  padding-left: 0px;
}

@media (max-width: 820px) {

  .mission-stage,
  .mission-stage--reverse .mission-stage__copy,
  .mission-stage--reverse .narrative-media {
    grid-template-columns: 1fr;
    grid-column: 1;
    grid-row: auto;
  }

  .mission-stage {
    gap: 42px;
    min-height: 0;
    padding: 70px 0;
  }

  .mission-stage .narrative-media img {
    height: 400px;
  }
}

/* Source : assets/css/pages/expositions.css */
body[data-page="expositions"] .hero--inner {
  min-height: 820px;
}

.exhibition-room-nav {
  position: sticky;
  top: 90px;
  z-index: 20;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: 1px solid var(--color-border-dark);
  border-bottom: 1px solid var(--color-border-dark);
  background: var(--color-panel-overlay-dark);
}

.exhibition-room-nav a {
  padding: 14px 10px;
  color: var(--color-menu-text);

  text-align: center;
}

.exhibition-room-nav span {
  display: block;
  color: var(--color-primary);
}

.exhibition-room {
  position: relative;
  display: grid;
  min-height: 860px;
  overflow: hidden;
  background: var(--color-ink-deep);
  color: var(--color-text-inverse);
}

.exhibition-room img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.48;
}

.exhibition-room::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--color-hero-overlay-start), var(--color-hero-overlay-end));
  content: "";
}

.exhibition-room__copy {
  position: relative;
  z-index: 1;
  width: min(660px, calc(100% - 80px));
  align-self: end;
  margin: 0 auto;
  padding: 110px 0;
}

.exhibition-room__copy > span {
  color: var(--color-primary);

}

.exhibition-room__copy h2 {
  margin: 24px 0;
}

.exhibition-room--light {
  background: var(--color-base);
}

.exhibition-room--light::after {
  background: linear-gradient(90deg, var(--color-panel-overlay-light), var(--color-panel-overlay-light-soft));
}

.exhibition-room--light .exhibition-room__copy {
  color: var(--color-text);
}

.exhibition-list {
  display: grid;
  gap: 60px;
  margin-top: 44px;
}

.exhibition {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr);
  gap: 56px;
  align-items: center;
}

.exhibition__image {
  width: 100%;
  height: 480px;
  object-fit: cover;
}

.exhibition__media-empty {
  display: grid;
  min-height: 480px;
  place-items: center;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
  color: var(--color-text-soft);
}

.exhibition__content > * + * {
  margin-top: 22px;
}

.exhibition__status {
  color: var(--color-text-soft);

}

.exhibition-empty,
.exhibition-filter-empty {
  margin-top: 44px;
  padding: 40px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
  color: var(--color-text-soft);
}

.exhibition-virtual .container,
.exhibition-information .container {
  max-width: 1060px;
}

.exhibition-information__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 48px;
  background: var(--color-border);
}

.exhibition-information__grid p {
  min-height: 240px;
  padding: 28px;
  background: var(--color-base-light);
}

.exhibition-information__grid strong {
  display: block;
  margin-bottom: 42px;

}

@media (max-width: 860px) {

  .exhibition-room-nav {
    position: relative;
    top: auto;
    grid-template-columns: 1fr;
    display:none
  }

  .exhibition-room-nav a {
    text-align: left;
  }

  .exhibition,
  .exhibition-room {
    grid-template-columns: 1fr;
  }

  .exhibition-information__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .exhibition__image {
    height: 380px;
  }

  .exhibition__media-empty {
    min-height: 380px;
  }
}

@media (max-width: 560px) {
  .exhibition-information__grid {
    grid-template-columns: 1fr;
  }
}

/* Source : assets/css/pages/exposition-detail.css */
.detail-intro,
.archive-rights {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 1fr);
  gap: 72px;
  align-items: start;
}

.detail-intro__content > * + *,
.detail-callout > * + * {
  margin-top: 24px;
}

.detail-facts {
  padding: 32px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.detail-facts h3 {
  margin-bottom: 24px;
}

.detail-facts dl {
  display: grid;
  gap: 16px;
}

.detail-facts dl div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border);
}

.detail-facts dt {
  color: var(--color-text-soft);
}

.detail-callout {
  max-width: 820px;
}

.exhibition-detail__content > * + *,
.exhibition-path__content > * + * {
  margin-top: 18px;
}

.exhibition-detail__media-empty,
.exhibition-detail__gallery-empty,
.exhibition-related__empty {
  display: grid;
  min-height: 220px;
  place-items: center;
  padding: 32px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
  color: var(--color-text-soft);
  text-align: center;
}

.exhibition-path__list {
  display: grid;
  gap: 72px;
  margin-top: 48px;
}

.exhibition-path__item {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 1fr);
  gap: 56px;
  align-items: center;
}

.exhibition-path__item:nth-child(even) .media-frame {
  order: 2;
}

.exhibition-gallery__grid {
  margin-top: 40px;
}

.exhibition-related .grid {
  margin-top: 40px;
}

@media (max-width: 820px) {
  .detail-intro,
  .archive-rights,
  .exhibition-path__item {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .exhibition-path__item:nth-child(even) .media-frame {
    order: initial;
  }
}

/* Source : assets/css/pages/archives.css */
body[data-page="archives"] .hero--inner {
  min-height: 820px;
}

.archive-opening {
  text-align: center;
}

.archive-opening .container {
  max-width: 900px;
}

.archive-modes__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin-top: 52px;
  background: var(--color-border);
}

.archive-modes__grid button {
  display: flex;
  min-height: 300px;
  padding: 28px;
  border: 0;
  flex-direction: column;
  background: var(--color-base-light);
  color: var(--color-text);
  text-align: left;
}

.archive-modes__grid button[aria-pressed="true"],
.archive-modes__grid button:focus-visible {
  background: var(--color-ink-deep);
  color: var(--color-text-inverse);
  outline: 2px solid var(--color-primary);
  outline-offset: -5px;
}

.archive-modes__grid span {
  color: var(--color-primary-hover);
}

.archive-modes__grid strong {
  margin: auto 0 18px;

}

.archive-modes__grid small {
  color: var(--color-text-soft);

}

.archive-mode-status {
  margin-top: 22px;
  color: var(--color-text-soft);
}

.archive-search .catalog-tools {
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr) auto;
}

.archive-search .catalog-card,
.archive-search .catalog-search input {
  background: var(--color-ink-raised);
  color: var(--color-text-inverse);
}

.archive-search .catalog-grid {
  background: var(--color-border-dark);
}

/* L'état vide repose sur un panneau clair au sein de la section sombre. */
.archive-search .catalog-empty {
  color: var(--color-text);
}

.archive-search .catalog-card:nth-child(3n + 1) {
  min-height: 410px;
}

.catalog-view {
  display: flex;
  gap: 8px;
}

.catalog-view button {
  min-height: 46px;
  padding: 9px 14px;
  border: 1px solid var(--color-border-dark);
  background: transparent;
  color: var(--color-text-inverse);
}

.catalog-view button[aria-pressed="true"] {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-ink-deep);
}

.catalog-grid--list {
  grid-template-columns: 1fr;
}

.catalog-grid--list .catalog-card,
.catalog-grid--list .catalog-card:nth-child(3n + 1) {
  min-height: 0;
}

.archive-consultation .split {
  align-items: center;
}

@media (max-width: 1000px) {
  .archive-modes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .archive-search .catalog-tools {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .archive-modes__grid {
    grid-template-columns: 1fr;
  }

  .archive-modes__grid button {
    min-height: 220px;
  }
}

/* Source : assets/css/pages/archive-detail.css */
.archive-detail__layout {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(0, 1.2fr);
  gap: 72px;
  align-items: start;
}

.archive-preview > * + * {
  margin-top: 22px;
}

.archive-preview__placeholder {
  display: grid;
  min-height: 430px;
  padding: 32px;
  place-content: center;
  border: 1px solid var(--color-border-dark);
  background: var(--color-media-placeholder);
  color: var(--color-text-inverse);
  text-align: center;
}

.metadata-list {
  display: grid;
  gap: 14px;
  margin-top: 30px;
  border-top: 1px solid var(--color-border);
}

.metadata-list div {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr);
  gap: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--color-border);
}

.metadata-list dt {
  color: var(--color-text-soft);
}

.citation-box {
  padding: 32px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.citation-box > * + * {
  margin-top: 20px;
}

.notice {
  padding: 22px;
  border-left: 2px solid var(--color-primary);
  background: var(--color-base-light);
}

.button:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

@media (max-width: 820px) {
  .archive-detail__layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .archive-preview__placeholder {
    min-height: 300px;
  }
}

/* Source : assets/css/pages/education.css */
.education-opening {
  padding-top: 130px;
}

.education-audiences__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin-top: 52px;
  background: var(--color-border);
}

.education-audiences__grid article {
  min-height: 250px;
  padding: 28px;
  background: var(--color-base-light);
}

.education-audiences__grid span {
  color: var(--color-primary-hover);

}

.education-audiences__grid h3 {
  margin-top: 48px;

  overflow-wrap: anywhere;
}

.education-audiences__grid p {
  margin-top: 18px;
  color: var(--color-text-soft);
}

.education-transmission .container {
  max-width: 860px;
}

.education-transmission .button {
  margin-top: 34px;
}

.education-formats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--color-border);
}

.education-card {
  display: flex;
  min-height: 320px;
  padding: 30px;
  flex-direction: column;
  background: var(--color-base-light);
}

.education-card h3 {
  margin: 48px 0 18px;
}

.education-card p {
  color: var(--color-text-soft);
}

.education-card .text-link {
  margin-top: auto;
  padding-top: 24px;
}

.education-paths {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--color-border);
}

.education-path {
  min-height: 360px;
  padding: 42px;
  background: var(--color-base-light);
}

.education-path > * + * {
  margin-top: 24px;
}

.education-path p:not(.eyebrow) {
  color: var(--color-text-soft);
}

.education-collaboration {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
  gap: 72px;
  align-items: start;
}

@media (max-width: 1000px) {
  .education-audiences__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .education-formats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .education-paths,
  .education-collaboration {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 600px) {
  .education-audiences__grid {
    grid-template-columns: 1fr;
  }

  .education-formats {
    grid-template-columns: 1fr;
  }
}

/* Source : assets/css/pages/programmes-scolaires.css */
.programme-list {
  display: grid;
  gap: 14px;
  margin-top: 10px;
}

.programme-list li {
  padding: 14px 0 14px 28px;
  border-bottom: 1px solid var(--color-border);
  position: relative;
}

.programme-list li::before {
  position: absolute;
  top: 20px;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--color-primary);
  content: "";
}

#scolaires-demande .detail-callout {
  max-width: 850px;
}

#scolaires-demande .detail-callout > * + * {
  margin-top: 24px;
}

/* Source : assets/css/pages/ressources.css */
.audience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--color-border);
}

.audience-card {
  display: flex;
  min-height: 330px;
  padding: 32px;
  flex-direction: column;
  background: var(--color-base-light);
}

.audience-card h3 {
  margin: 50px 0 18px;
}

.audience-card p {
  color: var(--color-text-soft);
}

.audience-card .text-link {
  margin-top: auto;
  padding-top: 22px;
}

@media (max-width: 900px) {
  .audience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .audience-grid {
    grid-template-columns: 1fr;
  }
}

/* Source : assets/css/pages/publications.css */
.catalog-grid--publications {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.publication-principles {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr);
  gap: 70px;
  align-items: end;
}

@media (max-width: 900px) {
  .catalog-grid--publications {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .publication-principles {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width: 600px) {
  .catalog-grid--publications {
    grid-template-columns: 1fr;
  }
}

/* Source : assets/css/pages/actualites.css */
/* Source : assets/css/pages/listing.css */
.listing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.listing-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.listing-card__image {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.listing-card__body {
  display: flex;
  padding: 28px;
  flex: 1;
  flex-direction: column;
}

.listing-card__heading {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
}

.listing-card__type,
.listing-card__status {
  color: var(--color-text-soft);

}

.listing-card__status {
  max-width: 160px;
  text-align: right;
}

.listing-card h3 {
  margin: 30px 0 22px;
}

.listing-card__metadata {
  display: grid;
  gap: 9px;
  padding: 16px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.listing-card__metadata div {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) minmax(0, 1.4fr);
  gap: 12px;
}

.listing-card__metadata dt {
  color: var(--color-text-soft);
}

.listing-card__body > p {
  margin-top: 22px;
  color: var(--color-text-soft);
}

.listing-card .text-link {
  margin-top: auto;
  padding-top: 26px;
}

@media (max-width: 1100px) {
  .listing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .listing-grid {
    grid-template-columns: 1fr;
  }

  .listing-card__image {
    height: 220px;
  }
}

#actualites-liste .filter-bar {
  margin-bottom: 0;
}

/* L’état sans image conserve la hauteur éditoriale sans afficher de média fictif. */
.listing-card--without-image .listing-card__body {
  padding-top: 40px;
}

@media (max-width: 480px) {
  /* Le titre récupère sa largeur source sans modifier la gouttière Bootstrap. */
  body[data-page="actualites"] .hero__title {
    width: calc(100% + 24px);
  }
}

/* Source : assets/css/pages/article.css */
.article-detail__header {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr);
  gap: 72px;
  align-items: start;
}

.article-meta {
  padding: 32px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.article-meta h3 {
  margin-bottom: 24px;
}

.article-meta dl {
  display: grid;
  gap: 14px;
}

.article-meta dl div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--color-border);
}

.article-meta dt {
  color: var(--color-text-soft);
}

#article-connexes .button {
  margin-top: 40px;
}

/* Le contenu reste lisible lorsque l’article ne possède aucun média principal. */
.article-detail__content--without-image {
  grid-template-columns: minmax(0, 1fr);
}

.article-detail__body {
  min-width: 0;
}

.article-detail__body .entry-content {
  overflow-wrap: anywhere;
}

.article-detail__body .entry-content > * + * {
  margin-top: 20px;
}

.article-detail__body .entry-content img,
.article-detail__body .entry-content video,
.article-detail__body .entry-content audio {
  max-width: 100%;
}

.article-detail__share {
  padding-top: 12px;
  border-top: 1px solid var(--color-border);
}

.article-detail__media-grid .media-frame {
  min-height: 100%;
}

#article-sources .post-attachments {
  margin-top: 32px;
}

.article-detail__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.article-detail__comments {
  overflow: hidden;
}

@media (max-width: 820px) {
  .article-detail__header {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* Source : assets/css/pages/evenements.css */
#evenements-programmation .filter-bar {
  margin-bottom: 24px;
}

.listing-card--without-image .listing-card__body {
  padding-top: 42px;
}

.listing-card[data-event-state="cancelled"] {
  border-color: var(--color-text-soft);
}

.calendar-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
  gap: 72px;
  align-items: start;
}

.calendar-empty {
  padding: 34px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.calendar-empty > * + * {
  margin-top: 20px;
}

@media (max-width: 820px) {
  .calendar-shell {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* Source : assets/css/pages/evenement-detail.css */
.event-detail__header,
.event-access {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr);
  gap: 72px;
  align-items: start;
}

.event-facts,
.event-reservation {
  padding: 32px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.event-facts h3,
.event-reservation h3 {
  margin-bottom: 24px;
}

.event-facts dl {
  display: grid;
  gap: 14px;
}

.event-facts dl div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--color-border);
}

.event-facts dt {
  color: var(--color-text-soft);
}

.event-reservation > * + * {
  margin-top: 20px;
}

.event-detail__media-empty {
  display: grid;
  min-height: 360px;
  padding: 32px;
  place-items: center;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
  color: var(--color-text-soft);
  text-align: center;
}

.event-detail__content > * + * {
  margin-top: 20px;
}

.event-detail__content img,
.event-detail__content video,
.event-detail__content iframe {
  max-width: 100%;
}

.event-detail__schedule {
  margin-top: 64px;
}

.event-reservation .event-participation-block {
  margin-top: 0;
}

.event-reservation .event-access-shell,
.event-reservation .event-ticket-shell {
  padding: 0;
  border: 0;
  background: transparent;
}

@media (max-width: 820px) {
  .event-detail__header,
  .event-access {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .event-detail__media-empty {
    min-height: 240px;
  }
}

/* Source : assets/css/pages/reservation.css */
/*
 * Parcours public de réservation du mémorial.
 * La composition conserve les colonnes Bootstrap et réserve l'accent doré aux actions.
 */

.body-reservation-page {
  background: var(--color-base);
}

.reservation-hero {
  position: relative;
  min-height: 560px;
  height: 68vh;
  max-height: 750px;
  overflow: hidden;
  background: var(--color-ink-deep);
  color: var(--color-white);
  isolation: isolate;
}

.reservation-hero__media,
.reservation-hero__shade {
  position: absolute;
  inset: 0;
}

.reservation-hero__media {
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.03);
  transform-origin: center;
  will-change: transform;
}

.reservation-hero__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, var(--reservation-overlay-start) 0%, var(--reservation-overlay-middle) 38%, var(--reservation-overlay-end) 72%, var(--reservation-overlay-edge) 100%),
    linear-gradient(0deg, var(--reservation-overlay-bottom) 0%, var(--reservation-overlay-clear) 54%, var(--reservation-overlay-top) 100%);
}

.reservation-hero__content {
  max-width: 780px;
  padding: 0 0 64px;
}

.reservation-hero__kicker,
.reservation-review-note .reservation-section-kicker {
  margin: 0;
  color: var(--accent-on-dark);
}

/* Les repères du formulaire utilisent le rôle prévu pour les surfaces claires. */
.reservation-section-kicker,
.reservation-step__kicker,
.reservation-summary__kicker {
  margin: 0;
  color: var(--accent-on-light);
}

.reservation-hero__title {
  max-width: 700px;
  margin: 14px 0 0;
  color: var(--color-white);
}

.reservation-hero__lead {
  max-width: 690px;
  margin: 24px 0 0;
  color: var(--color-white);
}

.reservation-hero__facts {
  display: flex;
  flex-wrap: wrap;
  margin: 32px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--reservation-rule-hero);
}

.reservation-hero__facts > div {
  min-width: 150px;
  padding: 0 20px;
  border-left: 1px solid var(--reservation-rule-strong);
}

.reservation-hero__facts > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.reservation-hero__facts dt {
  color: var(--reservation-on-dark-soft);
}

.reservation-hero__facts dd {
  margin: 4px 0 0;
  color: var(--color-white);
}

.reservation-progress {
  position: sticky;
  top: var(--header-height);
  z-index: 90;
  min-height: 64px;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  background: var(--reservation-progress-background);
  backdrop-filter: blur(8px);
}

.reservation-progress ol {
  min-height: 64px;
}

.reservation-progress li {
  position: relative;
}

.reservation-progress li::after {
  position: absolute;
  right: 12px;
  bottom: 0;
  left: 12px;
  height: 2px;
  background: var(--color-primary);
  content: "";
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 240ms ease;
}

.reservation-progress li.is-active::after {
  transform: scaleX(1);
}

.reservation-progress a {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: var(--color-text-soft);
  white-space: nowrap;
}

.reservation-progress a[aria-disabled="true"] {
  cursor: default;
}

.reservation-progress li.is-active a,
.reservation-progress li.is-complete a {
  color: var(--color-text);
}

.reservation-progress__number {
  color: var(--color-primary-hover);
}

.reservation-progress__check {
  display: none;
  width: 15px;
  height: 15px;
  color: var(--color-primary-hover);
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-width: 1.8px;
}

.reservation-progress li.is-complete .reservation-progress__number {
  display: none;
}

.reservation-progress li.is-complete .reservation-progress__check {
  display: block;
}

.reservation-progress__mobile {
  display: none;
  min-height: 54px;
  align-items: center;
  margin: 0;
  color: var(--color-text);
}

.reservation-journey {
  position: relative;
  overflow: clip;
}

.reservation-guidelines {
  padding: 64px 0;
  background: var(--color-base-light);
}

.reservation-guidelines__intro {
  padding-right: 40px;
}

.reservation-guidelines__intro h2 {
  margin: 12px 0 0;
}

.reservation-guidelines__intro > p:last-child {
  max-width: 320px;
  margin: 18px 0 0;
  color: var(--color-text-soft);
}

.reservation-guidelines__list {
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}

.reservation-guideline {
  min-height: 130px;
  padding: 24px 28px;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-base);
}

.reservation-guideline > span {
  color: var(--color-primary-hover);
}

.reservation-guideline strong {
  display: block;
  margin-top: 18px;
  color: var(--color-text);
}

.reservation-guideline p {
  margin: 7px 0 0;
  color: var(--color-text-soft);
}

.reservation-process {
  padding: 80px 0;
  background: var(--color-base);
}

.reservation-process__intro {
  max-width: 780px;
  margin-bottom: 48px;
}

.reservation-process__intro h2 {
  margin: 12px 0 0;
}

.reservation-process__intro > p:last-child {
  margin: 16px 0 0;
  color: var(--color-text-soft);
}

.reservation-form-shell {
  border-top: 1px solid var(--color-border);
}

.reservation-step {
  position: relative;
  margin: 0;
  padding: 48px 0;
  border: 0;
  border-bottom: 1px solid var(--color-border);
  scroll-margin-top: calc(var(--header-height) + 88px);
}

.reservation-step:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.reservation-step__header {
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: 18px;
  margin: 0 0 28px;
  padding: 0;
  color: var(--color-text);
}

.reservation-step__number {
  display: inline-flex;
  width: 48px;
  min-width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-border);
  color: var(--color-text-soft);
  transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}

.reservation-step.is-active .reservation-step__number,
.reservation-step.is-complete .reservation-step__number {
  border-color: var(--color-primary);
  color: var(--color-primary-hover);
}

.reservation-step.is-complete .reservation-step__number {
  background: var(--color-base-light);
}

.reservation-step__header h3,
.reservation-step__header strong {
  display: block;
  margin: 5px 0 0;
  color: var(--color-text);
}

.reservation-step:not(.is-active):not(.is-complete) .reservation-step__header h3,
.reservation-step:not(.is-active):not(.is-complete) .reservation-step__header strong {
  color: var(--color-text-soft);
}

.visit-booking-alert {
  margin: 0 0 32px;
  padding: 18px 20px;
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-primary);
  background: var(--color-base-light);
  color: var(--color-text);
}

.visit-calendar__surface {
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-base);
}

.visit-calendar__toolbar {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--color-border);
}

.visit-calendar__toolbar h4 {
  margin: 0;
  color: var(--color-text);
  text-align: center;
}

.visit-calendar__nav {
  display: inline-flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--color-primary);
  background: transparent;
  color: var(--color-primary-hover);
  cursor: pointer;
}

.visit-calendar__nav svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-width: 1.5px;
}

.visit-calendar__nav:hover,
.visit-calendar__nav:focus-visible {
  background: var(--color-primary);
  color: var(--color-base-dark);
}

.visit-calendar__nav:disabled {
  border-color: var(--color-border);
  color: var(--color-text-soft);
  cursor: not-allowed;
  opacity: 0.52;
}

.visit-calendar__weekdays,
.visit-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.visit-calendar__weekdays {
  border-bottom: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.visit-calendar__weekdays span {
  padding: 11px 4px;
  color: var(--color-text-soft);
  text-align: center;
}

.visit-calendar__day,
.visit-calendar__day--empty {
  position: relative;
  min-height: 70px;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.visit-calendar__day {
  padding: 10px;
  background: var(--color-base);
  color: var(--color-text);
  text-align: left;
}

.visit-calendar__day:nth-child(7n),
.visit-calendar__day--empty:nth-child(7n) {
  border-right: 0;
}

.visit-calendar__day:not(:disabled) {
  cursor: pointer;
}

.visit-calendar__day:not(:disabled):hover,
.visit-calendar__day:not(:disabled):focus-visible,
.visit-calendar__day[aria-selected="true"] {
  outline: 2px solid var(--color-primary);
  outline-offset: -3px;
}

.visit-calendar__day[aria-selected="true"] {
  background: var(--color-primary);
  color: var(--color-base-dark);
}

.visit-calendar__day[data-status="available"]::after {
  position: absolute;
  right: 9px;
  bottom: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-primary);
  content: "";
}

.visit-calendar__day[aria-selected="true"]::after {
  background: var(--color-base-dark);
}

.visit-calendar__day[aria-current="date"]::before {
  position: absolute;
  inset: 5px;
  border: 1px solid var(--color-primary-hover);
  content: "";
  pointer-events: none;
}

.visit-calendar__day[data-status="full"],
.visit-calendar__day[data-status="closed"],
.visit-calendar__day[data-status="past"],
.visit-calendar__day[data-status="outside"],
.visit-calendar__day--empty {
  background: var(--color-base-light);
  color: var(--color-text-soft);
}

.visit-calendar__day:disabled {
  cursor: not-allowed;
  opacity: 0.64;
}

.visit-calendar__aside {
  min-height: 100%;
  padding-top: 4px;
}

.visit-calendar__selected-label {
  margin: 0;
  color: var(--color-text);
}

.visit-calendar__status {
  min-height: 48px;
  margin: 14px 0 0;
  color: var(--color-text-soft);
}

.visit-calendar__legend {
  display: grid;
  gap: 12px;
  margin: 24px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid var(--color-border);
  color: var(--color-text-soft);
}

.visit-calendar__legend li {
  display: flex;
  align-items: center;
  gap: 9px;
}

.visit-calendar__legend span {
  width: 11px;
  height: 11px;
  flex: 0 0 11px;
  border: 1px solid var(--color-border);
  border-radius: 50%;
}

.visit-calendar__legend [data-legend="available"] {
  border-color: var(--color-primary);
  background: var(--color-primary);
}

.visit-calendar__legend [data-legend="full"] {
  background: var(--color-text-soft);
}

.visit-calendar__legend [data-legend="closed"] {
  background: var(--color-base-light);
}

.visit-calendar__legend [data-legend="today"] {
  border-radius: 0;
  border-color: var(--color-primary-hover);
}

.visit-calendar__noscript {
  margin: 18px 0 0;
  color: var(--color-text-soft);
}

.visit-date-fallback {
  display: flex;
  align-items: end;
  gap: 16px;
  margin-top: 20px;
}

.visit-date-fallback .field {
  flex: 1 1 280px;
  margin: 0;
}

.visit-date-fallback .button {
  flex: 0 0 auto;
}

.visit-booking-form {
  margin: 0;
}

.reservation-form .field {
  margin: 0;
}

.reservation-form .field > label,
.reservation-form .field__label,
.visit-date-fallback label {
  display: block;
  margin-bottom: 8px;
  color: var(--color-text);
}

.reservation-form input[type="text"],
.reservation-form input[type="email"],
.reservation-form input[type="tel"],
.reservation-form input[type="number"],
.reservation-form textarea,
.visit-date-fallback input {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--color-border);
  border-radius: 0;
  background: var(--color-base);
  color: var(--color-text);
}

.reservation-form textarea {
  min-height: 112px;
  resize: vertical;
}

.reservation-form input:focus,
.reservation-form textarea:focus,
.visit-date-fallback input:focus {
  border-color: var(--color-primary);
}

.field__hint {
  display: block;
  margin-top: 7px;
  color: var(--color-text-soft);
}

.visit-slot-list__empty {
  width: 100%;
  margin: 0;
  padding: 18px 20px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
  color: var(--color-text-soft);
}

.visit-slot-card {
  position: relative;
  display: grid;
  min-height: 78px;
  height: 100%;
  align-content: center;
  gap: 4px;
  padding: 13px 96px 13px 46px;
  border: 1px solid var(--color-border);
  background: var(--color-base);
  color: var(--color-text);
  cursor: pointer;
}

.visit-slot-card input {
  position: absolute;
  top: 28px;
  left: 18px;
}

.visit-slot-card__status {
  color: var(--color-text-soft);
}

.visit-slot-card strong {
  position: absolute;
  top: 50%;
  right: 14px;
  color: var(--color-primary-hover);
  transform: translateY(-50%);
}

.visit-slot-card:has(input:checked) {
  border-color: var(--color-primary);
  background: var(--color-base-light);
  outline: 2px solid var(--color-primary);
  outline-offset: -3px;
}

.visit-slot-card:focus-within {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.visit-slot-card.is-disabled {
  background: var(--color-base-light);
  color: var(--color-text-soft);
  cursor: not-allowed;
  opacity: 0.72;
}

.visit-slot-card.is-disabled strong {
  color: var(--color-text-soft);
}

.visit-booking-choices {
  display: flex;
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--color-border);
}

.visit-booking-choices label {
  position: relative;
  display: flex;
  min-width: 0;
  flex: 1 1 50%;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 12px 14px;
  color: var(--color-text-soft);
  cursor: pointer;
  text-align: center;
}

.visit-booking-choices label + label {
  border-left: 1px solid var(--color-border);
}

.visit-booking-choices input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.visit-booking-choices label:has(input:checked) {
  background: var(--color-primary);
  color: white;
}

body[data-page="reservation"] .visit-booking-choices label:has(input:checked) {
  color: var(--color-accent-on);
}

.visit-booking-choices label:focus-within {
  outline: 2px solid var(--color-primary-hover);
  outline-offset: 2px;
}

.visit-capacity-alert {
  margin: 16px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--color-primary);
  background: var(--color-base-light);
  color: var(--color-text);
}

.visit-capacity-alert[hidden] {
  display: none;
}

.reservation-consent label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  color: var(--color-text);
}

.reservation-consent input {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin-top: 2px;
  accent-color: var(--color-primary-hover);
}

.reservation-consent .text-link {
  display: inline-flex;
  margin: 10px 0 0 30px;
}

.reservation-confirmation__notice {
  margin: 20px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
  color: var(--color-text-soft);
}

.reservation-submit {
  width: 100%;
  min-height: 56px;
  padding: 14px 20px;
  white-space: normal;
}

.form-status {
  min-height: 24px;
  margin: 20px 0 0;
  color: var(--color-text-soft);
}

.form-status.is-loading {
  color: var(--color-primary-hover);
}

.form-status.is-success {
  color: var(--color-text);
}

.form-status.is-error {
  color: var(--color-text);
}

.reservation-summary {
  top: calc(var(--header-height) + 80px);
  padding: 32px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
  color: var(--color-text);
  z-index: 9!important;
}

.reservation-summary h2 {
  margin: 8px 0 0;
}

.reservation-summary dl {
  margin: 28px 0 0;
}

.reservation-summary dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 0;
  border-bottom: 1px solid var(--color-border);
}

.reservation-summary dt,
.reservation-summary dt {
  color: var(--color-text-soft);
}

.reservation-summary dd {
  margin: 0;
  color: var(--color-text);
  text-align: right;
}

.reservation-summary__notice {
  margin: 24px 0 0;
  color: var(--color-text-soft);
}

.reservation-summary [data-summary-reference-row] {
  color: var(--color-primary-hover);
}

.reservation-summary [data-summary-reference] {
  overflow-wrap: anywhere;
}

.reservation-summary.is-updating dd {
  color: var(--color-primary-hover);
}

.reservation-summary--mobile {
  margin-bottom: 32px;
}

.reservation-review-note {
  --color-primary: var(--accent-on-dark);
  --color-primary-hover: var(--accent-on-dark-hover);
  --button-link-color: var(--accent-on-dark);
  --button-outline-color: var(--accent-on-dark);
  --button-outline-background-hover: var(--accent-on-dark-hover);
  --button-outline-text-hover: var(--color-background-primary);
  padding: 48px 0 0;
  background: var(--color-base-dark);
  color: var(--color-white);
}

.reservation-review-note__heading {
  padding-bottom: 28px;
}

.reservation-review-note h2 {
  margin: 10px 0 0;
  color: var(--color-white);
}

.reservation-review-note .button--outline {
  min-height: 50px;
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.reservation-review-note__steps {
  border-top: 1px solid var(--reservation-rule-soft);
  border-left: 1px solid var(--reservation-rule-soft);
}

.reservation-review-note__steps li {
  min-height: 124px;
  padding: 22px 24px;
  border-right: 1px solid var(--reservation-rule-soft);
  border-bottom: 1px solid var(--reservation-rule-soft);
}

.reservation-review-note__steps span {
  color: var(--color-primary);
}

.reservation-review-note__steps strong {
  display: block;
  margin-top: 12px;
  color: var(--color-white);
}

.reservation-review-note__steps p {
  margin: 6px 0 0;
  color: var(--reservation-on-dark-soft);
}

.reservation-help-link {
  display: flex;
  min-height: 64px;
  align-items: center;
  gap: 24px;
  border-top: 1px solid var(--reservation-rule-soft);
}

.reservation-help-link span {
  color: var(--reservation-on-dark-muted);
}

.reservation-help-link a {
  color: var(--color-primary);
}

.reservation-help-link a:hover,
.reservation-help-link a:focus-visible {
  color: var(--color-white);
}

.reservation-related {
  background: var(--color-base-dark);
}

.reservation-related__link {
  position: relative;
  display: block;
  height: 280px;
  overflow: hidden;
  border-top: 1px solid var(--reservation-rule-medium);
  border-right: 1px solid var(--reservation-rule-medium);
  color: var(--color-white);
  isolation: isolate;
}

.reservation-related__link img,
.reservation-related__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.reservation-related__link img {
  z-index: -2;
  object-fit: cover;
  filter: grayscale(0.3) saturate(0.72);
  transform: scale(1.02);
  transition: filter 500ms ease, transform 700ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.reservation-related__shade {
  z-index: -1;
  background: linear-gradient(0deg, var(--reservation-related-overlay-start) 0%, var(--reservation-related-overlay-middle) 62%, var(--reservation-related-overlay-end) 100%);
}

.reservation-related__content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  padding: 28px 32px;
}

.reservation-related__content > span {
  color: var(--color-primary);
}

.reservation-related__content strong {
  margin-top: 9px;
  color: var(--color-white);
}

.reservation-related__content small {
  margin-top: 7px;
  color: var(--reservation-on-dark-readable);
}

.reservation-related__content i {
  margin-top: 18px;
  color: var(--color-primary);
  transition: transform 200ms ease;
}

.reservation-related__link:hover img,
.reservation-related__link:focus-visible img {
  filter: grayscale(0.08) saturate(0.92);
  transform: translateY(-6px) scale(1.055);
}

.reservation-related__link:hover i,
.reservation-related__link:focus-visible i {
  transform: translateX(6px);
}

.reservation-related__link:focus-visible {
  z-index: 2;
  outline: 3px solid var(--color-primary);
  outline-offset: -5px;
}

@media (max-width: 1199.98px) {
  .reservation-hero {
    min-height: 500px;
    height: auto;
  }

  .reservation-hero__content {
    padding-top: 180px;
    padding-bottom: 56px;
  }

  .reservation-guidelines__intro {
    padding-right: 28px;
  }

  .reservation-summary {
    padding: 26px;
  }
}

@media (max-width: 991.98px) {
  .reservation-guidelines__intro {
    margin-bottom: 32px;
    padding-right: 0;
  }

  .reservation-guidelines__intro > p:last-child {
    max-width: 640px;
  }

  .reservation-process {
    padding: 64px 0;
  }

  .reservation-review-note {
    padding-top: 48px;
  }

  .reservation-review-note__heading .text-lg-end {
    text-align: left;
  }

  .reservation-related__link {
    height: 260px;
  }
}

@media (max-width: 767.98px) {
  .reservation-hero {
    min-height: 460px;
    max-height: none;
  }

  .reservation-hero__content {
    padding-top: 132px;
    padding-bottom: 48px;
  }

  .reservation-hero__title {
    margin-top: 10px;
  }

  .reservation-hero__lead {
    margin-top: 18px;
  }

  .reservation-hero__facts {
    gap: 14px 0;
    margin-top: 24px;
    padding-top: 16px;
  }

  .reservation-hero__facts > div {
    width: 50%;
    min-width: 0;
    padding: 0 12px;
  }

  .reservation-hero__facts > div:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .reservation-progress {
    min-height: 54px;
  }

  .reservation-progress ol {
    display: none;
  }

  .reservation-progress__mobile {
    display: flex;
  }

  .reservation-guidelines {
    padding: 48px 0;
  }

  .reservation-guideline {
    min-height: 0;
    padding: 20px;
  }

  .reservation-process {
    padding: 56px 0;
  }

  .reservation-process__intro {
    margin-bottom: 32px;
  }

  .reservation-step {
    padding: 40px 0;
    scroll-margin-top: calc(var(--header-height) + 72px);
  }

  .reservation-step__header {
    gap: 14px;
    margin-bottom: 24px;
  }

  .reservation-step__number {
    width: 42px;
    min-width: 42px;
    height: 42px;
  }

  .visit-calendar__day,
  .visit-calendar__day--empty {
    min-height: 50px;
  }

  .visit-calendar__aside {
    padding-top: 0;
  }

  .visit-calendar__legend {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 16px;
  }

  .visit-date-fallback {
    align-items: stretch;
    flex-direction: column;
  }

  .visit-slot-card {
    min-height: 74px;
  }

  .reservation-summary {
    padding: 24px;
  }

  .reservation-review-note__steps li {
    min-height: 0;
  }

  .reservation-help-link {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding: 18px 0;
  }

  .reservation-related__link {
    height: 240px;
    border-right: 0;
  }

  .reservation-related__content {
    padding: 24px;
  }

}

@media (max-width: 430px) {
  .reservation-hero__content {
    padding-top: 112px;
  }

  .visit-calendar__toolbar {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    padding: 10px;
  }

  .visit-calendar__nav {
    width: 42px;
    height: 42px;
  }

  .visit-calendar__weekdays span {
    padding: 9px 2px;
  }

  .visit-calendar__day,
  .visit-calendar__day--empty {
    min-height: 44px;
  }

  .visit-calendar__day {
    padding: 7px;
  }

  .visit-booking-choices {
    flex-direction: column;
  }

  .visit-booking-choices label + label {
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }

  .visit-slot-card {
    padding-right: 84px;
  }

  .reservation-summary dl > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .reservation-summary dd {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reservation-hero__media,
  .reservation-progress li::after,
  .reservation-step__number,
  .reservation-related__link img,
  .reservation-related__content i {
    transform: none;
    transition: none;
  }

  .reservation-summary.is-updating dd {
    color: var(--color-text);
  }
}

/* Source : assets/css/pages/visiter.css */
body[data-page="visiter"] .hero--inner {
  min-height: 820px;
}

.visit-opening .split {
  align-items: center;
}

.visit-route ol {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin-top: 52px;
  padding: 0;
  background: var(--color-border);
  list-style: none;
}

.visit-route li {
  min-height: 300px;
  padding: 28px;
  background: var(--color-base-light);
}

.visit-route span {
  color: var(--color-primary-hover);
}

.visit-route h3 {
  margin: 76px 0 16px;
}

.visit-panorama {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  background: var(--color-ink-deep);
}

.visit-panorama img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.62;
}

.visit-panorama p {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 760px;
  place-items: center;
  color: var(--color-text-inverse);

  text-align: center;
}

.visit-practical__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 48px;
  background: var(--color-border-dark);
}

.visit-practical__grid .card {
  min-height: 290px;
  background: var(--color-ink-raised);
}

.visit-map .container,
.visit-prepare .container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 80px;
  align-items: center;
}

.visit-map__placeholder {
  display: grid;
  min-height: 480px;
  place-content: center;
  padding: 40px;
  border: 1px solid var(--color-border);
  background: repeating-linear-gradient(45deg, var(--color-base-light), var(--color-base-light) 20px, var(--color-base) 20px, var(--color-base) 40px);
  text-align: center;
}

.visit-map__placeholder span,
.visit-map__placeholder strong,
.visit-map__placeholder small {
  display: block;
  margin: 8px 0;
}

.visit-map__placeholder span {
  color: var(--color-primary-hover);

}

.visit-prepare article {
  min-height: 430px;
  padding: 48px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.visit-respect__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 46px;
  background: var(--color-border);
}

.visit-respect__grid p {
  min-height: 220px;
  padding: 32px;
  background: var(--color-base-light);

}

.visit-reservation .container {
  max-width: 900px;
}

@media (max-width: 980px) {
  .visit-route ol,
  .visit-practical__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {

  .visit-route ol,
  .visit-practical__grid,
  .visit-map .container,
  .visit-prepare .container,
  .visit-respect__grid {
    grid-template-columns: 1fr;
  }

  .visit-map__placeholder {
    min-height: 340px;
  }
}

/* Source : assets/css/pages/faq.css */
.faq-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
  gap: 90px;
  align-items: start;
}

@media (max-width: 900px) {
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

/* Contact institutionnel : toutes les règles restent confinées à la page. */
.page-contact {
  --contact-accent-light: var(--accent-on-light);
  --contact-accent-light-hover: var(--accent-on-light-hover);
  --contact-accent-dark: var(--accent-on-dark);
  background: var(--color-base);
}

.page-contact .contact-hero {
  background: var(--color-ink-deep);
}

.page-contact .contact-hero__media {
  object-position: center;
}

.page-contact .contact-hero__shade {
  background: rgba(8, 8, 7, 0.42);
}

.page-contact .contact-illustration-note {
  position: absolute;
  right: 24px;
  bottom: 18px;
  z-index: 2;
  max-width: 360px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 11px;
  line-height: 16px;
  letter-spacing: 0.4px;
  text-align: right;
}

.page-contact .contact-journey {
  overflow: hidden;
  background: var(--color-base);
}

.page-contact .contact-orientation,
.page-contact .contact-services-section,
.page-contact .contact-form-section,
.page-contact .contact-visit {
  padding: 96px 0;
}

.page-contact .contact-orientation,
.page-contact .contact-form-section {
  background: var(--color-base);
}

.page-contact .contact-services-section,
.page-contact .contact-visit {
  background: var(--color-base-light);
}

.page-contact .contact-orientation h2,
.page-contact .contact-services-section h2,
.page-contact .contact-direct-routes h2,
.page-contact .contact-form-section h2,
.page-contact .contact-fonarev h2,
.page-contact .contact-visit h2 {
  max-width: 820px;
  margin: 12px 0 0;
  color: var(--color-text);
  font-size: 48px;
  line-height: 54px;
}

.page-contact .contact-orientation__lead,
.page-contact .contact-form-section__intro,
.page-contact .contact-section-copy,
.page-contact .contact-visit p {
  color: var(--color-text-soft);
}

.page-contact .contact-orientation__lead {
  max-width: 680px;
  margin: 24px 0 0;
  font-family: var(--font-editorial);
  font-size: 20px;
  line-height: 31px;
}

.page-contact .contact-orientation__cms {
  max-width: 680px;
  margin-top: 24px;
}

.page-contact .contact-orientation__instruction {
  max-width: 680px;
  margin: 30px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
  color: var(--color-text);
  font-size: 14px;
  font-weight: var(--font-weight-semibold);
  line-height: 22px;
}

.page-contact .contact-editorial-media,
.page-contact .contact-practical__media {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: var(--surface-stone);
}

.page-contact .contact-editorial-media img,
.page-contact .contact-practical__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-contact .contact-editorial-media img {
  aspect-ratio: 3 / 2;
}

.page-contact .contact-editorial-media--wide img {
  aspect-ratio: 16 / 9;
}

.page-contact .contact-editorial-media figcaption,
.page-contact .contact-practical__media figcaption {
  padding: 10px 0 0;
  color: var(--color-text-soft);
  font-size: 11px;
  line-height: 17px;
}

.page-contact .contact-services-list {
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}

.page-contact .contact-services-list > div {
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.page-contact .contact-service {
  position: relative;
  min-height: 300px;
  padding: 30px;
  background: var(--color-base-light);
  color: var(--color-text);
  text-decoration: none;
  transition: background-color 220ms ease, color 220ms ease;
}

.page-contact .contact-service__number {
  color: var(--color-text-soft);
  font-size: 12px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1.6px;
}

.page-contact .contact-service__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-top: 30px;
  border: 1px solid var(--contact-accent-light);
  color: var(--contact-accent-light);
  font-size: 16px;
}

.page-contact .contact-service > strong {
  margin-top: 20px;
  font-family: var(--font-editorial);
  font-size: 27px;
  font-weight: var(--font-weight-semibold);
  line-height: 34px;
}

.page-contact .contact-service > span:not(.contact-service__number, .contact-service__icon, .contact-service__action) {
  max-width: 520px;
  margin-top: 14px;
  color: var(--color-text-soft);
  font-size: 15px;
  line-height: 24px;
}

.page-contact .contact-service__action {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 24px;
  color: var(--contact-accent-light);
  font-size: 13px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.5px;
}

.page-contact .contact-service:hover,
.page-contact .contact-service:focus-visible {
  background: var(--color-text);
  color: var(--color-white);
}

.page-contact .contact-service[aria-current="true"] {
  background: var(--surface-stone);
  box-shadow: inset 0 3px 0 var(--contact-accent-light);
}

.page-contact .contact-service[aria-current="true"]:hover,
.page-contact .contact-service[aria-current="true"]:focus-visible {
  background: var(--color-text);
}

.page-contact .contact-service:hover .contact-service__icon,
.page-contact .contact-service:focus-visible .contact-service__icon {
  border-color: var(--contact-accent-dark);
  color: var(--contact-accent-dark);
}

.page-contact .contact-service:hover .contact-service__action,
.page-contact .contact-service:focus-visible .contact-service__action {
  color: var(--contact-accent-dark);
}

.page-contact .contact-service:hover > span:not(.contact-service__icon, .contact-service__action),
.page-contact .contact-service:focus-visible > span:not(.contact-service__icon, .contact-service__action) {
  color: rgba(255, 255, 255, 0.75);
}

.page-contact .contact-service:focus-visible {
  z-index: 2;
  outline: 3px solid var(--contact-accent-light);
  outline-offset: -4px;
}

.page-contact .contact-module-unavailable {
  padding: 32px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.page-contact .contact-module-unavailable h3,
.page-contact .contact-module-unavailable p {
  margin: 0;
}

.page-contact .contact-module-unavailable p + p,
.page-contact .contact-module-unavailable h3 + p {
  margin-top: 12px;
}

.page-contact .contact-direct-routes,
.page-contact .contact-fonarev {
  padding: 72px 0;
  background: var(--color-ink-deep);
  color: var(--color-white);
}

.page-contact .contact-direct-routes h2,
.page-contact .contact-fonarev h2 {
  color: var(--color-white);
}

.page-contact .contact-direct-routes p,
.page-contact .contact-fonarev p {
  color: rgba(255, 255, 255, 0.78);
}

.page-contact .contact-direct-routes .row.g-0 {
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.page-contact .contact-direct-routes .row.g-0 > div {
  border-right: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.page-contact .contact-direct-routes a {
  display: flex;
  flex-direction: column;
  min-height: 210px;
  padding: 28px;
  color: var(--color-white);
  text-decoration: none;
  transition: background-color 180ms ease;
}

.page-contact .contact-direct-routes a:hover,
.page-contact .contact-direct-routes a:focus-visible {
  background: var(--color-primary);
  color: var(--color-ink-deep);
}

.page-contact .contact-direct-routes a:focus-visible {
  outline: 3px solid var(--color-white);
  outline-offset: -5px;
}

.page-contact .contact-direct-routes a > span {
  color: var(--accent-on-dark);
  font-size: 12px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1.4px;
}

.page-contact .contact-direct-routes a:hover > span,
.page-contact .contact-direct-routes a:focus-visible > span {
  color: var(--color-ink-deep);
}

.page-contact .contact-direct-routes strong {
  margin-top: 34px;
  font-family: var(--font-editorial);
  font-size: 21px;
  line-height: 28px;
}

.page-contact .contact-direct-routes small {
  margin-top: auto;
  padding-top: 20px;
  color: inherit;
  font-size: 13px;
  line-height: 20px;
}

.page-contact .contact-form-section__intro {
  max-width: 720px;
  margin: 20px 0 0;
}

.page-contact .contact-form {
  display: block;
  margin-top: 30px;
}

.page-contact .contact-form .field {
  margin-bottom: 16px;
}

.page-contact .contact-selection-summary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  margin-top: 30px;
  padding: 20px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.page-contact .contact-selection-summary > span {
  color: var(--color-text-soft);
  font-size: 11px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.page-contact .contact-selection-summary strong {
  color: var(--color-text);
  font-family: var(--font-editorial);
  font-size: 22px;
  line-height: 28px;
}

.page-contact .contact-selection-summary p {
  max-width: 660px;
  margin: 0;
  color: var(--color-text-soft);
  font-size: 14px;
  line-height: 22px;
}

.page-contact .contact-selection-summary .text-link {
  margin-top: 3px;
}

.page-contact .contact-form-warning {
  margin: 18px 0 0;
  padding: 17px 19px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
  color: var(--color-text-soft);
  font-size: 13px;
  line-height: 21px;
}

.page-contact .contact-form-warning a {
  color: var(--contact-accent-light);
  font-weight: var(--font-weight-semibold);
  text-underline-offset: 3px;
  white-space: nowrap;
}

.page-contact .contact-archive-request {
  margin: 8px 0 30px;
  padding: 26px;
  border: 1px solid var(--color-border);
}

.page-contact .contact-archive-request legend {
  width: auto;
  padding: 0 10px;
  color: var(--color-text);
  font-family: var(--font-editorial);
  font-size: 21px;
  line-height: 28px;
}

.page-contact .contact-form .field > label,
.page-contact .contact-field-heading label {
  display: block;
  margin-bottom: 9px;
  color: var(--color-text);
  font-weight: var(--font-weight-semibold);
}

.page-contact .contact-form label span {
  color: var(--color-text-soft);
  font-size: 12px;
  font-weight: var(--font-weight-regular);
}

.page-contact .contact-form :is(input, select, textarea) {
  border-color: var(--color-border-strong);
  border-radius: 0;
  background: var(--color-base-light);
  color: var(--color-text);
}

.page-contact .contact-form textarea {
  min-height: 190px;
  resize: vertical;
}

.page-contact .contact-form :is(input, select, textarea):focus {
  border-color: var(--contact-accent-light);
  box-shadow: 0 0 0 3px rgba(118, 87, 31, 0.18);
}

.page-contact .contact-form [data-contact-detail][hidden] {
  display: none;
}

.page-contact .contact-character-count,
.page-contact .contact-form__submit small,
.page-contact .field__help {
  color: var(--color-text-soft);
  font-size: 12px;
  line-height: 18px;
}

.page-contact .field__help {
  display: block;
  margin-top: 8px;
}

.page-contact .contact-form__submit {
  margin-top: 8px;
}

.page-contact .contact-form .form-status {
  min-height: 54px;
  margin-top: 22px;
  padding: 14px 16px;
  border-left: 3px solid var(--color-border-strong);
  background: var(--color-base-light);
}

.page-contact .contact-form .form-status.is-success {
  border-left-color: var(--color-success);
}

.page-contact .contact-form .form-status.is-error {
  border-left-color: var(--color-error);
}

.page-contact .contact-practical {
  position: sticky;
  top: 112px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.page-contact .contact-practical__media img {
  aspect-ratio: 4 / 3;
}

.page-contact .contact-practical__media figcaption {
  padding: 9px 24px 0;
}

.page-contact .contact-practical__body {
  padding: 32px;
}

.page-contact .contact-practical__body h2 {
  margin-top: 10px;
  font-size: 34px;
  line-height: 41px;
}

.page-contact .contact-details {
  margin: 32px 0 0;
}

.page-contact .contact-details > div {
  padding: 18px 0;
  border-top: 1px solid var(--color-border);
}

.page-contact .contact-details dt {
  color: var(--color-text-soft);
  font-size: 12px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.page-contact .contact-details dd {
  margin: 7px 0 0;
  color: var(--color-text);
  font-size: 15px;
  line-height: 24px;
  overflow-wrap: anywhere;
}

.page-contact .contact-details a {
  color: var(--color-text);
  text-decoration-color: var(--color-primary);
  text-underline-offset: 4px;
}

.page-contact .contact-schedule-line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 4px 0;
}

.page-contact .contact-schedule-line strong {
  font-weight: var(--font-weight-semibold);
}

.page-contact .contact-practical__notice,
.page-contact .contact-practical__empty {
  margin: 24px 0 0;
  color: var(--color-text-soft);
  font-size: 13px;
  line-height: 21px;
}

.page-contact .contact-fonarev__actions {
  gap: 12px;
}

.page-contact .contact-fonarev__actions .button {
  width: 100%;
  min-height: 52px;
  justify-content: center;
  text-align: center;
}

.page-contact .contact-visit__actions {
  gap: 22px;
  margin-top: 30px;
}

.page-contact .contact-continuity {
  background: var(--color-base);
  border-top: 1px solid var(--color-border);
}

.page-contact .contact-continuity .row {
  border-left: 1px solid var(--color-border);
}

.page-contact .contact-continuity .row > div {
  border-right: 1px solid var(--color-border);
}

.page-contact .contact-continuity a {
  display: flex;
  flex-direction: column;
  min-height: 150px;
  padding: 32px;
  color: var(--color-text);
  text-decoration: none;
  transition: background-color 180ms ease;
}

.page-contact .contact-continuity a:hover,
.page-contact .contact-continuity a:focus-visible {
  background: var(--contact-accent-light);
  color: var(--accent-on-light-contrast);
}

.page-contact .contact-continuity a:focus-visible {
  outline: 3px solid var(--color-text);
  outline-offset: -5px;
}

.page-contact .contact-continuity strong {
  font-family: var(--font-editorial);
  font-size: 20px;
  line-height: 27px;
}

.page-contact .contact-continuity span {
  margin-top: auto;
  padding-top: 18px;
  color: inherit;
  font-size: 13px;
}

@media (max-width: 1199.98px) {
  .page-contact .contact-orientation,
  .page-contact .contact-services-section,
  .page-contact .contact-form-section,
  .page-contact .contact-visit {
    padding: 80px 0;
  }

  .page-contact .contact-service {
    min-height: 310px;
    padding: 28px;
  }

  .page-contact .contact-practical {
    top: 96px;
  }
}

@media (max-width: 991.98px) {
  .page-contact .contact-orientation h2,
  .page-contact .contact-services-section h2,
  .page-contact .contact-direct-routes h2,
  .page-contact .contact-form-section h2,
  .page-contact .contact-fonarev h2,
  .page-contact .contact-visit h2 {
    font-size: 40px;
    line-height: 47px;
  }

  .page-contact .contact-practical {
    position: static;
  }

  .page-contact .contact-practical__media img {
    max-height: 520px;
  }
}

@media (max-width: 767.98px) {
  .page-contact .contact-illustration-note {
    right: 16px;
    bottom: 12px;
    left: 16px;
    max-width: none;
    text-align: left;
  }

  .page-contact .contact-orientation,
  .page-contact .contact-services-section,
  .page-contact .contact-form-section,
  .page-contact .contact-visit,
  .page-contact .contact-direct-routes,
  .page-contact .contact-fonarev {
    padding: 60px 0;
  }

  .page-contact .contact-service {
    min-height: 280px;
  }

  .page-contact .contact-direct-routes a {
    min-height: 180px;
  }

  .page-contact .contact-continuity .row > div {
    border-bottom: 1px solid var(--color-border);
  }

  .page-contact .contact-continuity a {
    min-height: 120px;
  }
}

@media (max-width: 575.98px) {
  .page-contact .contact-orientation h2,
  .page-contact .contact-services-section h2,
  .page-contact .contact-direct-routes h2,
  .page-contact .contact-form-section h2,
  .page-contact .contact-fonarev h2,
  .page-contact .contact-visit h2 {
    font-size: 32px;
    line-height: 39px;
  }

  .page-contact .contact-service {
    min-height: 260px;
    padding: 24px;
  }

  .page-contact .contact-service__icon {
    margin-top: 28px;
  }

  .page-contact .contact-practical__body {
    padding: 24px;
  }

  .page-contact .contact-schedule-line {
    flex-direction: column;
    gap: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-contact .contact-service,
  .page-contact .contact-direct-routes a,
  .page-contact .contact-continuity a {
    transition: none;
  }
}

/* Source : assets/css/pages/legal.css */
.legal-content {
  max-width: 900px;
}

.legal-content section + section {
  margin-top: 58px;
  padding-top: 44px;
  border-top: 1px solid var(--color-border);
}

.legal-content h2 {
  margin-bottom: 22px;

}

.legal-content p + p,
.legal-content li + li {
  margin-top: 14px;
}

.legal-content ul {
  padding-left: 20px;
}

.legal-content li {
  list-style: square;
}

/* Source : assets/css/pages/accessibilite.css */
.accessibility-aids,
.accessibility-report {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr);
  gap: 80px;
  align-items: start;
}

.accessibility-status {
  padding: 34px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.accessibility-status > * + *,
.accessibility-report li + li {
  margin-top: 16px;
}

.accessibility-report ol {
  padding-left: 24px;
}

.accessibility-report li {
  list-style: decimal;
}

@media (max-width: 800px) {
  .accessibility-aids,
  .accessibility-report {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

/* Source : assets/css/pages/visit-booking.css */
/*
 * États techniques du module de réservation de visite.
 * La composition de page demeure dans reservation.css ; ce fichier reste le
 * propriétaire des états chargés, invalides et indisponibles du calendrier.
 */

.visit-calendar__grid[aria-busy="true"],
.visit-slot-list[aria-busy="true"] {
  opacity: 0.56;
  pointer-events: none;
}

.visit-calendar__grid,
.visit-slot-list {
  transition: opacity 160ms ease;
}

.visit-calendar__day[aria-disabled="true"],
.visit-slot-card.is-disabled {
  pointer-events: none;
}

.visit-slot-card--almost_full:not(.is-disabled) strong {
  color: var(--color-primary-hover);
}

.visit-slot-card--full,
.visit-slot-card--closed,
.visit-slot-card--past {
  background: var(--color-base-light);
}

.visit-capacity-alert[hidden],
[data-group-name-field][hidden],
[data-participant-names-field][hidden] {
  display: none;
}

.reservation-form [aria-invalid="true"] {
  border-color: var(--color-primary-hover);
}

.reservation-form .field__error {
  display: block;
  margin-top: 7px;
  color: var(--color-text);
}

.reservation-form[aria-busy="true"] [data-form-submit] {
  cursor: wait;
}

@media (prefers-reduced-motion: reduce) {
  .visit-calendar__grid,
  .visit-slot-list {
    transition: none;
  }
}

/* Source : assets/css/pages/visit-cancellation.css */
.body-visit-cancellation {
    background: var(--visit-cancel-page-background);
    color: var(--visit-cancel-text);
}

.visit-cancellation {
    min-height: 620px;
    padding: 96px 24px 112px;
}

.visit-cancellation__inner {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    padding: 48px;
    background: var(--visit-cancel-panel-background);
    border: 1px solid var(--visit-cancel-border);
}

.visit-cancellation__eyebrow {
    margin: 0 0 12px;
    color: var(--visit-cancel-eyebrow);
}

.visit-cancellation h1 {
    margin: 0;
    color: var(--visit-cancel-title);
}

.visit-cancellation__introduction {
    max-width: 650px;
    margin: 18px 0 32px;
    color: var(--visit-cancel-introduction);
}

.visit-cancellation__message {
    margin: 0 0 28px;
    padding: 16px 18px;
    border: 1px solid var(--visit-cancel-message-border);
    background: var(--visit-cancel-message-background);
    color: var(--visit-cancel-message-text);
}

.visit-cancellation__message.is-success {
    border-color: var(--visit-cancel-success-border);
    background: var(--visit-cancel-success-background);
    color: var(--visit-cancel-success-text);
}

.visit-cancellation__message.is-error {
    border-color: var(--visit-cancel-error-border);
    background: var(--visit-cancel-error-background);
    color: var(--visit-cancel-error-text);
}

.visit-cancellation__summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    border-top: 1px solid var(--visit-cancel-border);
    border-left: 1px solid var(--visit-cancel-border);
}

.visit-cancellation__summary div {
    min-height: 96px;
    padding: 18px;
    border-right: 1px solid var(--visit-cancel-border);
    border-bottom: 1px solid var(--visit-cancel-border);
}

.visit-cancellation__summary dt {
    margin-bottom: 7px;
    color: var(--visit-cancel-eyebrow);
}

.visit-cancellation__summary dd {
    margin: 0;
    color: var(--visit-cancel-text);
}

.visit-cancellation__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
}

.visit-cancellation__confirm,
.visit-cancellation__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 0;
    text-decoration: none;
}

.visit-cancellation__confirm {
    border: 1px solid var(--visit-cancel-primary);
    background: var(--visit-cancel-primary);
    color: var(--color-white);
    cursor: pointer;
}

.visit-cancellation__back {
    border: 1px solid var(--visit-cancel-secondary-border);
    background: transparent;
    color: var(--visit-cancel-secondary-text);
}

.visit-cancellation__confirm:hover,
.visit-cancellation__confirm:focus-visible {
    border-color: var(--visit-cancel-primary-hover);
    background: var(--visit-cancel-primary-hover);
    color: var(--color-white);
}

.visit-cancellation__back:hover,
.visit-cancellation__back:focus-visible {
    background: var(--surface-stone);
    color: var(--visit-cancel-title);
}

@media (max-width: 720px) {
    .visit-cancellation {
        padding: 56px 16px 72px;
    }

    .visit-cancellation__inner {
        padding: 28px 20px;
    }

    .visit-cancellation__summary {
        grid-template-columns: 1fr;
    }

    .visit-cancellation__confirm,
    .visit-cancellation__back {
        width: 100%;
    }
}

/* Source : assets/css/tickets/visit-premium.css */
/* Billet de visite premium partagé par l'éditeur HTML et le moteur PDF. */
.visit-premium-ticket,
.visit-premium-ticket * {
    box-sizing: border-box;
}

.visit-premium-ticket {
    position: relative;
    width: 700px;
    height: 1080px;
    overflow: hidden;
    background: transparent;
    page-break-after: avoid;
    page-break-inside: avoid;
}

.visit-premium-ticket__surface {
    position: absolute;
    top: 0;
    left: 0;
    width: 700px;
    height: 1080px;
    overflow: hidden;
    border: var(--visit-border-width, 0px) var(--visit-border-style, solid) var(--visit-border-color, #755636);
    border-radius: var(--visit-radius, 0px);
    background-color: var(--visit-background, #F3EFE5);
    background-image: repeating-linear-gradient(0deg, rgba(17, 17, 15, 0.018) 0px, rgba(17, 17, 15, 0.018) 1px, transparent 1px, transparent 5px);
    color: var(--visit-text, #11110F);
    font-family: var(--visit-font-family, "Inter", "DejaVu Sans", sans-serif);
    transform-origin: top left;
}

.visit-premium-ticket__background-image {
    position: absolute;
    z-index: 0;
    inset: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.visit-premium-ticket__surface > :not(.visit-premium-ticket__background-image) {
    z-index: 1;
}

.visit-premium-ticket__header,
.visit-premium-ticket__heading,
.visit-premium-ticket__information,
.visit-premium-ticket__qr-zone,
.visit-premium-ticket__logistics {
    position: relative;
}

.visit-premium-ticket__surface[data-texture="none"] {
    background-image: none;
}

.visit-premium-ticket__surface[data-texture="grain"] {
    background-image: repeating-radial-gradient(circle at 0 0, rgba(17, 17, 15, 0.025) 0px, rgba(17, 17, 15, 0.025) 1px, transparent 1px, transparent 4px);
}

.visit-premium-ticket__surface[data-pattern="frame"]::after {
    position: absolute;
    z-index: 2;
    top: 14px;
    right: 14px;
    bottom: 14px;
    left: 14px;
    border: 1px solid var(--visit-accent, #C9A56D);
    content: "";
    pointer-events: none;
}

.visit-premium-ticket__surface[data-pattern="geometry"]::after {
    position: absolute;
    z-index: 2;
    right: -48px;
    bottom: 74px;
    width: 132px;
    height: 132px;
    border: 1px solid var(--visit-accent, #C9A56D);
    content: "";
    pointer-events: none;
    transform: rotate(45deg);
}

.visit-premium-ticket .is-hidden {
    visibility: hidden;
}

.visit-premium-ticket__header {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 150px;
    overflow: hidden;
    border-bottom: 3px solid var(--visit-accent, #C9A56D);
    background: var(--visit-primary, #11110F);
    text-align: center;
}

.visit-premium-ticket__header::before,
.visit-premium-ticket__header::after {
    position: absolute;
    top: 24px;
    width: 82px;
    height: 82px;
    border-top: 1px solid rgba(117, 86, 54, 0.65);
    border-right: 1px solid rgba(117, 86, 54, 0.65);
    content: "";
    transform: rotate(45deg);
}

.visit-premium-ticket__header::before {
    left: -42px;
}

.visit-premium-ticket__header::after {
    right: -42px;
    transform: rotate(225deg);
}

.visit-premium-ticket__logo {
    display: block;
    width: var(--visit-logo-size, 330px);
    height: 92px;
    margin: 28px auto 0;
    object-fit: contain;
    opacity: var(--visit-logo-opacity, 1);
}

.visit-premium-ticket__logo-fallback {
    width: 94px;
    height: 94px;
    margin: 26px auto 0;
    border: 1px solid var(--visit-accent, #C9A56D);
    color: var(--visit-accent, #76571F);
    font-family: "Inter", "DejaVu Sans", sans-serif;
    font-size: 52px;
    line-height: 92px;
}

.visit-premium-ticket__heading {
    position: absolute;
    top: 150px;
    right: 0;
    left: 0;
    height: 134px;
    padding: 25px 50px 0;
    text-align: center;
}

.visit-premium-ticket__heading::after {
    display: block;
    width: 532px;
    height: 1px;
    margin: 17px auto 0;
    background: var(--visit-separator, #755636);
    content: "";
}

.visit-premium-ticket__title {
    margin: 0;
    color: var(--visit-text, #11110F);
    font-size: 35px;
    font-weight: 700;
    letter-spacing: 6px;
    line-height: 42px;
}

.visit-premium-ticket__subtitle {
    margin-top: 3px;
    color: var(--visit-accent, #76571F);
    font-family: "Inter", "DejaVu Sans", sans-serif;
    font-size: 18px;
    line-height: 24px;
}

.visit-premium-ticket__slogan {
    margin-top: 5px;
    color: #37352F;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 12px;
    text-transform: uppercase;
}

.visit-premium-ticket__information {
    position: absolute;
    top: 284px;
    right: 0;
    left: 0;
    height: 280px;
    padding: 0 52px;
}

.visit-premium-ticket__info-grid {
    width: 100%;
    height: 280px;
    border-collapse: collapse;
    table-layout: fixed;
}

.visit-premium-ticket__info-grid > tbody > tr > td {
    width: 50%;
    height: 56px;
    border-bottom: 1px solid var(--visit-separator, #755636);
    vertical-align: middle;
}

.visit-premium-ticket__info-grid > tbody > tr > td:first-child {
    border-right: 1px solid var(--visit-separator, #755636);
    padding-right: 24px;
}

.visit-premium-ticket__info-grid > tbody > tr > td:last-child {
    padding-left: 24px;
}

.visit-premium-ticket__info-grid > tbody > tr > td.visit-premium-ticket__ticket-number {
    border-right: 0;
    padding-right: 0;
}

.visit-premium-ticket__info-item {
    width: 100%;
    border-collapse: collapse;
}

.visit-premium-ticket__info-icon {
    width: 38px;
    padding: 0 var(--visit-icon-spacing, 11px) 0 0;
    color: var(--visit-accent, #76571F);
    vertical-align: middle;
}

.visit-premium-ticket__icon {
    display: block;
    width: var(--visit-icon-size, 25px);
    height: var(--visit-icon-size, 25px);
}

.visit-premium-ticket__info-copy {
    vertical-align: middle;
}

.visit-premium-ticket__label {
    margin-bottom: 2px;
    color: #666157;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 1.35px;
    line-height: 10px;
    text-transform: uppercase;
}

.visit-premium-ticket__value {
    max-height: calc(var(--visit-line-height, 17px) * 2);
    overflow: hidden;
    color: var(--visit-text, #11110F);
    font-size: var(--visit-font-size, 13px);
    font-weight: var(--visit-font-weight, 700);
    letter-spacing: var(--visit-letter-spacing, 0px);
    line-height: var(--visit-line-height, 17px);
    text-align: var(--visit-text-align, left);
    text-transform: var(--visit-text-transform, none);
    overflow-wrap: anywhere;
    word-break: break-word;
}

.visit-premium-ticket__value.is-long {
    font-size: 11px;
    line-height: 15px;
}

.visit-premium-ticket__value.is-very-long {
    font-size: 9px;
    line-height: 12px;
}

.visit-premium-ticket__value--reference {
    font-size: 11px;
    letter-spacing: 0.35px;
}

.visit-premium-ticket__qr-zone {
    position: absolute;
    top: 564px;
    right: 0;
    left: 0;
    height: 282px;
    background-color: var(--visit-secondary, #F3EFE5);
    padding-top: 8px;
    text-align: center;
}

.visit-premium-ticket__qr-frame {
    box-sizing: content-box;
    width: var(--visit-qr-size, 214px);
    height: var(--visit-qr-size, 214px);
    margin: 0 auto;
    padding: var(--visit-qr-margin, 14px);
    border: var(--visit-qr-border-width, 1px) solid var(--visit-qr-border-color, #755636);
    border-radius: var(--visit-qr-radius, 0px);
    background: #FFFFFF;
}

.visit-premium-ticket__qr-frame img {
    display: block;
    width: var(--visit-qr-size, 214px);
    height: var(--visit-qr-size, 214px);
}

.visit-premium-ticket__qr-empty {
    width: var(--visit-qr-size, 214px);
    height: var(--visit-qr-size, 214px);
    border: 1px dashed var(--visit-accent, #C9A56D);
    color: #777168;
    font-size: 12px;
    line-height: var(--visit-qr-size, 214px);
}

.visit-premium-ticket__qr-instruction {
    margin: 6px 0 0;
    color: #26231F;
    font-family: "Inter", "DejaVu Sans", sans-serif;
    font-size: 12px;
    line-height: 18px;
}

.visit-premium-ticket__logistics {
    position: absolute;
    top: 846px;
    right: 0;
    left: 0;
    height: 174px;
    padding: 14px 46px 10px;
    border-top: 1px solid var(--visit-separator, #755636);
    background: #FBFAF6;
}

.visit-premium-ticket__logistics-grid {
    width: 100%;
    height: 118px;
    border-collapse: collapse;
    table-layout: fixed;
}

.visit-premium-ticket__logistics-grid > tbody > tr > td {
    width: 33.333%;
    padding: 2px 18px;
    border-right: 1px solid rgba(117, 86, 54, 0.45);
    vertical-align: top;
}

.visit-premium-ticket__logistics-grid > tbody > tr > td:first-child {
    padding-left: 0;
}

.visit-premium-ticket__logistics-grid > tbody > tr > td:last-child {
    padding-right: 0;
    border-right: 0;
}

.visit-premium-ticket__logistics-title {
    margin: 0 0 7px;
    color: var(--visit-accent, #76571F);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.2px;
    line-height: 11px;
    text-transform: uppercase;
}

.visit-premium-ticket__logistics-copy,
.visit-premium-ticket__contact-row {
    color: #2A2824;
    font-size: 8px;
    line-height: 13px;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.visit-premium-ticket__contact-row {
    margin-bottom: 6px;
}

.visit-premium-ticket__contact-row .visit-premium-ticket__icon {
    display: inline-block;
    width: 11px;
    height: 11px;
    margin-right: 5px;
    color: #76571F;
    vertical-align: -2px;
}

.visit-premium-ticket__legal {
    height: 20px;
    overflow: hidden;
    color: #777168;
    font-size: 6px;
    line-height: 9px;
    text-align: center;
}

.visit-premium-ticket__footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 60px;
    border-top: 2px solid var(--visit-accent, #C9A56D);
    background: var(--visit-primary, #11110F);
    color: #C9A56D;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 48px;
    text-align: center;
    text-transform: uppercase;
}

@media print {
    .visit-premium-ticket {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}

.visit-premium-ticket__qr-zone[data-ticket-qr-position="left"] {
    text-align: left;
}

.visit-premium-ticket__qr-zone[data-ticket-qr-position="left"] .visit-premium-ticket__qr-frame {
    margin-left: 74px;
}

.visit-premium-ticket__qr-zone[data-ticket-qr-position="right"] {
    text-align: right;
}

.visit-premium-ticket__qr-zone[data-ticket-qr-position="right"] .visit-premium-ticket__qr-frame {
    margin-right: 74px;
}

/* La composition paysage réorganise les blocs sans étirer la typographie ni le QR. */
.visit-premium-ticket__surface--landscape {
    width: 1080px;
    height: 700px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__header {
    height: 98px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__logo {
    height: 68px;
    margin-top: 15px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__logo-fallback {
    width: 62px;
    height: 62px;
    margin-top: 17px;
    font-size: 34px;
    line-height: 60px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__heading {
    position: absolute;
    top: 98px;
    left: 0;
    width: 680px;
    height: 90px;
    padding-top: 14px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__heading::after {
    width: 560px;
    margin-top: 8px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__title {
    font-size: 29px;
    line-height: 34px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__subtitle {
    font-size: 16px;
    line-height: 20px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__slogan {
    margin-top: 2px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__information {
    position: absolute;
    top: 188px;
    left: 0;
    width: 680px;
    height: 280px;
    padding: 0 42px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__qr-zone {
    position: absolute;
    top: 122px;
    right: 0;
    width: 400px;
    height: 360px;
    padding-top: 28px;
    background: transparent;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__qr-zone[data-ticket-qr-position="left"] .visit-premium-ticket__qr-frame {
    margin-left: 28px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__qr-zone[data-ticket-qr-position="right"] .visit-premium-ticket__qr-frame {
    margin-right: 28px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__logistics {
    position: absolute;
    top: 488px;
    right: 0;
    left: 0;
    height: 154px;
    padding: 14px 58px 10px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__logistics-grid {
    height: 120px;
}

.visit-premium-ticket__surface--landscape .visit-premium-ticket__footer,
.visit-premium-ticket--editor .visit-premium-ticket__surface--landscape .visit-premium-ticket__footer {
    height: 58px;
}

/* Source : assets/themes/genocost/css/pages/home.css */
/* Section programme : présentation claire des acquis et des preuves de pratique. */
.genocost-program-section {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.35)),
        var(--hx-gray-50, #f8fafc) !important;
}

.genocost-program-copy {
    max-width: 820px;
}

.genocost-program-heading {
    margin-bottom: 1.5rem;
}

.genocost-program-heading h6 {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--hx-theme-color);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
}

.genocost-program-heading h6::before {
    content: "";
    width: 34px;
    height: 2px;
    background: var(--hx-theme-color);
}

.genocost-program-heading h2 {
    color: var(--hx-gray-950, #0f172a);
    font-size: clamp(2rem, 3.8vw, 3.45rem);
    line-height: 0.98;
    max-width: 760px;
    margin-bottom: 1.25rem;
}

.genocost-program-heading p,
.genocost-program-intro {
    color: var(--hx-gray-650, #475569);
    font-size: 1.05rem;
    line-height: 1.75;
}

.genocost-program-intro {
    max-width: 780px;
    margin-bottom: 0;
}

.genocost-techniques-panel {
    margin-top: 2rem;
    padding: 1.65rem;
    background: var(--hx-color-white);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--hx-border-radius-lg, 8px);
}

.genocost-techniques-panel h5 {
    color: var(--hx-gray-900, #111827);
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 1.25rem;
}

.genocost-technique-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    margin: 0;
}

.genocost-technique-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-height: 100%;
    padding: 1rem;
    color: var(--hx-gray-650, #475569);
    line-height: 1.55;
    background: rgba(248, 250, 252, 0.9);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: var(--hx-border-radius-md, 6px);
}

.genocost-technique-list li:last-child {
    grid-column: 1 / -1;
}

.genocost-technique-list strong {
    display: block;
    color: var(--hx-gray-950, #0f172a);
    font-size: 1rem;
    margin-bottom: 0.25rem;
}

.genocost-technique-icon {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: var(--hx-color-white);
    background: var(--hx-theme-color);
    border-radius: var(--hx-border-radius-md, 6px);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--hx-theme-color), transparent 70%);
}

.genocost-technique-icon::before {
    content: "";
    width: 0.7rem;
    height: 0.38rem;
    border: solid var(--hx-color-white);
    border-width: 0 0 2px 2px;
    transform: rotate(-45deg) translate(1px, -1px);
}

.genocost-program-stats {
    display: grid;
    gap: 1rem;
    height: auto
}

.genocost-stat-card {
    position: relative;
    min-height: 0;
    padding: 1.5rem;
    background: var(--hx-color-white);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--hx-border-radius-lg, 8px);
}

.genocost-stat-value {
    display: block;
    color: var(--hx-theme-color);
    font-family: var(--hx-font-secondary);
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    font-weight: 800;
    line-height: 0.9;
    margin-bottom: 0.9rem;
}

.genocost-stat-card p {
    color: var(--hx-gray-700, #334155);
    font-size: 1.02rem;
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 991.98px) {
    .genocost-program-heading h2 {
        line-height: 1.05;
    }

    .genocost-program-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .genocost-program-section {
        padding: 70px 0;
    }

    .genocost-techniques-panel {
        padding: 1rem;
    }

    .genocost-technique-list,
    .genocost-program-stats {
        grid-template-columns: 1fr;
    }

    .genocost-technique-list li:last-child {
        grid-column: auto;
    }

    .genocost-stat-card {
        padding: 1.25rem 1.25rem 1.25rem 1.4rem;
    }
}

/* Source : assets/themes/genocost/css/pages/institutional.css */
/* Pages institutionnelles : lecture claire, navigation latérale et informations de contact. */
.institutional-hero {
    padding: 46px 0 32px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 1));
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.institutional-breadcrumb {
    margin-bottom: 28px;
}

.institutional-hero-content {
    max-width: 860px;
}

.institutional-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--hx-theme-color);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.institutional-eyebrow::before {
    content: "";
    width: 34px;
    height: 2px;
    background: currentColor;
}

.institutional-hero h1 {
    color: var(--hx-gray-950, #0f172a);
    font-size: 3rem;
    line-height: 1.08;
    margin-bottom: 18px;
}

.institutional-hero p {
    max-width: 780px;
    color: var(--hx-gray-650, #475569);
    font-size: 1.06rem;
    line-height: 1.78;
    margin-bottom: 22px;
}

.institutional-meta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    color: var(--hx-gray-700, #334155);
    background: var(--hx-color-white, #ffffff);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
}

.institutional-meta span {
    font-size: 0.86rem;
}

.institutional-meta strong {
    color: var(--hx-gray-950, #0f172a);
    font-size: 0.9rem;
}

.institutional-body {
    padding: 50px 0 80px;
    background: var(--hx-color-white, #ffffff);
}

.institutional-content,
.institutional-panel {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: var(--hx-color-white, #ffffff);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.institutional-content {
    padding: 36px;
}

.institutional-section + .institutional-section,
.institutional-facts + .institutional-section {
    margin-top: 34px;
    padding-top: 34px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.institutional-section h2,
.institutional-facts h2,
.institutional-panel h2 {
    color: var(--hx-gray-950, #0f172a);
    font-size: 1.36rem;
    line-height: 1.28;
    margin-bottom: 16px;
}

.institutional-section p {
    color: var(--hx-gray-650, #475569);
    font-size: 1rem;
    line-height: 1.82;
    margin-bottom: 14px;
}

.institutional-section p:last-child {
    margin-bottom: 0;
}

.institutional-list {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.institutional-list li {
    position: relative;
    padding: 14px 16px 14px 42px;
    color: var(--hx-gray-700, #334155);
    line-height: 1.58;
    background: rgba(248, 250, 252, 0.82);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 8px;
}

.institutional-list li::before {
    content: "";
    position: absolute;
    top: 19px;
    left: 17px;
    width: 10px;
    height: 10px;
    background: var(--hx-theme-color);
    border-radius: 50%;
}

.institutional-facts {
    padding: 24px;
    background: rgba(248, 250, 252, 0.92);
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 8px;
}

.institutional-facts dl {
    display: grid;
    gap: 12px;
    margin: 0;
}

.institutional-facts dl > div {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.institutional-facts dt {
    color: var(--hx-gray-700, #334155);
    font-weight: 800;
}

.institutional-facts dd {
    color: var(--hx-gray-900, #111827);
    margin: 0;
    overflow-wrap: anywhere;
}

.institutional-facts a,
.institutional-panel a {
    color: var(--hx-theme-color);
    text-decoration: none;
}

.institutional-facts a:hover,
.institutional-panel a:hover {
    text-decoration: underline;
}

.institutional-sidebar {
    position: sticky;
    top: 110px;
}

.institutional-panel {
    padding: 24px;
}

.institutional-panel + .institutional-panel {
    margin-top: 20px;
}

.institutional-nav ul,
.institutional-contact-list {
    display: grid;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.institutional-nav a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    color: var(--hx-gray-700, #334155);
    border: 1px solid transparent;
    border-radius: 8px;
}

.institutional-nav a:hover,
.institutional-nav a.active {
    color: var(--hx-gray-950, #0f172a);
    background: rgba(248, 250, 252, 0.95);
    border-color: rgba(15, 23, 42, 0.08);
    text-decoration: none;
}

.institutional-nav a.active {
    box-shadow: inset 3px 0 0 var(--hx-theme-color);
}

.institutional-contact-list li,
.institutional-panel p {
    color: var(--hx-gray-650, #475569);
    line-height: 1.62;
    overflow-wrap: anywhere;
}

.institutional-panel p {
    margin: 0;
}

@media (max-width: 991.98px) {
    .institutional-hero h1 {
        font-size: 2.35rem;
    }

    .institutional-sidebar {
        position: static;
        top: auto;
    }
}

@media (max-width: 575.98px) {
    .institutional-hero {
        padding: 34px 0 24px;
    }

    .institutional-hero h1 {
        font-size: 2rem;
    }

    .institutional-body {
        padding: 34px 0 54px;
    }

    .institutional-content,
    .institutional-panel,
    .institutional-facts {
        padding: 20px;
    }

    .institutional-facts dl > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

/* Source : assets/themes/genocost/css/event-public-schedule.css */
.event-public-schedule { margin: 2rem 0; }
.event-public-schedule__days { display: grid; gap: 1rem; }
.event-public-day { padding: 1.25rem; border: 1px solid var(--hx-border-color, #e5e7eb); border-radius: 1rem; background: var(--hx-body-bg, #fff); }
.event-public-day--simple { display: grid; gap: .55rem; }
.event-public-day--simple h4 { margin: 0; }
.event-public-day__header { display: flex; gap: 1rem; align-items: flex-start; }
.event-public-day__index { display: grid; place-items: center; flex: 0 0 2.5rem; height: 2.5rem; border-radius: .75rem; color: #fff; background: var(--hx-theme-color, #1a58e2); font-weight: 800; }
.event-public-day__date { color: var(--hx-theme-color, #1a58e2); font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.event-public-day h4 { margin: .15rem 0; font-size: 1.1rem; }
.event-public-day p { margin: .25rem 0; }
.event-public-day__meta { display: flex; flex-wrap: wrap; gap: .35rem 1rem; }
.event-public-day__meta span, .event-public-program small { color: var(--hx-text-muted, #6b7280); font-size: .85rem; }
.event-public-day__description { padding-top: .5rem; }
.event-public-programs { display: grid; gap: .65rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--hx-border-color, #e5e7eb); }
.event-public-program { display: grid; grid-template-columns: minmax(6.5rem, auto) 1fr; gap: 1rem; padding: .8rem; border-radius: .75rem; background: var(--hx-secondary-bg, #f8fafc); }
.event-public-program time { font-weight: 800; }
.event-public-program h5 { margin: 0; font-size: 1rem; }
.event-public-program__theme { display: block; margin-top: .15rem; color: var(--hx-theme-color, #1a58e2); font-size: .85rem; font-weight: 600; }
.event-public-program__content p { margin: .4rem 0; }
.event-public-program small { display: block; margin-top: .35rem; }
@media (max-width: 575.98px) {
    .event-public-day { padding: 1rem; }
    .event-public-program { grid-template-columns: 1fr; gap: .3rem; }
    .event-public-program time { color: var(--hx-theme-color, #1a58e2); }
}
@media (min-width: 768px) { .event-public-day { padding: 1.5rem; } }

.event-private-information-note,
.event-public-schedule__notice {
    background: var(--hx-secondary-bg, #f8fafc);
    border: 1px solid var(--hx-border-color, #e5e7eb);
    border-radius: 10px;
    color: var(--hx-text-muted, #6b7280);
    font-size: 14px;
    line-height: 21px;
    margin: 0 0 24px;
    padding: 12px 14px;
}

.event-wrapper .event-info-bar.has-private-note {
    margin-bottom: 12px;
}

.event-public-schedule__notice {
    margin-bottom: 16px;
}

/* Source : assets/themes/genocost/css/event-participation-schedule.css */
.event-program-selector {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.event-ticket-filter-status {
    align-items: center;
    background: var(--hx-body-secondary-bg);
    border: 1px solid var(--hx-border-color);
    border-radius: 10px;
    color: var(--hx-text-main-secondary);
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: .75rem 1rem;
}

.event-ticket-filter-status[hidden] { display: none; }
.event-ticket-filter-status button {
    background: transparent;
    border: 0;
    color: var(--hx-theme-color);
    font-weight: 800;
}

.event-ticket-modal-access {
    color: var(--hx-theme-color);
    display: block;
    font-size: .85rem;
    font-weight: 700;
    margin-top: .25rem;
}

.event-full-access-choice {
    align-items: center;
    background: var(--hx-body-secondary-bg);
    border: 1px solid var(--hx-border-color);
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.event-full-access-choice input,
.event-public-select-row input,
.event-public-program > input {
    accent-color: var(--hx-theme-color);
    flex: 0 0 auto;
    height: 1.15rem;
    width: 1.15rem;
}

.event-full-access-choice span {
    display: grid;
    gap: .2rem;
}

.event-full-access-choice strong {
    color: var(--hx-text-main);
}

.event-full-access-choice small,
.event-public-day-state small,
.event-public-program-main small,
.event-public-program-state small {
    color: var(--hx-text-main-secondary);
}

.event-public-days {
    display: grid;
    gap: .9rem;
}

.event-public-day {
    background: var(--hx-body-bg);
    border: 1px solid var(--hx-border-color);
    border-radius: 12px;
    overflow: hidden;
}

.event-public-day.is-unavailable {
    background: var(--hx-body-secondary-bg);
}

.event-public-day-head {
    align-items: center;
    display: grid;
    gap: .9rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 1rem;
}

.event-public-date {
    align-items: center;
    background: var(--hx-theme-color);
    border-radius: 9px;
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 3.5rem;
    justify-content: center;
    line-height: 1;
    width: 3.5rem;
}

.event-public-date strong {
    font-size: 1.2rem;
}

.event-public-date span {
    font-size: .7rem;
    margin-top: .25rem;
}

.event-public-day-title h4 {
    color: var(--hx-text-main);
    font-size: 1rem;
    margin: 0;
}

.event-public-day-title p {
    color: var(--hx-text-main-secondary);
    margin: .2rem 0 0;
}

.event-public-day-title .event-public-placeholder {
    color: var(--hx-text-main-secondary);
    font-size: 13px;
    line-height: 19px;
    margin-top: 4px;
}

.event-public-selection-notice {
    background: var(--hx-body-secondary-bg);
    border: 1px solid var(--hx-border-color);
    border-radius: 10px;
    color: var(--hx-text-main-secondary);
    font-size: 14px;
    line-height: 21px;
    margin: 0;
    padding: 12px 14px;
}

.event-public-meta {
    color: var(--hx-text-main-secondary);
    display: flex;
    flex-wrap: wrap;
    font-size: .82rem;
    gap: .35rem .8rem;
    margin-top: .35rem;
}

.event-public-day-state {
    display: grid;
    gap: .2rem;
    grid-column: 1 / -1;
    justify-items: start;
}

.event-public-status {
    color: var(--hx-green-500);
    font-size: .78rem;
    font-style: normal;
    font-weight: 800;
}

.event-public-status.is-full,
.event-public-status.is-closed {
    color: var(--hx-error-color);
}

.event-public-status.is-upcoming {
    color: #d97706;
}

.event-public-select-row,
.event-public-ticket-link {
    align-items: center;
    background: var(--hx-body-secondary-bg);
    border: 0;
    border-top: 1px solid var(--hx-border-color);
    color: var(--hx-theme-color);
    cursor: pointer;
    display: flex;
    font-weight: 800;
    gap: .65rem;
    margin: 0;
    padding: .8rem 1rem;
    width: 100%;
}

.event-public-ticket-link {
    justify-content: flex-start;
}

.event-public-programs {
    border-top: 1px solid var(--hx-border-color);
    display: grid;
}

.event-public-program {
    align-items: center;
    display: grid;
    gap: .75rem;
    grid-template-columns: auto 3.25rem minmax(0, 1fr);
    padding: .85rem 1rem;
}

.event-public-program + .event-public-program {
    border-top: 1px solid var(--hx-border-color);
}

.event-public-program.is-unavailable {
    opacity: .66;
}

.event-public-program-time {
    color: var(--hx-text-main);
    display: grid;
    font-size: .85rem;
    font-weight: 800;
}

.event-public-program-time small {
    color: var(--hx-text-main-secondary);
    font-weight: 500;
}

.event-public-program-main {
    display: grid;
    min-width: 0;
}

.event-public-program-main strong {
    color: var(--hx-text-main);
}

.event-public-program-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.event-public-program-state {
    display: grid;
    gap: .15rem;
    grid-column: 2 / -1;
    justify-items: start;
}

.event-public-program-state button {
    background: transparent;
    border: 0;
    color: var(--hx-theme-color);
    font-size: .82rem;
    font-weight: 800;
    padding: .2rem 0;
}

.event-public-selection-footer {
    align-items: stretch;
    background: var(--hx-body-secondary-bg);
    border: 1px solid var(--hx-border-color);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding: 1rem;
}

.event-public-selection-footer > span {
    color: var(--hx-text-main-secondary);
    font-size: .86rem;
    font-weight: 700;
}

.event-public-selection-footer .btn-register-event:disabled {
    cursor: not-allowed;
    opacity: .5;
}

@media (min-width: 768px) {
    .event-public-day-head {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .event-public-day-state {
        grid-column: auto;
        justify-items: end;
        text-align: right;
    }

    .event-public-program {
        grid-template-columns: auto 4rem minmax(0, 1fr) auto;
    }

    .event-public-program-state {
        grid-column: auto;
        justify-items: end;
        text-align: right;
    }

    .event-public-selection-footer {
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
    }
}

/*
 * Priorité finale du chapitre Les traces : le socle CMS applique ses rythmes
 * génériques après les modules. Ces valeurs réaffirment uniquement la densité
 * du dispositif documentaire, sans modifier les autres sections de l’accueil.
 */
body[data-page="home"] main [data-home-traces].section-padding {
	--section-padding-start: 76px;
	padding-top: 76px;
}

@media (min-width: 992px) {
	body[data-page="home"] main [data-home-traces] .trace-step {
		padding: 12px 0;
	}

	body[data-page="home"] main [data-home-traces] .trace-visual__body {
		gap: 16px;
		padding: 22px 0;
	}
}

@media (max-width: 991px) {
	body[data-page="home"] main [data-home-traces].section-padding {
		--section-padding-start: 64px;
		padding-top: 64px;
	}
}

@media (max-width: 767px) {
	body[data-page="home"] main [data-home-traces].section-padding {
		--section-padding-start: 54px;
		padding-top: 54px;
	}
}

@media (max-width: 430px) {
	body[data-page="home"] main [data-home-traces] .trace-index li {
		width: 220px;
	}
}

@media (min-width: 600px) and (max-width: 991px) {
	body[data-page="home"] main [data-home-traces] .trace-step__media {
		aspect-ratio: 16 / 9;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	body[data-page="home"] main [data-home-traces] .trace-visual__metadata {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body[data-page="home"] main [data-home-traces] .trace-visual__metadata div {
		min-height: 94px;
		padding: 11px;
	}
}

/* ========================================================================== */
/* Les traces — correction de lisibilité                                     */
/* ========================================================================== */

/*
 * La structure doit se lire avant les effets : index, média, notice.
 * Les lignes décoratives concurrentes sont retirées et une seule notice reste
 * perceptible sur desktop. Le flux documentaire mobile demeure intégral.
 */
body[data-page="home"] main [data-home-traces]::before,
body[data-page="home"] main [data-home-traces] .home-traces__header-rule,
body[data-page="home"] main [data-home-traces] .home-traces__experience::before {
	display: none;
}

/* Le fil mémoriel global s’efface pendant ce chapitre déjà fortement structuré. */
html[data-story-scene="chapter-traces"] body[data-page="home"] .memory-thread {
	opacity: 0;
}

body[data-page="home"] main [data-home-traces] .home-traces__experience {
	margin-top: 40px;
}

/* Le menu est une suite de chapitres, pas une table quadrillée. */
body[data-page="home"] main [data-home-traces] .trace-index ol {
	display: flex;
	gap: 6px;
	border: 0;
	flex-direction: column;
}

body[data-page="home"] main [data-home-traces] .trace-index__item {
	min-height: 62px;
	padding: 11px 14px 11px 18px;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body[data-page="home"] main [data-home-traces] .trace-index__item::before {
	top: 17px;
	bottom: 17px;
	width: 2px;
}

body[data-page="home"] main [data-home-traces] .trace-index__item::after,
body[data-page="home"] main [data-home-traces] .trace-index__progress {
	display: none;
}

body[data-page="home"] main [data-home-traces] .trace-index__item:is(:hover, :focus-visible) {
	background: rgba(255, 253, 247, 0.34);
}

body[data-page="home"] main [data-home-traces] .trace-index__item.is-active {
	background: rgba(255, 253, 247, 0.74);
	box-shadow: none;
}

/* Le média conserve un seul cadre, sans filet ou vignette supplémentaire. */
body[data-page="home"] main [data-home-traces] .trace-stage .trace-visual__media {
	border-color: rgba(35, 31, 24, 0.2);
}

body[data-page="home"] main [data-home-traces] .trace-stage .trace-visual__media::after,
body[data-page="home"] main [data-home-traces] .trace-stage__caption::before {
	display: none;
}

body[data-page="home"] main [data-home-traces] .trace-stage__caption {
	padding-left: 0;
}

/* La notice active devient une surface de lecture ouverte, sans encadrement. */
body[data-page="home"] main [data-home-traces] .trace-visual__body {
	gap: 18px;
	padding: 22px;
	border: 0;
	background: rgba(255, 253, 247, 0.58);
}

body[data-page="home"] main [data-home-traces] .trace-step::before,
body[data-page="home"] main [data-home-traces] .trace-visual__body::before {
	display: none;
}

body[data-page="home"] main [data-home-traces] .trace-visual__copy > p:last-child {
	max-width: 390px;
}

body[data-page="home"] main [data-home-traces] .trace-visual__metadata {
	gap: 8px;
}

body[data-page="home"] main [data-home-traces] .trace-visual__metadata div {
	min-height: 82px;
	padding: 13px 14px;
	border: 0;
	background: rgba(35, 31, 24, 0.045);
}

body[data-page="home"] main [data-home-traces] .trace-visual__metadata dt::before {
	display: none;
}

body[data-page="home"] main [data-home-traces] .trace-visual .text-link {
	margin-top: 2px;
	border-bottom: 0;
}

body[data-page="home"] main [data-home-traces] .trace-visual .text-link::after {
	display: none;
}

/*
 * Les étapes conservent leur hauteur comme seuils de lecture. Seul leur panneau
 * éditorial est masqué hors état actif, ce qui évite tout mélange visuel.
 */
@media (min-width: 992px) {
	body[data-page="home"] main [data-home-traces] .trace-step {
		min-height: 400px;
	}

	body[data-page="home"] main [data-home-traces] .trace-step:not(.is-active) > .trace-visual__body {
		position: absolute;
		top: 12px;
		right: 0;
		left: 0;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}

	body[data-page="home"] main [data-home-traces] .trace-step.is-active > .trace-visual__body {
		position: relative;
		visibility: visible;
		opacity: 1;
	}
}

@media (max-width: 991px) {
	body[data-page="home"] main [data-home-traces] .trace-index ol {
		gap: 0;
		flex-direction: row;
	}

	body[data-page="home"] main [data-home-traces] .trace-index__item {
		border-right: 1px solid rgba(35, 31, 24, 0.1);
	}

	body[data-page="home"] main [data-home-traces] .trace-visual__body {
		padding: 24px 0 0;
		background: transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	body[data-page="home"] main [data-home-traces] .trace-step.is-active > .trace-visual__body {
		transform: none;
	}
}

/* ========================================================================== */
/* Héros internes — contrat commun de la page de réservation                  */
/* ========================================================================== */

/*
 * Toutes les pages internes reprennent le même cadre Bootstrap que la
 * réservation. La hauteur desktop reste strictement fixée à 560px ; sous le
 * breakpoint mobile, 560px devient une hauteur minimale afin de ne jamais
 * couper un titre, une introduction ou les informations de réservation.
 */
body.internal-page main :is(.internal-hero, [data-internal-hero]) {
	position: relative;
	display: block;
	width: 100%;
	height: 560px;
	min-height: 560px;
	max-height: 560px;
	padding: 0;
	overflow: hidden;
	background: var(--color-ink-deep);
	color: var(--color-white);
	isolation: isolate;
}

body.internal-page main :is(.internal-hero, [data-internal-hero]) > .container,
body.internal-page main :is(.internal-hero, [data-internal-hero]) > .container > .row {
	height: 100%;
	min-height: 560px;
}

body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__content {
	max-width: 780px;
	padding: 0 0 64px;
}

body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__kicker {
	margin: 0;
	color: var(--accent-on-dark);
	font-size: var(--font-size-label);
	font-weight: var(--font-weight-bold);
	line-height: 18px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
}

body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__title {
	max-width: 700px;
	margin: 14px 0 0;
	color: var(--color-white);
	font-size: var(--font-size-display-xl);
}

body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__lead {
	max-width: 690px;
	margin: 24px 0 0;
	color: var(--color-white);
	font-family: var(--font-editorial);
	font-size: var(--font-size-subtitle);
	line-height: 30px;
}

/*
 * Les actions remplacent les données de capacité sur toutes les pages qui ne
 * sont pas la réservation. Elles reprennent le rythme du hero de l’accueil,
 * mais restent contenues dans le gabarit interne de 560px.
 */
body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__actions {
	display: flex;
	width: fit-content;
	max-width: 690px;
	gap: 12px;
	margin-top: 26px;
}

body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__action {
	min-height: 48px;
	padding: 12px 18px;
	text-align: center;
}

body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__action.button--outline {
	border-color: rgba(255, 255, 255, 0.62);
	color: var(--color-white);
}

body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__action.button--outline:hover,
body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__action.button--outline:focus-visible {
	border-color: var(--color-white);
	background: var(--color-white);
	color: var(--color-ink-deep);
}

/* Le repère de chapitre d’À propos garde sa fonction sans décaler les CTA. */
body.internal-page main .about-hero__navigation .reservation-hero__actions {
	margin-top: 0;
}

/* Le repère vertical legacy faisait doublon avec le surtitre du composant. */
body.internal-page main :is(.internal-hero, [data-internal-hero]) .hero__index {
	display: none;
}

/* Les pages sans média conservent la même profondeur, sans image artificielle. */
body.internal-page main :is(.internal-hero, [data-internal-hero]).hero--without-media {
	background: var(--color-ink-deep);
}

body.internal-page main .institutional-hero h1,
body.internal-page main .institutional-hero p {
	color: var(--color-white);
}

body.internal-page main .institutional-hero {
	border-bottom: 0;
}

body.internal-page main .institutional-hero h1 {
	margin-bottom: 0;
	font-size: var(--font-size-display-xl);
	line-height: 64px;
}

body.internal-page main .institutional-hero p {
	margin-bottom: 0;
	font-size: var(--font-size-subtitle);
	line-height: 30px;
}

/* Les deux récits spécialisés gardent leurs hooks tout en adoptant le gabarit. */
body.internal-page main .about-hero__content {
	height: 100% !important;
	min-height: 560px;
	padding-top: 120px;
	padding-bottom: 64px;
}

body.internal-page main .about-hero__copy.reservation-hero__content {
	gap: 0;
	padding-bottom: 0;
}

body.internal-page main .history-hero > .container,
body.internal-page main .history-hero > .container > .row {
	height: 100%;
	min-height: 560px;
}

@media (max-width: 767.98px) {
	body.internal-page main :is(.internal-hero, [data-internal-hero]) {
		height: auto;
		min-height: 560px;
		max-height: none;
	}

	body.internal-page main :is(.internal-hero, [data-internal-hero]) > .container,
	body.internal-page main :is(.internal-hero, [data-internal-hero]) > .container > .row,
	body.internal-page main .about-hero__content,
	body.internal-page main .history-hero > .container,
	body.internal-page main .history-hero > .container > .row {
		height: auto !important;
		min-height: 560px;
	}

	body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__content {
		padding-top: 112px;
		padding-bottom: 48px;
	}

	body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__title,
	body.internal-page main .institutional-hero h1 {
		margin-top: 10px;
		font-size: var(--font-size-title-h2);
		line-height: 42px;
	}

	body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__lead,
	body.internal-page main .institutional-hero p {
		margin-top: 18px;
		font-size: var(--font-size-body);
		line-height: 25px;
	}

	body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__actions {
		width: 100%;
		max-width: 100%;
		gap: 10px;
		margin-top: 20px;
	}

	body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__action {
		width: 100%;
		min-height: 46px;
		padding: 10px 14px;
		white-space: normal;
	}

	body.internal-page main .about-hero__navigation .reservation-hero__actions {
		margin-top: 10px;
	}

	body.internal-page main .about-hero__content {
		padding-top: 0;
		padding-bottom: 0;
	}

	body.internal-page main .about-hero__copy.reservation-hero__content {
		padding-top: 112px;
		padding-bottom: 0;
	}
}

@media (max-width: 430px) {
	body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__content,
	body.internal-page main .about-hero__copy.reservation-hero__content {
		padding-top: 80px;
	}

	/* Les CTA restent visibles dans le premier écran sans réduire la lisibilité. */
	body.internal-page main :is(.internal-hero, [data-internal-hero]):not([data-reservation-hero]) .reservation-hero__content {
		padding-top: 72px;
		padding-bottom: 32px;
	}

	body.internal-page main :is(.internal-hero, [data-internal-hero]) .reservation-hero__action {
		font-size: 13px;
		line-height: 18px;
	}

	/* Le repère et les actions d’À propos partagent le même rythme compact. */
	body.internal-page main .about-hero__navigation {
		gap: 0;
		margin-top: 16px;
		padding-top: 0;
		border-top: 0;
	}

	body.internal-page main .about-hero__navigation .reservation-hero__actions {
		margin-top: 0;
	}
}

/* -------------------------------------------------------------------------- */
/* Mur de la mémoire : récit, registre public et parcours privés              */
/* -------------------------------------------------------------------------- */

/* Le périmètre reprend l’encre neutre du thème et réserve l’or aux interactions. */
.page-mur-de-la-memoire {
	--memory-wall-ink: #171512;
	--memory-wall-base: #f6f3ed;
	--memory-wall-paper: #fffdfa;
	--memory-wall-rule: #d8d2c7;
	--memory-wall-muted: #695f66;
	--memory-wall-on-dark: #f6f3ed;
	--memory-wall-accent: var(--accent-on-light);
	background: var(--memory-wall-base);
	color: var(--memory-wall-ink);
}

.page-mur-de-la-memoire :is(h1, h2, h3, p, li, dt, dd, blockquote) {
	color: inherit;
}

.page-mur-de-la-memoire :is(a, button, input, select, textarea):focus-visible {
	outline: 3px solid var(--accent-on-dark);
	outline-offset: 3px;
}

.page-mur-de-la-memoire h2 {
	max-width: 900px;
	margin: 0;
	font-size: 48px;
	line-height: 56px;
	letter-spacing: -1px;
}

.page-mur-de-la-memoire h3 {
	font-size: 24px;
	line-height: 31px;
}

.page-mur-de-la-memoire p,
.page-mur-de-la-memoire li,
.page-mur-de-la-memoire dd {
	font-size: 17px;
	line-height: 29px;
}

.page-mur-de-la-memoire .button {
	min-height: 48px;
	padding: 12px 20px;
	border: 1px solid var(--memory-wall-accent);
	background: var(--memory-wall-accent);
	color: var(--accent-on-light-contrast);
	font-size: 14px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
	text-decoration: none;
}

.page-mur-de-la-memoire .button:hover {
	border-color: var(--accent-on-light-hover);
	background: var(--accent-on-light-hover);
	color: var(--accent-on-light-contrast);
}

.page-mur-de-la-memoire .button--outline {
	background: transparent;
	color: var(--memory-wall-accent);
}

.page-mur-de-la-memoire .button--outline:hover {
	color: var(--accent-on-light-contrast);
}

.memory-wall-eyebrow {
	margin: 0 0 16px;
	color: var(--memory-wall-accent) !important;
	font-size: 12px !important;
	font-weight: 800;
	line-height: 18px !important;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.memory-wall-hero {
	height: 560px;
	min-height: 560px;
	max-height: 750px;
	background: var(--memory-wall-ink);
}

.memory-wall-hero__figure {
	position: absolute;
	inset: 0;
	z-index: -2;
	margin: 0;
}

.memory-wall-hero__figure .reservation-hero__media {
	z-index: auto;
}

.memory-wall-hero__figure figcaption,
.memory-wall-without-numbers__media figcaption,
.memory-wall-conclusion__media figcaption {
	position: absolute;
	right: 24px;
	bottom: 16px;
	z-index: 2;
	max-width: 520px;
	padding: 7px 10px;
	background: color-mix(in srgb, var(--memory-wall-ink) 78%, transparent);
	color: var(--memory-wall-on-dark);
	font-size: 11px;
	line-height: 16px;
	text-align: right;
}

.memory-wall-hero .reservation-hero__shade {
	background: linear-gradient(90deg, color-mix(in srgb, var(--memory-wall-ink) 94%, transparent) 0%, color-mix(in srgb, var(--memory-wall-ink) 72%, transparent) 48%, color-mix(in srgb, var(--memory-wall-ink) 18%, transparent) 100%), linear-gradient(0deg, color-mix(in srgb, var(--memory-wall-ink) 62%, transparent) 0%, transparent 60%);
}

.memory-wall-hero .reservation-hero__content {
	max-width: 820px;
	padding-bottom: 64px;
}

.memory-wall-hero .reservation-hero__kicker {
	color: var(--accent-on-dark);
}

.memory-wall-hero .reservation-hero__title {
	color: var(--memory-wall-on-dark);
	font-size: 68px;
	line-height: 72px;
}

.memory-wall-hero .reservation-hero__lead {
	max-width: 760px;
	color: var(--memory-wall-on-dark);
	font-size: 19px;
	line-height: 30px;
}

.memory-wall-hero .reservation-hero__actions {
	gap: 12px;
	margin-top: 28px;
}

.memory-wall-hero .button {
	border-color: var(--accent-on-dark);
	background: var(--accent-on-dark);
	color: var(--memory-wall-ink);
}

.memory-wall-hero .button--outline {
	background: color-mix(in srgb, var(--memory-wall-ink) 32%, transparent);
	color: var(--memory-wall-on-dark);
}

.memory-wall-hero .button:hover {
	border-color: var(--accent-on-dark-hover);
	background: var(--accent-on-dark-hover);
	color: var(--memory-wall-ink);
}

.memory-wall-warning {
	padding: 32px 0;
	border-bottom: 1px solid rgba(246, 243, 237, 0.15);
	background: var(--memory-wall-ink);
	color: var(--memory-wall-on-dark);
}

.memory-wall-warning__label {
	margin: 0;
	color: var(--accent-on-dark) !important;
	font-size: 12px !important;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.memory-wall-warning h2 {
	font-size: 24px;
	line-height: 31px;
}

.memory-wall-warning p:not(.memory-wall-warning__label) {
	margin: 10px 0 0;
	color: rgba(246, 243, 237, 0.82);
	font-size: 14px;
	line-height: 23px;
}

.memory-wall-warning a {
	color: var(--accent-on-dark);
	font-size: 13px;
	font-weight: 700;
	line-height: 20px;
}

.memory-wall-dignity {
	padding: 128px 0;
	background: var(--memory-wall-base);
}

.memory-wall-dignity .row {
	--bs-gutter-x: 80px;
}

.memory-wall-copy > p:not(.memory-wall-eyebrow) {
	margin: 28px 0 0;
}

.memory-wall-copy blockquote {
	margin: 40px 0 0;
	padding: 24px 0 0;
	border-top: 2px solid var(--memory-wall-accent);
	font-size: 20px;
	font-weight: 600;
	line-height: 31px;
}

.memory-wall-figure {
	position: relative;
	margin: 0;
	overflow: hidden;
	background: var(--memory-wall-ink);
}

.memory-wall-figure img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.memory-wall-figure--portrait img {
	min-height: 620px;
	object-position: center;
}

.memory-wall-figure figcaption {
	padding: 12px 0 0;
	background: var(--memory-wall-base);
	color: var(--memory-wall-muted);
	font-size: 11px;
	line-height: 17px;
}

.memory-wall-without-numbers {
	position: relative;
	min-height: 720px;
	padding: 128px 0 88px;
	overflow: hidden;
	background: var(--memory-wall-ink);
	color: var(--memory-wall-on-dark);
	isolation: isolate;
}

.memory-wall-without-numbers__media,
.memory-wall-without-numbers__shade {
	position: absolute;
	inset: 0;
	margin: 0;
}

.memory-wall-without-numbers__media {
	z-index: -2;
}

.memory-wall-without-numbers__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.memory-wall-without-numbers__shade {
	z-index: -1;
	background: linear-gradient(90deg, color-mix(in srgb, var(--memory-wall-ink) 95%, transparent) 0%, color-mix(in srgb, var(--memory-wall-ink) 78%, transparent) 55%, color-mix(in srgb, var(--memory-wall-ink) 38%, transparent) 100%);
}

.memory-wall-without-numbers h2 {
	max-width: 760px;
	font-size: 58px;
	line-height: 66px;
}

.memory-wall-without-numbers__content > .row p {
	max-width: 760px;
	margin: 28px 0 0;
	color: rgba(246, 243, 237, 0.86);
	font-size: 19px;
	line-height: 31px;
}

.memory-wall-statements {
	margin-top: 100px;
	margin-bottom: 0;
}

.memory-wall-statements li {
	padding-top: 20px;
	border-top: 1px solid rgba(246, 243, 237, 0.35);
}

.memory-wall-statements span,
.memory-wall-responsibility__principles span,
.memory-wall-examination__list > li > span {
	color: var(--accent-on-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2px;
}

.memory-wall-statements p {
	max-width: 320px;
	margin: 26px 0 0;
	font-size: 18px;
	line-height: 28px;
}

.memory-wall-directory {
	padding: 128px 0;
	background: var(--memory-wall-paper);
}

.memory-wall-directory__intro {
	max-width: 850px;
	margin: 28px 0 0;
	color: var(--memory-wall-muted) !important;
}

.memory-wall-search {
	margin-top: 64px;
	padding: 32px 0;
	border-top: 1px solid var(--memory-wall-ink);
	border-bottom: 1px solid var(--memory-wall-rule);
}

.memory-wall-search label,
.memory-wall-search legend,
.memory-wall-form label {
	display: block;
	margin: 0 0 9px;
	font-size: 13px;
	font-weight: 700;
	line-height: 20px;
}

.memory-wall-search :is(input[type="search"], select),
.memory-wall-form :is(input:not([type="checkbox"]), select, textarea) {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid var(--memory-wall-rule);
	border-radius: 0;
	background: var(--memory-wall-paper);
	color: var(--memory-wall-ink);
	font-size: 15px;
	line-height: 24px;
}

.memory-wall-search :is(input, select):focus,
.memory-wall-form :is(input, select, textarea):focus {
	border-color: var(--memory-wall-accent);
	outline: 3px solid rgba(118, 87, 31, 0.18);
	outline-offset: 1px;
}

.memory-wall-search__primary .d-flex {
	gap: 10px;
}

.memory-wall-search__primary .button {
	flex: 1 1 150px;
}

.memory-wall-search__filters {
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px solid var(--memory-wall-rule);
}

.memory-wall-search__filters legend {
	width: auto;
	margin-bottom: 18px;
}

.memory-wall-search__filters .row {
	--bs-gutter-y: 20px;
}

.memory-wall-search__checks {
	gap: 24px;
	margin-top: 20px;
}

.memory-wall-search__checks label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-weight: 500;
}

.memory-wall-search__checks input,
.memory-wall-consent input {
	width: 20px;
	height: 20px;
	accent-color: var(--memory-wall-accent);
}

.memory-wall-directory__results {
	min-height: 220px;
	padding-top: 40px;
}

.memory-wall-directory__results[aria-busy="true"] {
	opacity: 0.62;
}

.memory-wall-directory__status {
	margin: 0 0 24px;
	color: var(--memory-wall-muted) !important;
	font-size: 13px !important;
	line-height: 20px !important;
}

.memory-wall-entry {
	display: flex;
	gap: 42px;
	padding: 42px 0;
	border-top: 1px solid var(--memory-wall-rule);
}

.memory-wall-entry:last-child {
	border-bottom: 1px solid var(--memory-wall-rule);
}

.memory-wall-entry__identity {
	flex: 0 0 155px;
	padding-top: 8px;
}

.memory-wall-entry__identity span {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1px;
}

.memory-wall-entry__identity i {
	display: block;
	width: 48px;
	height: 1px;
	margin-top: 18px;
	background: var(--memory-wall-accent);
}

.memory-wall-entry__content {
	flex: 1 1 auto;
	min-width: 0;
}

.memory-wall-entry__heading {
	display: flex;
	justify-content: space-between;
	gap: 24px;
}

.memory-wall-entry__heading p {
	margin: 0;
	color: var(--memory-wall-accent) !important;
	font-size: 11px;
	font-weight: 800;
	line-height: 17px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.memory-wall-entry__heading h3 {
	margin: 8px 0 0;
	font-size: 30px;
	line-height: 38px;
}

.memory-wall-entry__validated {
	display: inline-flex;
	align-items: center;
	height: 30px;
	margin: 0;
	padding: 5px 9px;
	border: 1px solid var(--memory-wall-rule);
	color: var(--memory-wall-muted) !important;
	font-size: 11px !important;
	font-weight: 700;
	line-height: 18px !important;
	white-space: nowrap;
}

.memory-wall-entry__summary {
	max-width: 800px;
	margin: 20px 0 0;
}

.memory-wall-entry__metadata {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 32px;
	margin: 28px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--memory-wall-rule);
}

.memory-wall-entry__metadata div {
	min-width: 150px;
}

.memory-wall-entry__metadata dt {
	color: var(--memory-wall-muted);
	font-size: 11px;
	font-weight: 700;
	line-height: 17px;
	text-transform: uppercase;
}

.memory-wall-entry__metadata dd {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 20px;
}

.memory-wall-entry__link,
.memory-wall-examination__tribute {
	display: inline-block;
	margin-top: 26px;
	color: var(--memory-wall-accent);
	font-size: 14px;
	font-weight: 800;
	line-height: 22px;
	text-decoration: none;
}

.memory-wall-entry__link:hover,
.memory-wall-examination__tribute:hover {
	color: var(--accent-on-light-hover);
	text-decoration: underline;
}

.memory-wall-directory__empty {
	padding: 72px 0;
	border-top: 1px solid var(--memory-wall-rule);
	border-bottom: 1px solid var(--memory-wall-rule);
	text-align: center;
}

.memory-wall-directory__empty > span {
	color: var(--memory-wall-accent);
	font-size: 42px;
	line-height: 42px;
}

.memory-wall-directory__empty h3 {
	margin: 20px 0 0;
}

.memory-wall-directory__empty p {
	max-width: 650px;
	margin: 14px auto 0;
	color: var(--memory-wall-muted);
}

.memory-wall-pagination {
	margin-top: 40px;
}

.memory-wall-process {
	padding: 128px 0;
	background: var(--memory-wall-ink);
	color: var(--memory-wall-on-dark);
}

.memory-wall-process .row {
	--bs-gutter-x: 80px;
}

.memory-wall-process__figure {
	position: sticky;
	top: 112px;
}

.memory-wall-process__figure img {
	min-height: 620px;
}

.memory-wall-process__figure figcaption {
	background: var(--memory-wall-ink);
	color: rgba(246, 243, 237, 0.68);
}

.memory-wall-process__content {
	padding-top: 16px;
}

.memory-wall-process__steps {
	margin: 54px 0 0;
	padding: 0;
	list-style: none;
}

.memory-wall-process__steps li {
	display: flex;
	gap: 24px;
	padding: 28px 0;
	border-top: 1px solid rgba(246, 243, 237, 0.2);
}

.memory-wall-process__steps > li > span {
	flex: 0 0 38px;
	color: var(--accent-on-dark);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1px;
}

.memory-wall-process__steps h3 {
	margin: 0;
	font-size: 20px;
	line-height: 28px;
}

.memory-wall-process__steps p {
	margin: 10px 0 0;
	color: rgba(246, 243, 237, 0.76);
	font-size: 15px;
	line-height: 25px;
}

.memory-wall-responsibility {
	padding: 120px 0;
	background: var(--memory-wall-base);
}

.memory-wall-responsibility__principles {
	margin-top: 64px;
}

.memory-wall-responsibility__principles article {
	padding-top: 24px;
	border-top: 1px solid var(--memory-wall-ink);
}

.memory-wall-responsibility__principles span {
	color: var(--memory-wall-accent);
}

.memory-wall-responsibility__principles h3 {
	margin: 30px 0 0;
}

.memory-wall-responsibility__principles p {
	margin: 16px 0 0;
	color: var(--memory-wall-muted);
	font-size: 15px;
	line-height: 25px;
}

.memory-wall-responsibility__statement {
	max-width: 920px;
	margin: 100px 0 0;
	font-size: 40px !important;
	font-weight: 600;
	line-height: 50px !important;
}

.memory-wall-examination {
	padding: 128px 0;
	background: var(--memory-wall-paper);
}

.memory-wall-examination__list {
	margin: 64px 0 0;
	border-top: 1px solid var(--memory-wall-ink);
}

.memory-wall-examination__list li {
	display: flex;
	gap: 48px;
	padding: 34px 0;
	border-bottom: 1px solid var(--memory-wall-rule);
}

.memory-wall-examination__list > li > span {
	flex: 0 0 80px;
	color: var(--memory-wall-accent);
}

.memory-wall-examination__list h3,
.memory-wall-examination__list p {
	margin: 0;
}

.memory-wall-examination__list p {
	max-width: 780px;
	margin-top: 9px;
	color: var(--memory-wall-muted);
}

.memory-wall-examination__actions {
	align-items: center;
	gap: 12px;
	margin-top: 48px;
}

.memory-wall-examination__tribute {
	margin: 0 0 0 18px;
}

.memory-wall-conclusion {
	position: relative;
	min-height: 720px;
	padding: 128px 0 72px;
	overflow: hidden;
	background: var(--memory-wall-ink);
	color: var(--memory-wall-on-dark);
	isolation: isolate;
}

.memory-wall-conclusion__media,
.memory-wall-conclusion__shade {
	position: absolute;
	inset: 0;
	margin: 0;
}

.memory-wall-conclusion__media {
	z-index: -2;
}

.memory-wall-conclusion__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.memory-wall-conclusion__shade {
	z-index: -1;
	background: linear-gradient(90deg, color-mix(in srgb, var(--memory-wall-ink) 95%, transparent) 0%, color-mix(in srgb, var(--memory-wall-ink) 72%, transparent) 58%, color-mix(in srgb, var(--memory-wall-ink) 32%, transparent) 100%);
}

.memory-wall-conclusion h2 {
	font-size: 58px;
	line-height: 66px;
}

.memory-wall-conclusion__content > .row p {
	max-width: 660px;
	margin: 28px 0 0;
	color: rgba(246, 243, 237, 0.86);
	font-size: 19px;
	line-height: 31px;
}

.memory-wall-doors {
	margin-top: 150px;
}

.memory-wall-doors a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 88px;
	padding-top: 22px;
	padding-bottom: 22px;
	border-top: 1px solid rgba(246, 243, 237, 0.4);
	color: var(--memory-wall-on-dark);
	text-decoration: none;
}

.memory-wall-doors a:hover {
	border-color: var(--accent-on-dark);
	color: var(--accent-on-dark);
}

.memory-wall-doors span {
	color: var(--accent-on-dark);
	font-size: 11px;
	font-weight: 800;
}

.memory-wall-doors strong {
	font-size: 16px;
	line-height: 24px;
}

.memory-wall-doors i {
	margin-left: auto;
	font-style: normal;
}

/* Les pages de détail et les formulaires reprennent le même langage sans faux document. */
.memory-wall-detail__header,
.memory-wall-form-hero {
	padding: 112px 0 80px;
	background: var(--memory-wall-ink);
	color: var(--memory-wall-on-dark);
}

.memory-wall-detail__header h1,
.memory-wall-form-hero h1 {
	margin: 10px 0 0;
	font-size: 58px;
	line-height: 66px;
}

.memory-wall-detail__lead,
.memory-wall-form-hero p:not(.memory-wall-eyebrow) {
	max-width: 780px;
	margin: 24px 0 0;
	color: rgba(246, 243, 237, 0.82);
	font-size: 18px;
	line-height: 30px;
}

.memory-wall-detail__header .memory-wall-entry__validated {
	margin-top: 26px;
	border-color: rgba(246, 243, 237, 0.3);
	color: var(--memory-wall-on-dark) !important;
}

.memory-wall-detail__body,
.memory-wall-private-form {
	padding: 96px 0;
}

.memory-wall-detail__body .row,
.memory-wall-private-form .row {
	--bs-gutter-x: 64px;
}

.memory-wall-detail__body h2,
.memory-wall-detail__sources h2,
.memory-wall-detail__correction h2,
.memory-wall-private-form__guide h2 {
	font-size: 34px;
	line-height: 42px;
}

.memory-wall-detail__biography {
	margin-top: 28px;
}

.memory-wall-detail__biography p {
	margin-bottom: 22px;
}

.memory-wall-detail__facts {
	padding-top: 8px;
}

.memory-wall-detail__facts dl {
	margin: 28px 0 0;
	border-top: 1px solid var(--memory-wall-rule);
}

.memory-wall-detail__facts dl div {
	padding: 16px 0;
	border-bottom: 1px solid var(--memory-wall-rule);
}

.memory-wall-detail__facts dt {
	color: var(--memory-wall-muted);
	font-size: 11px;
	line-height: 17px;
	text-transform: uppercase;
}

.memory-wall-detail__facts dd {
	margin: 5px 0 0;
	font-size: 14px;
	line-height: 22px;
}

.memory-wall-detail__media {
	margin: 42px 0 0;
}

.memory-wall-detail__media img {
	width: 100%;
	height: auto;
}

.memory-wall-detail__media figcaption {
	padding-top: 10px;
	color: var(--memory-wall-muted);
	font-size: 11px;
	line-height: 17px;
}

.memory-wall-detail__sources {
	padding: 96px 0;
	background: var(--memory-wall-paper);
}

.memory-wall-detail__source-list {
	margin: 48px 0 0;
	padding: 0;
	border-top: 1px solid var(--memory-wall-ink);
	list-style-position: inside;
}

.memory-wall-detail__source-list li {
	padding: 28px 0;
	border-bottom: 1px solid var(--memory-wall-rule);
}

.memory-wall-detail__source-list li > span {
	color: var(--memory-wall-accent);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.memory-wall-detail__source-list h3 {
	margin: 10px 0;
}

.memory-wall-detail__source-list p {
	margin: 5px 0;
	font-size: 14px;
	line-height: 23px;
}

.memory-wall-detail__source-list a {
	display: inline-block;
	margin-top: 12px;
	color: var(--memory-wall-accent);
	font-weight: 700;
}

.memory-wall-detail__correction {
	padding: 72px 0;
	background: var(--memory-wall-ink);
	color: var(--memory-wall-on-dark);
}

.memory-wall-detail__correction p {
	max-width: 780px;
	margin: 18px 0 0;
	color: rgba(246, 243, 237, 0.76);
}

.memory-wall-detail__correction .button {
	border-color: var(--accent-on-dark);
	background: var(--accent-on-dark);
	color: var(--memory-wall-ink);
}

.memory-wall-private-form__guide {
	padding-right: 46px;
}

.memory-wall-private-form__guide ul {
	margin: 28px 0;
	padding: 0;
	border-top: 1px solid var(--memory-wall-rule);
	list-style: none;
}

.memory-wall-private-form__guide li {
	padding: 14px 0;
	border-bottom: 1px solid var(--memory-wall-rule);
	font-size: 14px;
	line-height: 23px;
}

.memory-wall-private-form__guide a {
	color: var(--memory-wall-accent);
	font-weight: 700;
}

.memory-wall-form {
	padding-left: 24px;
}

.memory-wall-form fieldset {
	margin: 0 0 42px;
	padding: 0;
	border: 0;
}

.memory-wall-form legend {
	float: none;
	margin: 0 0 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--memory-wall-ink);
	font-size: 22px;
	font-weight: 700;
	line-height: 30px;
}

.memory-wall-form__required {
	margin: 0 0 32px;
	color: var(--memory-wall-muted) !important;
	font-size: 12px !important;
	line-height: 18px !important;
}

.memory-wall-field {
	margin-bottom: 22px;
}

.memory-wall-field p {
	margin: 7px 0 0;
	color: var(--memory-wall-muted);
	font-size: 12px;
	line-height: 19px;
}

.memory-wall-form textarea {
	min-height: 140px;
	resize: vertical;
}

.memory-wall-consent {
	display: flex !important;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 32px !important;
	padding: 20px;
	border: 1px solid var(--memory-wall-rule);
}

.memory-wall-consent input {
	flex: 0 0 20px;
	margin-top: 2px;
}

.memory-wall-honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.memory-wall-form-feedback {
	margin: 0 0 28px;
	padding: 20px;
	border: 1px solid var(--memory-wall-rule);
	background: var(--memory-wall-paper);
}

.memory-wall-form-feedback.is-success {
	border-color: var(--memory-wall-accent);
}

.memory-wall-form-feedback.is-error {
	border-color: #7b2639;
}

.memory-wall-form-feedback h2 {
	font-size: 22px;
	line-height: 30px;
}

.memory-wall-form-feedback p,
.memory-wall-form-feedback li {
	font-size: 14px;
	line-height: 23px;
}

/* L'enrichissement visuel n'est activé qu'après le démarrage du script. */
.page-mur-de-la-memoire[data-memory-wall-js="true"] [data-memory-wall-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 700ms ease, transform 700ms ease;
}

.page-mur-de-la-memoire[data-memory-wall-js="true"] [data-memory-wall-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 991.98px) {
	.page-mur-de-la-memoire h2 {
		font-size: 40px;
		line-height: 48px;
	}

	.memory-wall-dignity,
	.memory-wall-directory,
	.memory-wall-process,
	.memory-wall-responsibility,
	.memory-wall-examination {
		padding: 88px 0;
	}

	.memory-wall-dignity .row,
	.memory-wall-process .row,
	.memory-wall-detail__body .row,
	.memory-wall-private-form .row {
		--bs-gutter-x: 24px;
	}

	.memory-wall-figure--portrait {
		margin-top: 48px;
	}

	.memory-wall-figure--portrait img,
	.memory-wall-process__figure img {
		min-height: 0;
	}

	.memory-wall-process__figure {
		position: relative;
		top: 0;
		margin-bottom: 56px;
	}

	.memory-wall-warning .col-lg-7,
	.memory-wall-warning .col-lg-2 {
		margin-top: 18px;
	}

	.memory-wall-search__primary .d-flex {
		margin-top: 18px;
	}

	.memory-wall-responsibility__principles article {
		margin-bottom: 36px;
	}

	.memory-wall-doors {
		margin-top: 100px;
	}

	.memory-wall-private-form__guide {
		margin-bottom: 56px;
		padding-right: 12px;
	}

	.memory-wall-form {
		padding-left: 0;
	}

	.memory-wall-detail__facts {
		margin-top: 48px;
	}

	.memory-wall-detail__correction .text-lg-end {
		margin-top: 28px;
		text-align: left !important;
	}
}

@media (max-width: 767.98px) {
	.memory-wall-hero {
		height: auto;
		min-height: 560px;
		max-height: none;
	}

	.memory-wall-hero .reservation-hero__content {
		padding-top: 116px;
		padding-bottom: 72px;
	}

	.memory-wall-hero .reservation-hero__title,
	.memory-wall-detail__header h1,
	.memory-wall-form-hero h1 {
		font-size: 44px;
		line-height: 50px;
	}

	.memory-wall-hero .reservation-hero__lead {
		font-size: 17px;
		line-height: 27px;
	}

	.memory-wall-hero__figure figcaption,
	.memory-wall-without-numbers__media figcaption,
	.memory-wall-conclusion__media figcaption {
		right: 12px;
		bottom: 10px;
		left: 12px;
		text-align: left;
	}

	/* Sur mobile, le crédit IA reste dans l'espace visuel libre et ne passe jamais sous les actions. */
	.memory-wall-hero__figure figcaption {
		top: 12px;
		bottom: auto;
		background: var(--memory-wall-ink);
		font-size: 12px;
		line-height: 16px;
	}

	.page-mur-de-la-memoire h2,
	.memory-wall-without-numbers h2,
	.memory-wall-conclusion h2 {
		font-size: 36px;
		line-height: 43px;
	}

	.memory-wall-without-numbers,
	.memory-wall-conclusion {
		min-height: 640px;
		padding: 88px 0 64px;
	}

	.memory-wall-statements {
		margin-top: 64px;
	}

	.memory-wall-statements li {
		margin-bottom: 34px;
	}

	.memory-wall-entry {
		gap: 0;
		padding: 34px 0;
	}

	.memory-wall-entry__identity {
		display: none;
	}

	.memory-wall-entry__heading {
		flex-direction: column;
	}

	.memory-wall-entry__validated {
		align-self: flex-start;
	}

	.memory-wall-entry__metadata {
		flex-direction: column;
	}

	.memory-wall-process__steps li,
	.memory-wall-examination__list li {
		gap: 20px;
	}

	.memory-wall-examination__list > li > span {
		flex-basis: 36px;
	}

	.memory-wall-examination__actions .button {
		width: 100%;
	}

	.memory-wall-examination__tribute {
		margin: 14px 0 0;
	}

	.memory-wall-responsibility__statement {
		margin-top: 56px;
		font-size: 30px !important;
		line-height: 39px !important;
	}

	.memory-wall-doors {
		margin-top: 72px;
	}

	.memory-wall-detail__header,
	.memory-wall-form-hero {
		padding: 88px 0 64px;
	}

	.memory-wall-detail__body,
	.memory-wall-detail__sources,
	.memory-wall-private-form {
		padding: 72px 0;
	}
}

@media (max-width: 575.98px) {
	.memory-wall-hero .reservation-hero__actions {
		width: 100%;
	}

	.memory-wall-hero .button,
	.memory-wall-search__primary .button {
		width: 100%;
		flex-basis: auto;
	}

	.memory-wall-dignity,
	.memory-wall-directory,
	.memory-wall-process,
	.memory-wall-responsibility,
	.memory-wall-examination {
		padding: 72px 0;
	}

	.memory-wall-search {
		margin-top: 44px;
	}

	.memory-wall-entry__heading h3 {
		font-size: 25px;
		line-height: 32px;
	}

	.memory-wall-form-feedback,
	.memory-wall-consent {
		padding: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-mur-de-la-memoire[data-memory-wall-js="true"] [data-memory-wall-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* ========================================================================== */
/* Système éditorial public — actualités, articles, agenda et événements       */
/* ========================================================================== */

/*
 * Le périmètre suit la règle 60/30/10 : ivoire majoritaire, encre neutre pour
 * la structure et accent or de la charte réservé aux commandes et aux liens.
 */
body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) {
	--editorial-base: #f4f1ea;
	--editorial-paper: #fbfaf7;
	--editorial-ink: #191715;
	--editorial-muted: #625e57;
	--editorial-rule: #d8d2c7;
	--editorial-accent: var(--accent-on-light, #76571f);
	--editorial-accent-hover: var(--accent-on-light-hover, #5e4419);
	background: var(--editorial-base);
	color: var(--editorial-ink);
}

body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main {
	background: var(--editorial-base);
}

body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main :is(a, button, input, select):focus-visible {
	outline: 3px solid var(--editorial-accent);
	outline-offset: 3px;
}

/* Les quatre héros élargissent localement le gabarit de réservation. */
body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero {
	height: 680px;
	min-height: 680px;
	max-height: 680px;
	background: var(--color-ink-deep);
}

body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero > .container,
body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero > .container > .row {
	height: 100%;
	min-height: 680px;
}

body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero .reservation-hero__shade {
	background: rgba(8, 8, 7, 0.58);
}

body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero .reservation-hero__content {
	max-width: 920px;
	padding-bottom: 72px;
}

body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero .reservation-hero__kicker {
	color: #f4f1ea;
}

body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero .button:not(.button--outline),
.body-evenements-page .editorial-commemoration-bridge .button,
.body-evenement-detail-page .editorial-participation .btn-register-event,
.body-evenement-detail-page .editorial-participation .event-ticket-card-action,
.body-evenement-detail-page .editorial-participation .event-ticket-submit-btn {
	border-color: var(--editorial-accent);
	background: var(--editorial-accent);
	color: var(--editorial-paper);
}

body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero .button:not(.button--outline):hover,
.body-evenements-page .editorial-commemoration-bridge .button:hover,
.body-evenement-detail-page .editorial-participation .btn-register-event:hover,
.body-evenement-detail-page .editorial-participation .event-ticket-card-action:hover {
	border-color: var(--editorial-accent-hover);
	background: var(--editorial-accent-hover);
	color: var(--editorial-paper);
}

body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero .reservation-hero__title {
	max-width: 880px;
}

/* En-têtes de section ouverts, sans panneaux ni cartes décoratives. */
.editorial-section-heading {
	margin-bottom: 48px;
}

.editorial-section-heading h2 {
	max-width: 820px;
	margin: 10px 0 0;
	font-family: var(--font-editorial);
	font-size: 48px;
	font-weight: 500;
	line-height: 54px;
}

.editorial-section-heading > :last-child > p {
	max-width: 560px;
	margin: 16px 0 0 auto;
	color: var(--editorial-muted);
	font-size: 17px;
	line-height: 27px;
}

.editorial-catalog {
	padding-top: 104px;
	padding-bottom: 112px;
}

.editorial-tools {
	margin-bottom: 28px;
	padding: 28px 0;
	border-top: 1px solid var(--editorial-rule);
	border-bottom: 1px solid var(--editorial-rule);
}

.editorial-tools label,
.editorial-tools__label {
	display: block;
	margin: 0 0 10px;
	color: var(--editorial-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 18px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.editorial-tools input[type="search"] {
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid var(--editorial-rule);
	border-radius: 0;
	background: var(--editorial-paper);
	color: var(--editorial-ink);
}

.editorial-tools .filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.editorial-tools .filter-button,
.editorial-agenda__filters .filter-button,
.editorial-pagination .filter-button,
.article-detail__tags .filter-button {
	min-height: 40px;
	padding: 9px 13px;
	border: 1px solid var(--editorial-rule);
	border-radius: 0;
	background: transparent;
	color: var(--editorial-accent);
	font-size: 13px;
	line-height: 20px;
	text-decoration: none;
}

.editorial-tools .filter-button[aria-pressed="true"],
.editorial-tools .filter-button:hover,
.editorial-agenda__filters .filter-button[aria-pressed="true"],
.editorial-agenda__filters .filter-button:hover,
.editorial-pagination .filter-button:hover,
.article-detail__tags .filter-button:hover {
	border-color: var(--editorial-accent);
	background: var(--editorial-accent);
	color: var(--editorial-paper);
}

.editorial-tools__reset {
	width: 100%;
	min-height: 52px;
	margin-top: 28px;
	border-color: var(--editorial-accent);
	color: var(--editorial-accent);
}

.editorial-catalog__status {
	margin: 0 0 22px;
	color: var(--editorial-muted);
	font-size: 14px;
	line-height: 20px;
}

/* Le premier contenu joue le rôle de une, les suivants forment une liste. */
.editorial-listing {
	border-top: 1px solid var(--editorial-ink);
}

.editorial-listing__item {
	padding: 24px 0;
	border-bottom: 1px solid var(--editorial-rule);
	transition: border-color 240ms ease, background-color 240ms ease;
}

.editorial-listing__item:hover {
	border-color: var(--editorial-accent);
}

.editorial-listing__media {
	display: block;
	height: 100%;
	min-height: 140px;
	overflow: hidden;
	background: var(--color-media-placeholder);
}

.editorial-listing__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 140px;
	object-fit: cover;
	transition: transform 600ms ease;
}

.editorial-listing__item:hover .editorial-listing__media img {
	transform: scale(1.025);
}

.editorial-listing__body {
	padding: 4px 0 4px 28px;
}

.editorial-listing__meta {
	gap: 10px 18px;
	margin-bottom: 14px;
	color: var(--editorial-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 18px;
	letter-spacing: 0.7px;
	text-transform: uppercase;
}

.editorial-listing__meta > * + *::before {
	display: inline-block;
	width: 4px;
	height: 4px;
	margin: 0 12px 2px 0;
	border-radius: 50%;
	background: var(--editorial-accent);
	content: "";
}

.editorial-listing__item h3 {
	margin: 0;
	font-family: var(--font-editorial);
	font-size: 27px;
	font-weight: 500;
	line-height: 33px;
}

.editorial-listing__item p {
	margin: 14px 0 18px;
	color: var(--editorial-muted);
	font-size: 16px;
	line-height: 25px;
}

.editorial-news-item--featured {
	padding: 32px 0 40px;
}

.editorial-news-item--featured .editorial-listing__media {
	min-height: 420px;
}

.editorial-news-item--featured .editorial-listing__media img {
	min-height: 420px;
}

.editorial-news-item--featured .editorial-listing__body {
	padding: 34px 24px 28px 48px;
}

.editorial-news-item--featured h3 {
	font-size: 42px;
	line-height: 48px;
}

.editorial-listing .text-link,
.editorial-related .text-link,
.editorial-source-row .text-link,
.editorial-agenda__rail .text-link {
	width: fit-content;
	color: var(--editorial-accent);
	font-weight: 700;
	text-decoration: none;
}

.editorial-listing .text-link::after,
.editorial-related .text-link::after,
.editorial-source-row .text-link::after,
.editorial-agenda__rail .text-link::after {
	margin-left: 10px;
	content: "→";
}

.editorial-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 40px;
}

.editorial-empty {
	max-width: 720px;
	margin: 40px auto 0;
	padding: 64px 24px;
	border-top: 1px solid var(--editorial-rule);
	border-bottom: 1px solid var(--editorial-rule);
	text-align: center;
}

.editorial-empty__mark {
	display: block;
	width: 38px;
	height: 38px;
	margin: 0 auto 22px;
	border: 2px solid var(--editorial-accent);
	border-radius: 50%;
	position: relative;
}

.editorial-empty__mark::after {
	position: absolute;
	right: -9px;
	bottom: -6px;
	width: 15px;
	height: 2px;
	background: var(--editorial-accent);
	content: "";
	transform: rotate(45deg);
}

.editorial-empty h2,
.editorial-empty h3 {
	margin: 0;
	font-family: var(--font-editorial);
	font-size: 31px;
	font-weight: 500;
	line-height: 38px;
}

.editorial-empty p {
	max-width: 560px;
	margin: 14px auto 24px;
	color: var(--editorial-muted);
}

/* Agenda : date forte, liste réglée et rail de synthèse. */
.editorial-agenda__filters {
	gap: 8px;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--editorial-rule);
}

.editorial-agenda__reset {
	margin-left: auto;
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid var(--editorial-accent);
	background: transparent;
	color: var(--editorial-accent);
	font-size: 13px;
}

.editorial-event-item--featured {
	padding: 0;
	border: 1px solid var(--editorial-rule);
}

.editorial-event-item--featured .row {
	margin-right: 0;
	margin-left: 0;
}

.editorial-event-item--featured .row > * {
	padding-right: 0;
	padding-left: 0;
}

.editorial-event-item__date {
	min-height: 360px;
	padding: 32px 22px;
	background: var(--editorial-accent);
	color: var(--editorial-paper);
}

.editorial-event-item__date span {
	font-family: var(--font-editorial);
	font-size: 28px;
	line-height: 34px;
}

.editorial-event-item__date strong {
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.38);
	font-size: 13px;
	line-height: 18px;
}

.editorial-event-item--featured .editorial-listing__media,
.editorial-event-item--featured .editorial-listing__media img {
	min-height: 360px;
}

.editorial-event-item--featured .editorial-listing__body {
	padding: 38px 30px;
}

.editorial-event-item--featured h3 {
	font-size: 36px;
	line-height: 42px;
}

.editorial-event-item__date-compact,
.editorial-event-item__state,
.editorial-event-item__location,
.editorial-listing__category {
	margin: 0;
}

.editorial-event-item__date-compact {
	font-weight: 700;
}

.editorial-event-item__date-compact span {
	display: block;
	margin-top: 5px;
	color: var(--editorial-muted);
	font-size: 13px;
}

.editorial-event-item__state {
	width: fit-content;
	padding: 5px 9px;
	border: 1px solid var(--editorial-rule);
	color: var(--editorial-accent);
	font-size: 12px;
}

.editorial-event-item__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: var(--editorial-accent);
	font-size: 24px;
	text-decoration: none;
}

.editorial-agenda__rail {
	position: sticky;
	top: 112px;
	margin-left: 28px;
	padding: 28px 0 28px 28px;
	border-left: 1px solid var(--editorial-rule);
}

.editorial-agenda__rail h3 {
	margin: 8px 0 12px;
	font-family: var(--font-editorial);
	font-size: 30px;
	font-weight: 500;
	line-height: 36px;
}

.editorial-agenda__timezone {
	margin-bottom: 24px;
	color: var(--editorial-muted);
	font-size: 13px;
	line-height: 20px;
}

.editorial-agenda__rail dl {
	margin: 0 0 28px;
}

.editorial-agenda__rail dl div {
	padding: 11px 0;
	border-bottom: 1px solid var(--editorial-rule);
}

.editorial-agenda__rail dt,
.editorial-agenda__rail dd {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
}

.editorial-commemoration-bridge {
	margin-top: 72px;
	padding: 36px 40px;
	border-top: 1px solid var(--editorial-rule);
	border-bottom: 1px solid var(--editorial-rule);
	background: var(--editorial-paper);
}

.editorial-commemoration-bridge h3 {
	margin: 8px 0;
	font-family: var(--font-editorial);
	font-size: 32px;
	font-weight: 500;
}

.editorial-commemoration-bridge p:last-child {
	margin-bottom: 0;
	color: var(--editorial-muted);
}

/* Détails : bande factuelle, colonne de lecture et listes de référence. */
.editorial-detail__meta {
	padding: 26px 0;
	border-bottom: 1px solid var(--editorial-rule);
	background: var(--editorial-paper);
}

.editorial-facts {
	gap: 0;
	margin: 0;
}

.editorial-facts > div {
	min-width: 160px;
	padding: 8px 28px;
	border-left: 1px solid var(--editorial-rule);
}

.editorial-facts > div:first-child {
	padding-left: 0;
	border-left: 0;
}

.editorial-facts dt {
	margin-bottom: 5px;
	color: var(--editorial-muted);
	font-size: 11px;
	line-height: 16px;
	letter-spacing: 0.9px;
	text-transform: uppercase;
}

.editorial-facts dd {
	margin: 0;
	font-family: var(--font-editorial);
	font-size: 18px;
	line-height: 24px;
}

.editorial-facts--event > div {
	padding-top: 8px;
	padding-bottom: 8px;
}

.editorial-reading,
.event-detail__main {
	padding-top: 96px;
	padding-bottom: 104px;
}

.editorial-reading__lead-media {
	max-width: 1040px;
	margin: 0 auto 72px;
}

.editorial-reading__lead-media img,
.event-detail__lead-media img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 680px;
	object-fit: cover;
}

.article-detail__body > h2,
.event-detail__introduction > h2 {
	margin: 10px 0 28px;
	font-family: var(--font-editorial);
	font-size: 42px;
	font-weight: 500;
	line-height: 49px;
}

.article-detail__body .entry-content,
.event-detail__content {
	font-size: 18px;
	line-height: 31px;
}

.article-detail__body .entry-content > * + *,
.event-detail__content > * + * {
	margin-top: 22px;
}

.article-detail__media-row {
	row-gap: 28px;
}

.article-detail__media-row .media-frame,
.article-detail__media-row img {
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

.editorial-source-row {
	gap: 24px;
	padding: 22px 0;
	border-top: 1px solid var(--editorial-rule);
	border-bottom: 1px solid var(--editorial-rule);
}

.editorial-source-row span,
.editorial-source-row strong {
	display: block;
}

.editorial-source-row span {
	margin-bottom: 5px;
	color: var(--editorial-muted);
	font-size: 12px;
	text-transform: uppercase;
}

.article-detail__tags {
	gap: 8px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.editorial-detail__back {
	margin-top: 42px;
}

.editorial-related-section {
	background: var(--color-ink-deep);
}

.editorial-related-section .editorial-section-heading h2,
.editorial-related-section .editorial-related h3 {
	color: var(--color-text-primary);
}

.editorial-related-section .eyebrow,
.editorial-related-section .editorial-related__category,
.editorial-related-section .editorial-related p {
	color: var(--color-text-secondary);
}

.editorial-related {
	border-top: 1px solid var(--color-border-dark-default);
}

.editorial-related__item {
	padding: 24px 0;
	border-bottom: 1px solid var(--color-border-dark-default);
}

.editorial-related__category {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.7px;
	text-transform: uppercase;
}

.editorial-related h3 {
	margin: 0;
	font-family: var(--font-editorial);
	font-size: 25px;
	font-weight: 500;
	line-height: 31px;
}

.editorial-related p {
	margin: 8px 0 0;
}

.editorial-related-section .text-link {
	color: #f4f1ea;
}

.editorial-related-section .editorial-empty {
	border-color: var(--color-border-dark-default);
}

.editorial-related-section .editorial-empty h2,
.editorial-related-section .editorial-empty h3,
.editorial-related-section .editorial-empty p {
	color: var(--color-text-primary);
}

/* Détail d’événement : programme ouvert et participation latérale. */
.event-detail__introduction {
	max-width: 760px;
}

.event-detail__lead-media {
	margin: 56px 0 64px;
}

.editorial-participation {
	position: sticky;
	top: 112px;
	margin-left: 28px;
	padding: 32px;
	border: 1px solid var(--editorial-rule);
	background: var(--editorial-paper);
}

.editorial-participation > h2 {
	margin: 8px 0 20px;
	font-family: var(--font-editorial);
	font-size: 32px;
	font-weight: 500;
	line-height: 38px;
}

.editorial-participation__organizer {
	padding-bottom: 18px;
	border-bottom: 1px solid var(--editorial-rule);
	color: var(--editorial-muted);
}

.editorial-participation__control {
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid var(--editorial-rule);
}

.editorial-participation__control > h3 {
	margin: 14px 0 8px;
	font-family: var(--font-editorial);
	font-size: 25px;
	font-weight: 500;
}

.body-evenement-detail-page .event-detail__schedule {
	margin-top: 64px;
	padding-top: 56px;
	border-top: 1px solid var(--editorial-rule);
}

.body-evenement-detail-page .event-public-schedule {
	margin: 0;
}

.body-evenement-detail-page .event-public-schedule__days,
.body-evenement-detail-page .event-public-day--simple,
.body-evenement-detail-page .event-public-programs,
.body-evenement-detail-page .event-program-selector,
.body-evenement-detail-page .event-public-days {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.body-evenement-detail-page .event-public-day {
	padding: 24px 0;
	border: 0;
	border-bottom: 1px solid var(--editorial-rule);
	border-radius: 0;
	background: transparent;
}

.body-evenement-detail-page .event-public-day__header,
.body-evenement-detail-page .event-public-day-head,
.body-evenement-detail-page .event-public-program,
.body-evenement-detail-page .event-public-day-state {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 14px 24px;
}

.body-evenement-detail-page .event-public-day__index,
.body-evenement-detail-page .event-public-date {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 0;
	background: var(--editorial-accent);
	color: var(--editorial-paper);
}

.body-evenement-detail-page .event-public-programs {
	margin-top: 20px;
	padding-top: 0;
	border-top: 1px solid var(--editorial-rule);
}

.body-evenement-detail-page .event-public-program {
	padding: 16px 0;
	border-radius: 0;
	background: transparent;
}

.body-evenement-detail-page .event-public-program time {
	min-width: 110px;
}

.body-evenement-detail-page .event-reservation .event-access-shell,
.body-evenement-detail-page .event-reservation .event-ticket-shell,
.body-evenement-detail-page .event-reservation .event-participation-block {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

/* Les éléments animés restent visibles avant l’initialisation du moteur. */
[data-editorial-reveal] {
	opacity: 1;
	transform: none;
}

@media (max-width: 991.98px) {
	body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero {
		height: 620px;
		min-height: 620px;
		max-height: 620px;
	}

	body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero > .container,
	body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero > .container > .row {
		min-height: 620px;
	}

	.editorial-section-heading > :last-child > p {
		margin-left: 0;
	}

	.editorial-tools__reset {
		width: auto;
		margin-top: 20px;
	}

	.editorial-agenda__rail,
	.editorial-participation {
		position: static;
		margin: 48px 0 0;
	}

	.editorial-agenda__rail {
		padding-left: 0;
		border-top: 1px solid var(--editorial-rule);
		border-left: 0;
	}

	.editorial-facts > div:nth-child(3) {
		border-left: 0;
	}
}

@media (max-width: 767.98px) {
	body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero {
		height: auto;
		min-height: 580px;
		max-height: none;
	}

	body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero > .container,
	body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero > .container > .row {
		height: auto;
		min-height: 580px;
	}

	body:is(.body-actualites-page, .body-article-page, .body-evenements-page, .body-evenement-detail-page) main .editorial-hero .reservation-hero__content {
		padding-top: 116px;
		padding-bottom: 52px;
	}

	/* Le titre long de l’agenda reste composé sur des mots entiers en mobile. */
	body.body-evenements-page main .editorial-hero .reservation-hero__title {
		font-size: 29px;
		line-height: 34px;
		letter-spacing: 0;
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}

	.editorial-catalog,
	.editorial-reading,
	.event-detail__main {
		padding-top: 72px;
		padding-bottom: 80px;
	}

	.editorial-section-heading {
		margin-bottom: 36px;
	}

	.editorial-section-heading h2 {
		font-size: 36px;
		line-height: 42px;
	}

	.editorial-tools .row > * + * {
		margin-top: 22px;
	}

	.editorial-listing__body,
	.editorial-news-item--featured .editorial-listing__body,
	.editorial-event-item--featured .editorial-listing__body {
		padding: 24px 0 8px;
	}

	.editorial-news-item--featured .editorial-listing__media,
	.editorial-news-item--featured .editorial-listing__media img,
	.editorial-event-item--featured .editorial-listing__media,
	.editorial-event-item--featured .editorial-listing__media img {
		min-height: 280px;
	}

	.editorial-news-item--featured h3,
	.editorial-event-item--featured h3 {
		font-size: 32px;
		line-height: 38px;
	}

	.editorial-event-item__date {
		min-height: auto;
		padding: 20px;
	}

	.editorial-event-item__date strong {
		margin-top: 18px;
	}

	.editorial-event-item__date-compact,
	.editorial-event-item__state,
	.editorial-listing__category,
	.editorial-event-item__location {
		margin-bottom: 10px;
	}

	.editorial-agenda__reset {
		width: 100%;
		margin-top: 8px;
		margin-left: 0;
		text-align: left;
	}

	.editorial-commemoration-bridge {
		padding: 28px 22px;
	}

	.editorial-commemoration-bridge .button {
		width: 100%;
		margin-top: 24px;
	}

	.editorial-facts {
		display: flex;
		flex-direction: column;
	}

	.editorial-facts > div,
	.editorial-facts > div:first-child,
	.editorial-facts > div:nth-child(3) {
		width: 100%;
		padding: 12px 0;
		border-top: 1px solid var(--editorial-rule);
		border-left: 0;
	}

	.editorial-facts > div:first-child {
		border-top: 0;
	}

	.editorial-reading__lead-media {
		margin-bottom: 48px;
	}

	.article-detail__body > h2,
	.event-detail__introduction > h2 {
		font-size: 34px;
		line-height: 41px;
	}

	.editorial-related__item .row > * + * {
		margin-top: 12px;
	}

	.editorial-source-row {
		align-items: flex-start !important;
		flex-direction: column;
	}

	.editorial-participation {
		padding: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.editorial-listing__item,
	.editorial-listing__media img,
	[data-editorial-reveal] {
		transition: none !important;
		transform: none !important;
	}
}
