@charset "UTF-8";
/*
 * Génocost — source de vérité CSS publique unique.
 * Toute évolution du thème public doit être réalisée dans ce fichier.
 * Ordre : Variables, Reset, Typographie, Layout, Grid, Header, Navigation,
 * Hero, Boutons, Cards, Sections narratives, Timeline, Mémoire, Galerie,
 * Forms, Footer, Responsive, Animations, Utilitaires, Nettoyage.
 * By Holsonmp
 */

/* ==========================================================================
   Nettoyage — compatibilité historique contrôlée
   ========================================================================== */

/* 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:540px}}@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;
    }
}

/* Prevent modal left-alignment on mobile devices */
@media (max-width: 575.98px) {
    .modal-dialog {
        margin-right: auto !important;
        margin-left: auto !important;
        justify-content: center;
    }

    .modal-content {
        width: auto;
        margin: 0 auto;
    }
}

[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
--------------------------------------------------------------*/
.custom-modal-wrapper {
    --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"] .custom-modal-wrapper {
    --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-dialog {
    max-width: 940px;
}

.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 .modal-dialog {
    max-width: 400px;
}

#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 h3 {
    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-dialog-captcha {
    max-width: 22.5rem;
}

.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-dialog {
    max-width: 800px !important;
}

.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-compact {
    max-width: 750px;
}

.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 .close-lux {
    position: absolute;
    top: 20px;
    right: 20px;
    left: auto;
    width: 24px;
    height: 24px;
    cursor: pointer;
    z-index: 10;
    opacity: 0.3;
    transition: all 0.3s ease;
}

[data-bs-theme="dark"] .newsletter-popup-container .close-lux {
    filter: invert(1);
}

.newsletter-popup-container .close-lux:hover {
    opacity: 0.8;
    transform: rotate(90deg);
}

.newsletter-popup-container .close-lux::before,
.newsletter-popup-container .close-lux::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    height: 1px;
    width: 100%;
    background-color: var(--hx-gray-950);
}

.newsletter-popup-container .close-lux::before {
    transform: rotate(45deg);
}

.newsletter-popup-container .close-lux::after {
    transform: rotate(-45deg);
}

.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 .close-lux,
.newsletter-popup-container.newsletter-popup-rtl .close-lux {
    right: auto;
    left: 20px;
}

[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 .modal-dialog {
        margin: 1.75rem auto;
    }

    .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 .modal-dialog {
        width: 95% !important;
        margin: 10px auto !important;
        max-width: none !important;
    }

    .newsletter-popup-container .py-4 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .newsletter-popup-container .close-lux {
        top: 15px;
        right: 15px;
    }
}

/*--------------------------------------------------------------
# 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);
}

.swal2-popup {
    background-color: #ffffff;
    padding: 2rem;
    border-radius: 1.15rem;
}

[data-bs-theme="dark"] .swal2-popup {
    background-color: var(--hx-gray-900);
    border: 1px solid var(--hx-gray-850);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
}

[data-bs-theme="dark"] div:where(.swal2-container) h2:where(.swal2-title),
[data-bs-theme="dark"] div:where(.swal2-container) div:where(.swal2-html-container) {
    color: var(--hx-text-main);
}

.swal2-container {
    --swal2-width: 28em;
    --swal2-confirm-button-background-color: var(--hx-theme-color);
    --swal2-cancel-button-background-color: #f1f1f4;
    --swal2-cancel-button-color: var(--hx-text-main);
    --swal2-action-button-hover: black 5%;
    --swal2-action-button-active: black 5%;
    --swal2-confirm-button-border-radius: 0.3125rem;
    --swal2-deny-button-border-radius: 0.3125rem;
    --swal2-cancel-button-border-radius: 0.3125rem;
    --swal2-html-container-padding: 0.5em 1em 0.3em;
    font-size: var(--hx-fs-md);
}

[data-bs-theme="dark"] .swal2-container {
    --swal2-cancel-button-background-color: var(--hx-gray-800);
    --swal2-cancel-button-color: var(--hx-text-main);
    --swal2-action-button-hover: white 5%;
    --swal2-action-button-active: white 5%;
}

div:where(.swal2-container) div:where(.swal2-html-container) {
    font-size: 0.938rem !important;
}

.swal2-container div:where(.swal2-icon) {
    margin: 1em auto .6em;
}

.swal2-confirm.btn-primary {
    background-color: var(--hx-theme-color) !important;
    border-color: var(--hx-theme-color) !important;
    color: #fff !important;
}

.swal2-confirm.btn-primary:hover {
    filter: brightness(0.9);
    background-color: var(--hx-theme-color) !important;
}

/*--------------------------------------------------------------
# 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;
    }
}

.modal-header .modal-title {
    font-size: var(--hx-fs-title-2xl);
    line-height: var(--hx-lh-title-2xl);
    position: relative;
    font-weight: 600;
    margin-bottom: 10px;
}

.modal-header .btn-close {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
    background-color: transparent !important;
    position: absolute;
    z-index: 10;
    right: 1.25rem;
    top: 1.25rem;
    font-size: 0.688rem;
}

.modal-body {
    padding: 1rem 2rem;
}

.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);
}

body.event-ticket-modal-open {
    overflow: hidden;
}

.ticket-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1085;
    display: none;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    padding: 16px;
    background: rgba(15, 23, 42, .58);
}

.ticket-modal-overlay[hidden] {
    display: none !important;
}

.ticket-modal-overlay.is-open {
    display: flex;
}

.ticket-modal-dialog {
    width: min(1040px, calc(100vw - 32px));
    max-height: calc(100dvh - 32px);
    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-dialog .event-ticket-purchase-form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    max-height: inherit;
    overflow: hidden;
}

.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);
}

.ticket-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border: 1px solid var(--hx-border-color);
    border-radius: 50%;
    background: var(--hx-body-bg);
    color: var(--hx-text-main);
    font-size: 1.45rem;
    line-height: 1;
    transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}

.ticket-modal-close:hover {
    border-color: var(--hx-theme-color);
    color: var(--hx-theme-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-overlay {
        align-items: stretch;
        padding: 0;
    }

    .ticket-modal-dialog {
        width: 100%;
        max-height: 100dvh;
        min-height: 100dvh;
        border-radius: 0;
    }

    .ticket-modal-header,
    .ticket-modal-footer {
        padding: 0.85rem 1rem;
    }

    .ticket-modal-body {
        padding: 1rem;
    }

    .event-ticket-modal-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .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: 51px;
  --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: 15px;
  --font-size-body-md: 16px;
  --font-size-caption: 14px;
  --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;
  --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: 30px;
  --home-rhythm-xl: 40px;
  --home-rhythm-group: 56px;
  --home-rhythm-section-compact: 72px;
  --home-rhythm-section: 96px;
  --home-rhythm-silence: 120px;
  --home-rhythm-overlap: 80px;

  /* Alias historiques conservés pendant la migration progressive. */
  --space-3xs: 10px;
  --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: 30px;
    --section-space: 116px;
  }
}

/* Ce palier intermédiaire préserve la respiration des grands écrans compacts. */
@media (max-width: 1180px) {
  html[data-experience-level] {
    --gutter: 30px;
  }
}

@media (max-width: 680px) {
  html[data-experience-level] {
    --gutter: 30px;
    --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="soutenir"], [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/modal.css */
.modal__close {
  font-size: var(--font-size-quote);
}

/* 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="soutenir"], [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="soutenir"], [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) {
  /* Sources migrées : assets/css/pages/expositions.css */
  body[data-page="expositions"] .exhibition-room__copy h2 {
    font-size: var(--font-size-h2);
  }
}

@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: 22px;
}

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-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}.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);
}

.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);
  position: fixed;
  z-index: 999;
  top: var(--mobile-panel-top, var(--header-height));
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  overflow: hidden;
  justify-items: end;
  background: var(--color-navigation-backdrop);
  overscroll-behavior: contain;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition:
    opacity var(--transition-fast),
    visibility var(--transition-fast);
}

.mobile-panel.is-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.mobile-panel__surface {
  width: min(680px, 100%);
  height: 100%;
  max-height: var(--mobile-panel-max-height, 640px);
  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);
  /* Le panneau conserve un contraste lisible même dans le thème CMS clair. */
  color: var(--color-menu-text);
  box-shadow: var(--shadow-navigation-panel);
  overscroll-behavior: contain;
  touch-action: pan-y;
  transform: translateX(32px);
  transition: transform var(--transition-base);
}

.mobile-panel.is-open .mobile-panel__surface {
  transform: translateX(0);
}

.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);
}

/* Le verrouillage conserve la position de lecture pendant l’ouverture du menu. */
html.menu-is-open,
body.menu-is-open {
  overflow: hidden;
  overscroll-behavior: none;
}

body.menu-is-open {
  padding-right: var(--menu-scrollbar-compensation, 0px);
  touch-action: none;
}

.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:hover {
	color: white
}
.mobile-panel a[aria-current="page"] {
  padding-left: 14px;
  border-left: 2px solid var(--color-primary);
  color: var(--color-primary);
}

.mobile-panel__cta {
  width: fit-content;
  margin-top: var(--space-8);
  padding: 10px 18px;
  border-color: var(--accent-on-dark);
}

.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;
}

: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);

}

.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);
  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);
}

.field__error {
  color: var(--color-error);

}

.field__hint {
  color: var(--color-text-soft);

}

.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);
}

/* Source : assets/css/modal.css */
.modal {
  width: min(680px, calc(100% - 40px));
  max-height: calc(100% - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0;
  border: var(--border-width) solid var(--color-border);
  background: var(--color-base-light);
  color: var(--color-text);
}

.modal::backdrop {
  background: var(--color-modal-backdrop);
}

.modal__panel {
  position: relative;
  padding: var(--icon-button-size);
}

.modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  width: 44px;
  height: 44px;
  background: transparent;
  cursor: pointer;

  place-items: center;
}

.modal__content {
  margin-top: var(--space-lg);
}

/* ==========================================================================
   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 .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: 76px;
	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.surface--light.surface--stone::after {
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 460px;
	background: var(--color-background-secondary);
	content: "";
	pointer-events: none;
}

.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.surface--light.surface--stone::after {
		height: 700px;
	}

	.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;
	border-color: var(--trace-rule-strong);
	background: #22211d;
	transform-origin: center center;
}

/* Poussière lumineuse : points fixes déplacés très lentement par GSAP. */
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;
  }
}
/* Source : assets/css/pages/home-transmission.css */
/*
 * Transmission : une séquence éditoriale 7/5 portée par Bootstrap.
 * Le média sticky et les cinq portes restent deux éléments indépendants.
 */
.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);
}

.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 d’ambiance. */
.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: 430px;
}

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 {
  width: calc(100% - 40px);
  max-width: 1100px;
  max-height: calc(100% - 40px);
  padding: 0;
  border: 1px solid var(--color-border-dark-default);
  background: var(--color-background-primary);
  color: var(--text-on-dark);
}

body[data-page="histoire"] .history-video-dialog::backdrop {
  background: rgba(8, 8, 7, 0.88);
}

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__header button {
  border: 1px solid var(--color-border-interactive);
  background: transparent;
  color: var(--text-on-dark);
}

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: 260px;
  }

  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 Génocost.
 */
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 Génocost, 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-bottom: 110px;
}

.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;
  }

  .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;
  }
}

/* Source : assets/css/pages/contact.css */
.contact-opening {
  padding-top: 130px;
  padding-bottom: 96px;
  background:
    radial-gradient(circle at 82% 26%, var(--color-footer-glow), transparent 30%),
    var(--color-base);
}

.contact-opening .container {
  max-width: 900px;
}

.contact-conclusion {
  text-align: center;
}

.contact-conclusion .text-link {
  margin-top: 28px;
}

.contact-services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px 28px;
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr);
  gap: 80px;
  align-items: start;
}

#formulaire-contact {
  margin-top: 34px;
}

.contact-coordinates {
  padding: 34px;
  border: 1px solid var(--color-border);
  background: var(--color-base-light);
}

.contact-coordinates h2 {
  margin-bottom: 30px;

}

.contact-coordinates__notice {
  margin-top: 30px;
  color: var(--color-text-soft);

}

@media (max-width: 900px) {
  .contact-services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .contact-services {
    grid-template-columns: 1fr;
  }
}

/* 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);
	line-height: 64px;
}

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;
	}
}
