        :root {
            --or:            #a6593e;
            --or-clair:      #c47a5c;
            --or-fonce:      #8a4a33;
            --or-profond:    #6f3a28;
            --or-vif:        #e8a189;
            --creme:         #f7f1e6;
            --creme-doux:    #f9f4ea;
            --blanc:         #FFFFFF;
            --nuit:          #2e2118;
            --nuit-fond:     #231b15;
            --nuit-page:     #231b15;
            --texte-clair:   #2e2118;
            --texte-doux:    #5e5344;
            --texte-gris:    #786d5d;
            --texte-pale:    #8a7d6b;
            --texte-creme:   #f5ead9;
            --trait:         rgba(46, 33, 24, 0.08);
            --trait-fort:    rgba(46, 33, 24, 0.35);
            --trait-clair:   rgba(255, 255, 255, 0.10);
            --accent:        #8a4a33;
            --accent-clair:  #c47a5c;
            --accent-rgb:    166, 89, 62;
            --menthe:        #ecfdf5;
            --menthe-trait:  #a7f3d0;
            --menthe-fonce:  #047857;
            --menthe-vif:    #10b981;
            --sur-or:             #FFFFFF;
            --sur-or-voile:       rgba(255, 255, 255, .25);
            --or-paroles:         #a6593e;
            --or-paroles-fonce:   #8a4a33;
            --or-paroles-clair:   #c47a5c;
            --nuit-paroles:       #231b15;
            --nuit-paroles-doux:  #2e241c;
            --texte-paroles:      #F4F1EA;
        }
        html.dark {
            --or:            #c47a5c;
            --or-clair:      #c47a5c;
            --or-fonce:      #a6593e;
            --or-profond:    #6f3a28;
            --creme:         #231b15;
            --creme-doux:    #2e241c;
            --blanc:         #2e241c;
            --texte-clair:   #f5ead9;
            --texte-doux:    #c4b09a;
            --texte-gris:    #8a7d6b;
            --texte-pale:    #786d5d;
            --texte-creme:   #f5ead9;
            --trait:         #ece1d0;
            --trait-fort:    #5e5344;
            --trait-clair:   rgba(255, 255, 255, 0.10);
            --accent:        #c47a5c;
            --accent-clair:  #a6593e;
            --accent-rgb:    166, 89, 62;
            --menthe:        rgba(16, 185, 129, .10);
            --menthe-trait:  rgba(16, 185, 129, .25);
            --menthe-fonce:  #34d399;
            --menthe-vif:    #10b981;
        }
.inline-flex { display: inline-flex; }
        .inline-block { display: inline-block; }
        .block { display: block; }
        .flex { display: flex; }
        .grid { display: grid; }
        .hidden { display: none; }
        .absolute { position: absolute; }
        .relative { position: relative; }
        .fixed { position: fixed; }
        .inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
        .h-full { height: 100%; }
        .w-full { width: 100%; }
        .shrink-0, .flex-shrink-0 { flex-shrink: 0; }
        .flex-1 { flex: 1 1 0%; }
        .h-2\.5 { height: 0.625rem; }
        .w-2\.5 { width: 0.625rem; }
        .h-3 { height: 0.75rem; }
        .w-3 { width: 0.75rem; }
        .h-3\.5 { height: 0.875rem; }
        .w-3\.5 { width: 0.875rem; }
        .h-4 { height: 1rem; }
        .w-4 { width: 1rem; }
        .h-5 { height: 1.25rem; }
        .w-5 { width: 1.25rem; }
        .max-w-6xl { max-width: 72rem; }
        .max-w-3xl { max-width: 48rem; }
        .h-px { height: 1px; }
        .rounded-full { border-radius: 9999px; }
        .rounded-lg { border-radius: 0.5rem; }
        .rounded-xl { border-radius: 0.75rem; }
        .rounded-2xl { border-radius: 1rem; }
        .items-center { align-items: center; }
        .items-start { align-items: flex-start; }
        .items-end { align-items: flex-end; }
        .justify-center { justify-content: center; }
        .justify-between { justify-content: space-between; }
        .flex-wrap { flex-wrap: wrap; }
        .flex-col { flex-direction: column; }
        .flex-row { flex-direction: row; }
        .gap-1 { gap: 0.25rem; }
        .gap-2 { gap: 0.5rem; }
        .gap-3 { gap: 0.75rem; }
        .gap-4 { gap: 1rem; }
        .opacity-75 { opacity: .75; }
        .opacity-0 { opacity: 0; }
        .bg-\[\#a6593e\] { background-color: #a6593e; }
        .text-\[\#a6593e\] { color: #a6593e; }
        .text-\[\#c4b09a\] { color: #c4b09a; }
        .text-white\/20 { color: rgba(255, 255, 255, .2); }
        .text-white\/30 { color: rgba(255, 255, 255, .3); }
        .text-white\/40 { color: rgba(255, 255, 255, .4); }
        .text-white\/50 { color: rgba(255, 255, 255, .5); }
        .text-white\/55 { color: rgba(255, 255, 255, .55); }
        .text-white\/60 { color: rgba(255, 255, 255, .6); }
        .text-white\/70 { color: rgba(255, 255, 255, .7); }
        .text-white\/90 { color: rgba(255, 255, 255, .9); }
        .border-white\/5 { border-color: rgba(255, 255, 255, .05); }
        .text-\[8px\] { font-size: 8px; }
        .text-\[9px\] { font-size: 9px; }
        .text-\[10px\] { font-size: 10px; }
        .text-\[11px\] { font-size: 11px; }
        .text-xs { font-size: 0.75rem; line-height: 1rem; }
        .text-sm { font-size: 0.875rem; line-height: 1.25rem; }
        .text-base { font-size: 1rem; line-height: 1.5rem; }
        .font-light { font-weight: 300; }
        .font-medium { font-weight: 500; }
        .font-bold { font-weight: 700; }
        .uppercase { text-transform: uppercase; }
        .italic { font-style: italic; }
        .text-center { text-align: center; }
        .text-left { text-align: left; }
        .tracking-widest { letter-spacing: 0.1em; }
        .leading-relaxed { line-height: 1.625; }
        .mt-1 { margin-top: 0.25rem; }
        .mt-2 { margin-top: 0.5rem; }
        .mt-3 { margin-top: 0.75rem; }
        .mt-4 { margin-top: 1rem; }
        .mb-2 { margin-bottom: 0.5rem; }
        .mb-3 { margin-bottom: 0.75rem; }
        .mb-4 { margin-bottom: 1rem; }
        .pt-3 { padding-top: 0.75rem; }
        .pt-4 { padding-top: 1rem; }
        .pb-4 { padding-bottom: 1rem; }
        .p-4 { padding: 1rem; }
        .p-5 { padding: 1.25rem; }
        .px-4 { padding-left: 1rem; padding-right: 1rem; }
        .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
        .animate-ping {
            border-radius: 9999px !important;
            animation: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
        }
        @keyframes ping {
            75%, 100% { transform: scale(2); opacity: 0; }
        }
        @keyframes fadeUp {
            0% { opacity: 0; transform: translateY(20px); }
            100% { opacity: 1; transform: translateY(0); }
        }
        .animate-\[fadeUp_1s_ease_forwards_0\.1s\] { animation: fadeUp 1s ease forwards .1s; }
        .animate-\[fadeUp_1s_ease_forwards_0\.3s\] { animation: fadeUp 1s ease forwards .3s; }
        .animate-\[fadeUp_1s_ease_forwards_0\.5s\] { animation: fadeUp 1s ease forwards .5s; }
        .animate-\[fadeUp_1s_ease_forwards_0\.6s\] { animation: fadeUp 1s ease forwards .6s; }
        .animate-\[fadeUp_1s_ease_forwards_0\.7s\] { animation: fadeUp 1s ease forwards .7s; }
        .animate-\[fadeUp_1s_ease_forwards_0\.9s\] { animation: fadeUp 1s ease forwards .9s; }
        .animate-\[fadeUp_1s_ease_forwards_1\.1s\] { animation: fadeUp 1s ease forwards 1.1s; }
        @media (prefers-reduced-motion: reduce) {
            .animate-\[fadeUp_1s_ease_forwards_0\.1s\],
            .animate-\[fadeUp_1s_ease_forwards_0\.3s\],
            .animate-\[fadeUp_1s_ease_forwards_0\.5s\],
            .animate-\[fadeUp_1s_ease_forwards_0\.6s\],
            .animate-\[fadeUp_1s_ease_forwards_0\.7s\],
            .animate-\[fadeUp_1s_ease_forwards_0\.9s\],
            .animate-\[fadeUp_1s_ease_forwards_1\.1s\] {
                animation: none; opacity: 1; transform: none;
            }
        }
        .cbk-entete {
            position: sticky; top: 0; z-index: 50;
            background: linear-gradient(180deg,
                #3a2c20 0%, #2e2118 100%);
            -webkit-backdrop-filter: blur(14px) saturate(150%);
            backdrop-filter: blur(14px) saturate(150%);
            border-bottom: 1px solid rgba(166, 89, 62, .28);
         }
        html.dark .cbk-entete {
            background: linear-gradient(180deg,
                #3A332B 0%, #2A251E 100%);
            border-bottom-color: rgba(166, 89, 62, .26);
        }
        .cbk-conteneur {
            max-width: 1440px;
            margin: 0 auto;
            padding: 0 20px;
        }
        .cbk-entete-interieur {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            min-height: 74px;
            padding-top: 12px;
            padding-bottom: 12px;
        }
        .cbk-marque {
            display: inline-flex;
            align-items: center;
            text-decoration: none;
            flex-shrink: 0;
        }
        .cbk-marque-logo {
            height: 44px;
            width: 192px;
            max-width: 192px;
            object-fit: contain;
            object-position: left center;
        }
        .cbk-marque { margin-right: auto; }
        .cbk-logo-clair { display: block; }
        .cbk-logo-sombre { display: none; }
        html.dark .cbk-logo-clair { display: none; }
        html.dark .cbk-logo-sombre { display: block; }
        .cbk-nav {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            display: flex;
            align-items: center;
            gap: 4px;
            white-space: nowrap;
        }
        .cbk-nav a {
            display: inline-block;
            padding: 9px 15px;
            border-radius: 9999px;
            font-size: 11px;
            font-weight: 700;
            line-height: 1;
            letter-spacing: .13em;
            text-transform: uppercase;
            text-decoration: none;
            color: rgba(255, 255, 255, .78);
            text-shadow: 0 1px 8px rgba(0, 0, 0, .65);
            transition: background-color .2s ease, color .2s ease;
        }
        .cbk-nav a:hover {
            color: #F5F3EF;
            background: rgba(255, 255, 255, .09);
        }
        .cbk-nav a.actif {
            background: rgba(166, 89, 62, .18);
            color: #F5F3EF;
            border: 1px solid rgba(166, 89, 62, .35);
        }
        @media (max-width: 1100px) {
            .cbk-nav {
                position: static;
                transform: none;
                margin-left: auto;
                gap: 2px;
            }
            .cbk-nav a {
                padding: 8px 10px;
                font-size: 10px;
                letter-spacing: .08em;
            }
        }
        @media (max-width: 760px) {
            .cbk-entete-interieur {
                flex-wrap: wrap;
                justify-content: center;
                gap: 8px;
                padding-top: 8px;
                padding-bottom: 8px;
            }
            .cbk-marque { margin-right: 0; }
            .cbk-nav {
                margin-left: 0;
                width: 100%;
                justify-content: center;
                flex-wrap: wrap;
            }
            .cbk-nav a { padding: 6px 8px; font-size: 9px; }
        }
        .cbk-nav a {
            display: inline-block;
            padding: 9px 16px;
            border-radius: 9999px;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .13em;
            text-transform: uppercase;
            text-decoration: none;
            color: rgba(255, 255, 255, .78);
            text-shadow: 0 1px 8px rgba(0, 0, 0, .65);
            transition: background-color .2s ease, color .2s ease;
        }
        .cbk-nav a:hover {
            color: #F5F3EF;
            background: rgba(255, 255, 255, .09);
        }
        .cbk-nav a.actif {
            background: rgba(166, 89, 62, .18);
            color: #F5F3EF;
            border: 1px solid rgba(166, 89, 62, .35);
        }
        @media (max-width: 640px) {
            .cbk-nav a { padding: 8px 11px; font-size: 10px; letter-spacing: .1em; }
            .cbk-marque-logo { height: 36px; max-width: 150px; }
        }
        .admin-bar .cbk-entete { top: 32px; }
        .admin-bar .pt-\[calc\(5rem\+env\(safe-area-inset-top\2c 0px\)\)\] {
            padding-top: calc(7.5rem + env(safe-area-inset-top, 0px));
        }
        @media screen and (max-width: 782px) {
            .admin-bar .cbk-entete { top: 46px; }
            .admin-bar .pt-\[calc\(5rem\+env\(safe-area-inset-top\2c 0px\)\)\] {
                padding-top: calc(9rem + env(safe-area-inset-top, 0px));
            }
        }
        :root {
            --h-entete: 5rem;
            --h-pied: 4.5rem;
        }
        @media (min-width: 640px) {
            :root { --h-entete: 5.25rem; --h-pied: 4.25rem; }
        }
        @media (max-width: 760px) {
            :root { --h-entete: 5.5rem; --h-pied: 6rem; }
        }
        .admin-bar { --h-entete: 7.5rem; }
        @media screen and (max-width: 782px) {
            .admin-bar { --h-entete: 8.5rem; }
        }
        .acc-zone {
            position: relative;
            z-index: 20;
            box-sizing: border-box;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            width: 100%;
            flex: 1 1 auto;
            padding: 1.75rem 0.75rem;
        }
        @media (min-width: 640px) {
            .acc-zone { padding: 2rem 1rem; }
        }
        @media (min-width: 768px) {
            .acc-zone { padding: 2.5rem 2rem; }
        }
        @media (max-width: 760px) {
            .acc-zone { padding: 1.5rem 0.75rem 2rem; }
        }
        .acc-zone > .glass-master {
            box-sizing: border-box;
            width: 100%;
            max-width: 72rem;
            margin: 0 auto;
        }
        @media (min-width: 768px) {
            .acc-zone { padding: 2.5rem 2rem; }
        }
        @media (max-width: 760px) {
            .acc-zone { padding: 1.5rem 0.75rem 2rem; }
        }
        .acc-zone > .glass-master {
            box-sizing: border-box;
            width: 100%;
            max-width: 72rem;
            margin: 0 auto;
        }
        @media (max-width: 900px) {
            .acc-zone {
                padding-top: 5.25rem;
                padding-bottom: 1.5rem;
                align-items: flex-start;
            }
        }
        @media (min-width: 430px) and (max-width: 900px) {
            .acc-zone { padding-top: 5.5rem; }
        }
        @media (min-width: 760px) and (max-width: 1100px) {
            .acc-zone { padding-top: 6.25rem; }
        }
        .acc-zone > .glass-master {
            box-sizing: border-box;
            width: 100%;
            max-width: 72rem;
            margin: 0 auto;
        }
        .acc-tete {
            display: flex;
            flex-direction: row;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1.5rem;
            border-bottom: 1px solid rgba(255, 255, 255, .05);
            padding-bottom: 1.5rem;
            margin-bottom: 1.5rem;
            position: relative;
        }
        .acc-tete-titre {
            flex: 1 1 auto;
            min-width: 0;
            text-align: left;
        }
        .acc-tete-droite {
            flex: 0 0 auto;
            margin-left: auto;
            align-self: flex-start;
            text-align: right;
            padding-top: 1.5rem;
        }
        .acc-tete-droite > span { display: block; }
        @media (max-width: 767px) {
            .acc-tete {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.5rem;
            }
            .acc-tete-droite {
                margin-left: 0;
                text-align: left;
                padding-top: 0.5rem;
            }
        }
        .acc-pied-tel { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
        .acc-pied {
            position: relative;
            z-index: 30;
            margin-top: auto;
            width: 100%;
            background: linear-gradient(0deg,
                #3a2c20 0%, #2e2118 100%);
            border-top: 1px solid rgba(166, 89, 62, .28);
        }
        html.dark .acc-pied {
            background: #2A251E;
            border-top-color: rgba(166, 89, 62, .26);
        }
        .acc-pied-conteneur {
            max-width: 1440px;
            margin: 0 auto;
            padding: 0.9375rem 20px;
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            gap: 1rem;
        }
        .acc-pied-mention { margin: 0; white-space: nowrap; }
        .acc-pied-milieu {
            display: inline-flex;
            align-items: center;
            gap: 1.25rem;
            justify-self: center;
        }
        .acc-pied-build { justify-self: end; }
        @media (max-width: 900px) {
            .acc-pied-conteneur {
                grid-template-columns: 1fr;
                justify-items: center;
                text-align: center;
                gap: 0.625rem;
                padding: 0.875rem 14px;
            }
            .acc-pied-mention { white-space: normal; }
            .acc-pied-build { justify-self: center; }
            .acc-pied-milieu { flex-wrap: wrap; justify-content: center; }
        }
        .acc-pied-mention { margin: 0; white-space: nowrap; }
        .acc-pied-milieu {
            display: inline-flex;
            align-items: center;
            gap: 1.25rem;
            justify-self: center;
        }
        .acc-pied-build { justify-self: end; }
        @media (max-width: 900px) {
            .acc-pied-conteneur {
                grid-template-columns: 1fr;
                justify-items: center;
                text-align: center;
                gap: 0.625rem;
                padding: 0.875rem 14px;
            }
            .acc-pied-mention { white-space: normal; }
            .acc-pied-build { justify-self: center; }
            .acc-pied-milieu { flex-wrap: wrap; justify-content: center; }
        }
        .acc-pied-mention { white-space: nowrap; }
        .acc-pied-liens { flex-shrink: 1; }
        @media (max-width: 900px) {
            .acc-pied-conteneur {
                flex-wrap: wrap;
                justify-content: center;
                text-align: center;
                padding: 0.875rem 14px;
                gap: 0.625rem;
            }
            .acc-pied-mention,
            .acc-pied-liens { white-space: normal; }
            .acc-pied-build { margin-left: 0; }
        }
        .acc-pied-fin {
            display: inline-flex;
            align-items: center;
            gap: 1rem;
            margin-left: auto;
        }
        .acc-pied-liens {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.4rem;
            font-size: 10.5px;
            line-height: 1;
        }
        .acc-pied-liens a {
            color: rgba(255, 255, 255, .62);
            text-decoration: none;
            letter-spacing: .06em;
            text-transform: uppercase;
            text-shadow: 0 1px 8px rgba(0, 0, 0, .6);
            transition: color .2s ease;
            display: inline-flex;
            align-items: center;
            min-height: 24px;
            padding-block: 7px;
            margin-block: -7px;
        }
        .acc-pied-liens a:hover { color: #F5F3EF; }
        .acc-pied-sep { color: rgba(166, 89, 62, .45); }
        .acc-pied-reseaux {
            display: flex;
            align-items: center;
            gap: 0.6rem;
        }
        .acc-pied-reseaux a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 30px;
            height: 30px;
            border-radius: 9999px;
            color: rgba(255, 255, 255, .68);
            background: rgba(255, 255, 255, .04);
            border: 1px solid rgba(255, 255, 255, .1);
            -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
            transition: color .2s ease, border-color .2s ease,
                        background-color .2s ease;
        }
        .acc-pied-reseaux a:hover {
            color: #F5F3EF;
            border-color: rgba(166, 89, 62, .45);
            background: rgba(166, 89, 62, .12);
        }
        .acc-pied-reseaux svg { width: 15px; height: 15px; }
        .acc-pied-mention {
            margin: 0;
            font-size: 10px;
            letter-spacing: .14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, .4);
            text-shadow: 0 1px 8px rgba(0, 0, 0, .6);
        }
        .acc-pied-pole { color: rgba(166, 89, 62, .8); }
        @media (max-width: 760px) {
            .acc-pied-conteneur {
                padding: 0.875rem 14px;
                gap: 0.6rem;
                justify-content: center;
                text-align: center;
            }
            .acc-pied-liens { justify-content: center; font-size: 9.5px; }
        }
        .acc-pied-build {
            margin-left: auto;
            display: inline-flex;
            align-items: baseline;
            gap: 0.375rem;
            font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas,
                         'Liberation Mono', monospace;
            font-size: 9px;
            line-height: 1;
            letter-spacing: .08em;
            font-variant-numeric: tabular-nums;
            color: rgba(255, 255, 255, .3);
            text-shadow: 0 1px 6px rgba(0, 0, 0, .5);
            cursor: help;
            user-select: all;
            transition: color .2s ease;
            white-space: nowrap;
        }
        .acc-pied-build b {
            font-weight: 700;
            color: rgba(166, 89, 62, .5);
        }
        .acc-pied-build-date { color: rgba(255, 255, 255, .34); }
        .acc-pied-build-court { color: rgba(255, 255, 255, .16); }
        .acc-pied-build:hover,
        .acc-pied-build:hover b { color: rgba(166, 89, 62, .8); }
        @media (max-width: 760px) {
            .acc-pied-build {
                margin-left: 0;
                width: 100%;
                text-align: center;
                font-size: 8.5px;
            }
        }
        html { margin: 0; padding: 0; }
        body {
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
            box-sizing: border-box;
        }
        body > .acc-pied { margin-bottom: 0; }
        .acc-pied,
        .cbk-entete { flex: 0 0 auto; }
        .acc-zone,
        .legal-zone { flex: 1 1 auto; }
        body {
            font-family: 'Inter', system-ui, -apple-system, 'Segoe UI',
                         Roboto, sans-serif;
        }
        .cbk-theme {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            margin-left: 4px;
            padding: 0;
            border-radius: 9999px;
            border: 1px solid rgba(255, 255, 255, .30);
            background: rgba(255, 255, 255, .08);
            color: #F5F3EF;
            cursor: pointer;
            transition: color .2s ease, border-color .2s ease, background-color .2s ease;
        }
        .cbk-theme:hover {
            color: #FFFFFF;
            border-color: rgba(219, 130, 101, .70);
            background: rgba(255, 255, 255, .16);
        }
        .cbk-theme:focus-visible {
            outline: 2px solid #c47a5c;
            outline-offset: 2px;
        }
        .cbk-theme svg { width: 18px; height: 18px; }
        .cbk-theme-soleil { display: none; }
        html.dark .cbk-theme-lune { display: none; }
        html.dark .cbk-theme-soleil { display: block; }
        .cbk-compte {
            position: relative;
            display: inline-flex;
            align-items: center;
            flex: 0 0 auto;
        }
        .cbk-compte-bouton {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            width: auto;
            max-width: min(280px, 30vw);
            padding: 0 14px;
            height: 40px;
            flex: 0 0 auto;
        }
        .cbk-compte-bouton svg {
            width: 18px;
            height: 18px;
            flex: 0 0 auto;
        }
        .cbk-compte-nom {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .04em;
            text-transform: uppercase;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            min-width: 0;
        }
        .cbk-compte-menu {
            position: absolute;
            top: calc(100% + 8px);
            right: 0;
            z-index: 60;
            min-width: 210px;
            padding: 6px;
            border-radius: 14px;
            background: #3a2c20;
            border: 1px solid rgba(166, 89, 62, .28);
            box-shadow: 0 18px 40px rgba(0, 0, 0, .38);
        }
        html.dark .cbk-compte-menu {
            background: #2A251E;
        }
        .cbk-compte-menu a,
        .cbk-compte-menu button {
            display: block;
            width: 100%;
            padding: 9px 12px;
            border: 0;
            border-radius: 9px;
            background: transparent;
            color: #F5F3EF;
            font-family: inherit;
            font-size: 12.5px;
            font-weight: 600;
            text-align: left;
            text-decoration: none;
            cursor: pointer;
            transition: background-color .16s ease, color .16s ease;
        }
        .cbk-compte-menu a:hover,
        .cbk-compte-menu button:hover {
            background: rgba(255, 255, 255, .08);
            color: #c47a5c;
        }
        .cbk-compte-menu form {
            margin: 0;
        }
        @media (max-width: 900px) {
            .cbk-compte-nom {
                display: none;
            }
            .cbk-compte-bouton {
                padding: 0 10px;
            }
        }
        [x-cloak] {
            display: none !important;
        }
        .champ-verre {
            width: 100%;
            box-sizing: border-box;
            padding: .625rem .875rem;
            font-size: .875rem;
            color: #f9f4ea;
            background: rgba(255, 255, 255, .05);
            border: 1px solid rgba(255, 255, 255, .14);
            border-radius: .75rem;
            outline: none;
            transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
        }
        .champ-verre::placeholder {
            color: rgba(245, 234, 217, .38);
        }
        .champ-verre:hover {
            border-color: rgba(255, 255, 255, .22);
        }
        .champ-verre:focus {
            border-color: rgba(166, 89, 62, .65);
            background: rgba(255, 255, 255, .07);
            box-shadow: 0 0 0 3px rgba(166, 89, 62, .18);
        }
        .etiquette-verre {
            display: block;
            margin-bottom: .375rem;
            font-size: .875rem;
            font-weight: 600;
            color: #f5ead9;
        }
        .texte-verre {
            color: rgba(245, 234, 217, .82);
        }
        .lien-verre {
            color: #c47a5c;
            font-weight: 600;
            text-decoration: none;
            transition: color .18s ease;
        }
        .lien-verre:hover {
            color: #c47a5c;
            text-decoration: underline;
        }
        .bouton-verre {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .5rem;
            width: 100%;
            min-height: 2.75rem;
            padding: 0 1.5rem;
            font-size: .875rem;
            font-weight: 700;
            color: #ffffff;
            background: linear-gradient(180deg, #a4573c 0%, #9f543a 55%, #8a4a33 100%);
            border: 0;
            border-radius: 9999px;
            cursor: pointer;
            transition: filter .18s ease, transform .12s ease, box-shadow .18s ease;
            box-shadow: 0 10px 30px -12px rgba(166, 89, 62, .55);
        }
        .bouton-verre:hover {
            filter: brightness(1.06);
            box-shadow: 0 14px 38px -12px rgba(166, 89, 62, .70);
        }
        .bouton-verre:active {
            transform: translateY(1px);
        }
        .bouton-verre:disabled {
            opacity: .6;
            cursor: default;
        }
        .bouton-verre-discret {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .5rem;
            width: 100%;
            min-height: 2.75rem;
            padding: 0 1.5rem;
            font-size: .875rem;
            font-weight: 600;
            color: #c47a5c;
            background: rgba(255, 255, 255, .04);
            border: 1px solid rgba(166, 89, 62, .35);
            border-radius: 9999px;
            cursor: pointer;
            transition: background-color .18s ease, border-color .18s ease;
        }
        .bouton-verre-discret:hover {
            background: rgba(166, 89, 62, .10);
            border-color: rgba(166, 89, 62, .55);
        }
        .case-verre {
            width: 1rem;
            height: 1rem;
            accent-color: #a6593e;
            border-radius: .25rem;
            cursor: pointer;
        }
        @property --cme-angle {
            syntax: '<angle>';
            initial-value: 0deg;
            inherits: false;
        }
        .modale-verre {
            background: conic-gradient(
                from var(--cme-angle),
                rgba(166, 89, 62, .10) 0deg,
                rgba(166, 89, 62, .85) 60deg,
                rgba(196, 122, 92, 1) 90deg,
                rgba(166, 89, 62, .85) 120deg,
                rgba(166, 89, 62, .10) 200deg,
                rgba(166, 89, 62, .10) 360deg
            );
            animation: cme-contour 9s linear infinite;
        }
        .auth-modal-grid {
            position: relative;
            display: grid;
            place-items: center;
            min-height: 100%;
            padding: 1.5rem 1rem;
        }
        .auth-modal-grid > .modale-verre {
            z-index: 10;
        }
        .legal-carte.page-large {
            max-width: 88rem;
            width: 100%;
            margin-left: auto;
            margin-right: auto;
            padding: clamp(1rem, 1.6vw, 1.5rem);
        }
        .legal-zone:has(.page-large) {
            padding: .875rem clamp(.75rem, 2vw, 1.5rem);
        }
        .page-large .page-titre {
            margin-bottom: 1.125rem;
            padding-bottom: .875rem;
        }
        .page-large .page-titre h1 {
            font-size: clamp(1.5rem, 2vw, 1.875rem);
            margin-bottom: .25rem;
        }
        .page-large .page-titre p {
            font-size: .875rem;
            line-height: 1.5;
        }
        .signature-zeusstack {
            display: inline-flex;
            align-items: center;
            gap: .3125rem;
            font-size: .6875rem;
            font-weight: 600;
            letter-spacing: .04em;
            white-space: nowrap;
            text-decoration: none;
            color: rgba(196, 122, 92, .78);
            transition: color .18s ease;
        }
        .signature-zeusstack::before,
        .signature-zeusstack::after {
            content: '';
            width: 1.5rem;
            height: 1px;
        }
        .signature-zeusstack::before {
            background: linear-gradient(90deg, transparent, rgba(166, 89, 62, .55));
        }
        .signature-zeusstack::after {
            background: linear-gradient(90deg, rgba(166, 89, 62, .55), transparent);
        }
        .signature-zeusstack:hover {
            color: #c47a5c;
        }
        .signature-zeusstack svg {
            width: .75rem;
            height: .75rem;
        }
        .acc-pied-conteneur {
            grid-template-columns: auto 1fr auto;
            align-items: center;
        }
        .acc-pied-mention {
            justify-self: start;
            margin-left: 0;
        }
        .acc-pied-milieu {
            justify-self: center;
        }
        .acc-pied-droite {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: flex-end;
            justify-self: end;
            gap: .625rem;
            min-width: 0;
            grid-column: 3;
        }
        .acc-pied-build {
            justify-self: auto;
            margin-left: 0;
        }
        @media (max-width: 900px) {
            .acc-pied-conteneur {
                grid-template-columns: 1fr;
            }
            .acc-pied-mention,
            .acc-pied-milieu,
            .acc-pied-droite {
                justify-self: center;
            }
            .acc-pied-droite {
                flex-wrap: wrap;
                justify-content: center;
                grid-column: auto;
            }
        }
        .page-deux-colonnes {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1.5rem 1.75rem;
            align-items: start;
            color: rgba(245, 234, 217, .82);
        }
        .page-deux-colonnes strong {
            color: #f5ead9;
            font-weight: 600;
        }
        .page-deux-colonnes a {
            color: #c47a5c;
        }
        .page-deux-colonnes > .pleine-largeur {
            grid-column: 1 / -1;
        }
        .page-deux-colonnes .compte-bloc {
            margin: 0;
            padding: 0;
            border: 0;
            background: none;
        }
        .page-titre {
            margin: 0 0 1.5rem;
            padding-bottom: 1.125rem;
            border-bottom: 1px solid rgba(166, 89, 62, .16);
        }
        .page-titre h1 {
            margin: 0 0 .375rem;
            font-family: var(--cme-police-titres, Georgia, serif);
            font-size: clamp(1.625rem, 2.4vw, 2.125rem);
            font-weight: 600;
            line-height: 1.15;
            color: #c47a5c;
        }
        .page-titre p {
            margin: 0;
            max-width: 52rem;
            font-size: .9375rem;
            line-height: 1.6;
            color: rgba(245, 234, 217, .66);
        }
        section.compte-panneau {
            display: flex;
            flex-direction: column;
            height: 100%;
            box-sizing: border-box;
            padding: 1.25rem 1.375rem;
            border-radius: 1rem;
            background: rgba(255, 255, 255, .028);
            border: 1px solid rgba(166, 89, 62, .14);
        }
        section.compte-panneau .compte-titre {
            margin: 0 0 .875rem;
            padding-bottom: .625rem;
            font-size: .75rem;
            font-weight: 700;
            letter-spacing: .1em;
            text-transform: uppercase;
            color: #a6593e;
            border-bottom: 1px solid rgba(255, 255, 255, .07);
        }
        section.compte-panneau .compte-texte,
        section.compte-panneau .compte-avertissement {
            margin: 0 0 .75rem;
            font-size: .875rem;
            line-height: 1.6;
        }
        section.compte-panneau .compte-liste-puces,
        section.compte-panneau .compte-liste-numeros {
            margin: 0 0 .75rem;
            padding-left: 1.125rem;
        }
        section.compte-panneau > *:last-child {
            margin-bottom: 0;
        }
        .compte-panneau-lien {
            margin: auto 0 0;
            padding-top: 1rem;
            border-top: 1px solid rgba(255, 255, 255, .07);
        }
        .compte-panneau .compte-liste {
            display: grid;
            grid-template-columns: minmax(0, 9rem) minmax(0, 1fr);
            gap: .625rem 1.25rem;
            margin: 0 0 1rem;
        }
        .compte-panneau .compte-liste dt {
            margin: 0;
            font-size: .75rem;
            font-weight: 600;
            letter-spacing: .04em;
            text-transform: uppercase;
            color: rgba(245, 234, 217, .5);
            padding-top: .1rem;
        }
        .compte-panneau .compte-liste dd {
            margin: 0;
            font-size: .9375rem;
            line-height: 1.5;
            color: rgba(245, 234, 217, .9);
            overflow-wrap: anywhere;
            word-break: break-word;
            hyphens: none;
        }
        .compte-panneau .compte-liste dd.compte-adresse {
            font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
            font-size: .875rem;
            letter-spacing: -.01em;
        }
        .compte-panneau .compte-liste-puces,
        .compte-panneau .compte-liste-numeros {
            margin: 0 0 1rem;
            font-size: .9375rem;
            line-height: 1.7;
        }
        .compte-panneau .compte-liste-puces li,
        .compte-panneau .compte-liste-numeros li {
            margin-bottom: .375rem;
        }
        .compte-panneau .compte-texte {
            font-size: .9375rem;
            line-height: 1.65;
        }
        .compte-panneau .compte-pied {
            display: flex;
            flex-wrap: wrap;
            gap: .75rem;
            margin: 0;
        }
        @media (max-width: 980px) {
            .page-deux-colonnes {
                grid-template-columns: minmax(0, 1fr);
                gap: 1.25rem;
            }
            section.compte-panneau {
                height: auto;
            }
        }
        @keyframes cme-contour {
            to {
                --cme-angle: 360deg;
            }
        }
        .modale-verre-repli {
            background: linear-gradient(
                135deg,
                rgba(166, 89, 62, .55),
                rgba(166, 89, 62, .12) 45%,
                rgba(166, 89, 62, .55)
            );
        }
        @media (prefers-reduced-motion: reduce) {
            .modale-verre {
                animation: none;
            }
        }
        .auth-page {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: calc(100vh - 8.5rem);
            box-sizing: border-box;
            padding: 0.75rem 1rem;
        }
        .fond-nuit {
            position: absolute;
            inset: 0;
            z-index: 0;
            background: #231b15;
        }
        html {
            background: #231b15;
        }
        body {
            background: #231b15;
        }
        .legal-fond {
            position: absolute;
            inset: 0;
            background: #231b15;
        }
        .fond-nuit::after {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(
                1200px 600px at 50% -10%,
                rgba(166, 89, 62, .10),
                transparent 70%
            );
        }
        .auth-page {
            position: relative;
            z-index: 10;
        }
        .auth-charpente .cbk-entete,
        .auth-charpente .acc-pied {
            position: relative;
            z-index: 20;
        }
        .auth-carte {
            position: relative;
            width: 100%;
            max-width: 34rem;
            box-sizing: border-box;
            padding: clamp(1.5rem, 3vw, 2.25rem);
            border-radius: 1.25rem;
            border: 1px solid rgba(166, 89, 62, .22);
            background: rgba(46, 36, 28, .72);
            -webkit-backdrop-filter: blur(20px) saturate(1.3);
            backdrop-filter: blur(20px) saturate(1.3);
            box-shadow: 0 40px 120px -40px rgba(0, 0, 0, .95);
        }
        .auth-carte::before {
            content: '';
            position: absolute;
            inset: 0 auto auto 0;
            width: 100%;
            height: 1px;
            background: linear-gradient(
                90deg, transparent, rgba(166, 89, 62, .7), transparent
            );
        }
        .auth-titre {
            margin: 0 0 .875rem 0;
            font-family: var(--cme-police-titres, Georgia, serif);
            font-size: 1.375rem;
            font-weight: 600;
            line-height: 1.3;
            color: #c47a5c;
        }
        .auth-texte {
            margin: 0 0 .875rem 0;
            font-size: 1rem;
            line-height: 1.7;
            color: rgba(245, 234, 217, .82);
        }
        .auth-avertissement {
            display: block;
            margin: 0 0 1rem 0;
            padding: .875rem 1rem;
            border-radius: .75rem;
            font-size: 1rem;
            line-height: 1.7;
            color: rgba(245, 234, 217, .9);
            background: rgba(166, 89, 62, .08);
            border: 1px solid rgba(166, 89, 62, .25);
        }
        .auth-icone {
            width: 1.125rem;
            height: 1.125rem;
            display: inline-block;
            vertical-align: -.18em;
            margin-right: .375rem;
            color: #a6593e;
        }
        .auth-actions {
            display: flex;
            flex-wrap: wrap;
            gap: .75rem;
            margin-top: 1.5rem;
        }
        .accueil-compte {
            text-align: center;
        }
        .accueil-compte-salutation {
            margin: 0 0 .5rem;
            font-family: var(--cme-police-titres, Georgia, serif);
            font-size: 1.5rem;
            font-weight: 600;
            line-height: 1.25;
            color: #c47a5c;
        }
        .accueil-compte-texte {
            margin: 0 0 1.5rem;
            font-size: 1rem;
            line-height: 1.7;
            color: rgba(245, 234, 217, .82);
        }
        .accueil-compte-etapes {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            text-align: left;
        }
        .accueil-compte-etape {
            display: flex;
            align-items: flex-start;
            gap: .75rem;
            padding: .875rem 1rem;
            border-radius: .75rem;
            background: rgba(255, 255, 255, .04);
            border: 1px solid rgba(166, 89, 62, .18);
        }
        .accueil-compte-etape strong {
            display: block;
            margin-bottom: .25rem;
            font-size: .9375rem;
            color: #c47a5c;
        }
        .accueil-compte-etape p {
            margin: 0;
            font-size: .875rem;
            line-height: 1.65;
            color: rgba(245, 234, 217, .75);
        }
        .accueil-compte-puce {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            width: 1.5rem;
            height: 1.5rem;
            border-radius: 9999px;
            font-size: .8125rem;
            font-weight: 700;
            color: #ffffff;
            background: linear-gradient(180deg, #a4573c, #8a4a33);
        }
        .accueil-compte-actions {
            display: flex;
            flex-wrap: wrap;
            gap: .75rem;
            margin-top: 1.5rem;
        }
        .accueil-compte-actions > * {
            flex: 1 1 12rem;
        }
        .accueil-compte-fermer {
            display: block;
            width: 100%;
            margin-top: .875rem;
            padding: .5rem;
            font-size: .875rem;
            font-weight: 600;
            color: rgba(245, 234, 217, .65);
            background: none;
            border: 0;
            cursor: pointer;
            transition: color .18s ease;
        }
        .accueil-compte-fermer:hover {
            color: #c47a5c;
        }
        .two-factor {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        .two-factor-state {
            display: block;
            margin: 0;
            padding: .875rem 1rem;
            border-radius: .75rem;
            font-size: 1rem;
            line-height: 1.7;
        }
        .two-factor-state-icon {
            width: 1.125rem;
            height: 1.125rem;
            display: inline-block;
            vertical-align: -.18em;
            margin-right: .375rem;
        }
        .two-factor-state-on {
            color: #B8E6C8;
            background: rgba(52, 199, 123, .10);
            border: 1px solid rgba(52, 199, 123, .30);
        }
        .two-factor-state-off,
        .two-factor-state-pending {
            color: #c47a5c;
            background: rgba(166, 89, 62, .08);
            border: 1px solid rgba(166, 89, 62, .28);
        }
        .two-factor-text {
            margin: 0;
            font-size: 1rem;
            line-height: 1.7;
            color: rgba(245, 234, 217, .82);
        }
        .two-factor-steps {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        .two-factor-step {
            display: flex;
            align-items: flex-start;
            gap: .875rem;
            padding: 1rem;
            border-radius: .75rem;
            background: rgba(255, 255, 255, .04);
            border: 1px solid rgba(166, 89, 62, .16);
        }
        .two-factor-step strong {
            display: block;
            margin-bottom: .375rem;
            font-size: .9375rem;
            color: #c47a5c;
        }
        .two-factor-step p {
            margin: 0 0 .5rem;
            font-size: .875rem;
            line-height: 1.65;
            color: rgba(245, 234, 217, .75);
        }
        .two-factor-step-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            width: 1.5rem;
            height: 1.5rem;
            border-radius: 9999px;
            font-size: .8125rem;
            font-weight: 700;
            color: #ffffff;
            background: linear-gradient(180deg, #a4573c, #8a4a33);
        }
        .two-factor-qr {
            display: inline-block;
            margin: .5rem 0;
            padding: .875rem;
            border-radius: .75rem;
            background: #FFFFFF;
        }
        .two-factor-qr svg {
            display: block;
            width: 180px;
            height: 180px;
        }
        .two-factor-manual {
            margin-top: .5rem;
            font-size: .875rem;
        }
        .two-factor-manual summary {
            color: #c47a5c;
            cursor: pointer;
        }
        .two-factor-manual p {
            margin: .5rem 0 .375rem;
        }
        .two-factor-secret {
            display: block;
            padding: .625rem .75rem;
            border-radius: .5rem;
            font-family: ui-monospace, monospace;
            font-size: .875rem;
            letter-spacing: .08em;
            word-break: break-all;
            color: #f5ead9;
            background: rgba(35, 27, 21, .35);
            border: 1px solid rgba(166, 89, 62, .25);
        }
        .two-factor-form {
            margin-top: .75rem;
        }
        .two-factor-code {
            font-size: 1.5rem;
            letter-spacing: .5em;
            text-align: center;
            font-variant-numeric: tabular-nums;
        }
        .two-factor-error {
            margin: .5rem 0 0;
            font-size: .875rem;
            color: #FF8A8A;
        }
        .two-factor-hint {
            margin: .625rem 0 0;
            font-size: .8125rem;
            line-height: 1.6;
            color: rgba(245, 234, 217, .58);
        }
        .compte-deconnexion {
            margin: .75rem 0 0;
            padding-top: .75rem;
            border-top: 1px solid rgba(255, 255, 255, .07);
        }
        .compte-deconnexion .two-factor-cancel {
            margin: 0;
            padding: .25rem 0;
            text-align: left;
        }
        .compte-colonne-gauche {
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
        }
        .compte-colonne-gauche .compte-panneau {
            margin: 0;
        }
        .two-factor {
            gap: .75rem;
        }
        .two-factor-step {
            padding: .75rem .875rem;
            gap: .625rem;
        }
        .two-factor-step p {
            margin: 0 0 .375rem;
            font-size: .8125rem;
            line-height: 1.55;
        }
        .two-factor-steps {
            gap: .625rem;
        }
        .two-factor-qr {
            margin: .375rem 0;
            padding: .625rem;
        }
        .two-factor-qr svg {
            width: 150px;
            height: 150px;
        }
        .two-factor-text {
            font-size: .9375rem;
            line-height: 1.6;
        }
        .two-factor-codes {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            margin: .625rem 0;
        }
        .two-factor-codes li {
            padding: .375rem .5rem;
            font-size: .8125rem;
        }
        .two-factor-recovery,
        .two-factor-password {
            padding: 1rem;
        }
        .two-factor-state {
            padding: .75rem .875rem;
            font-size: .9375rem;
            line-height: 1.6;
        }
        .two-factor-actions {
            display: flex;
            flex-wrap: wrap;
            gap: .75rem;
            margin-top: .25rem;
        }
        .two-factor-danger {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: .75rem 1.5rem;
            border-radius: .625rem;
            font-size: .9375rem;
            font-weight: 600;
            color: #FFB4B4;
            background: rgba(255, 92, 92, .10);
            border: 1px solid rgba(255, 92, 92, .32);
            cursor: pointer;
            transition: background .18s ease;
        }
        .two-factor-danger:hover {
            background: rgba(255, 92, 92, .18);
        }
        .two-factor-cancel {
            display: inline-block;
            margin-top: .75rem;
            padding: .5rem;
            font-size: .875rem;
            font-weight: 600;
            color: rgba(245, 234, 217, .6);
            background: none;
            border: 0;
            cursor: pointer;
        }
        .two-factor-cancel:hover {
            color: #c47a5c;
        }
        .two-factor-recovery,
        .two-factor-password {
            margin-top: .5rem;
            padding: 1.25rem;
            border-radius: .875rem;
            background: rgba(166, 89, 62, .07);
            border: 1px solid rgba(166, 89, 62, .30);
        }
        .two-factor-recovery-title {
            margin: 0 0 .625rem;
            font-size: 1.0625rem;
            font-weight: 600;
            color: #c47a5c;
        }
        .two-factor-warning {
            color: #FFD9A0;
        }
        .two-factor-codes {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: .5rem;
            margin: .875rem 0;
            padding: 0;
            list-style: none;
        }
        .two-factor-codes li {
            padding: .5rem .625rem;
            border-radius: .5rem;
            font-family: ui-monospace, monospace;
            font-size: .9375rem;
            letter-spacing: .06em;
            text-align: center;
            color: #f5ead9;
            background: rgba(35, 27, 21, .35);
            border: 1px solid rgba(166, 89, 62, .22);
        }
        @media (max-width: 520px) {
            .two-factor-codes {
                grid-template-columns: 1fr;
            }
            .two-factor-actions {
                flex-direction: column;
            }
        }
        @media (max-width: 520px) {
            .auth-actions {
                flex-direction: column;
            }
            .auth-actions > * {
                width: 100%;
            }
        }
        .compte {
            max-width: 46rem;
        }
        .compte-bloc {
            padding-bottom: 1.75rem;
            margin-bottom: 1.75rem;
            border-bottom: 1px solid rgba(166, 89, 62, .16);
        }
        .compte-bloc-fin {
            padding-bottom: 0;
            margin-bottom: 0;
            border-bottom: 0;
        }
        .compte-titre {
            margin: 0 0 .875rem 0;
            font-family: var(--cme-police-titres, Georgia, serif);
            font-size: 1.3125rem;
            line-height: 1.3;
            font-weight: 600;
            color: var(--cme-or, #a6593e);
        }
        .compte-texte {
            margin: 0 0 .875rem 0;
            font-size: 1rem;
            line-height: 1.7;
        }
        .compte-note {
            font-size: .9375rem;
            opacity: .82;
        }
        .compte-icone {
            width: 1.25rem;
            height: 1.25rem;
            flex-shrink: 0;
            vertical-align: -.2em;
            display: inline-block;
        }
        .compte-etat,
        .compte-avertissement {
            display: block;
            margin: 0 0 .875rem 0;
            padding: .875rem 1rem;
            border-radius: .75rem;
            font-size: 1rem;
            line-height: 1.7;
        }
        .compte-etat-vert {
            background: rgba(34, 197, 94, .10);
            border: 1px solid rgba(34, 197, 94, .30);
        }
        .compte-avertissement {
            background: rgba(166, 89, 62, .10);
            border: 1px solid rgba(166, 89, 62, .28);
        }
        .compte-liste {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: .375rem 1.25rem;
            margin: 0;
        }
        .compte-liste dt {
            font-weight: 600;
            opacity: .78;
        }
        .compte-liste dd {
            margin: 0;
        }
        .compte-liste-puces,
        .compte-liste-numeros {
            margin: 0 0 1.25rem 0;
            padding-left: 1.375rem;
            line-height: 1.75;
        }
        .compte-liste-puces li,
        .compte-liste-numeros li {
            margin-bottom: .375rem;
        }
        .compte-actions {
            display: flex;
            flex-wrap: wrap;
            gap: .75rem;
            margin-top: 1.25rem;
        }
.cbk-burger,
        .cbk-tiroir,
        .cbk-voile {
            display: none;
        }
        @media (max-width: 900px) {
            .cbk-burger {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 44px;
                height: 44px;
                margin-left: auto;
                border-radius: 12px;
                cursor: pointer;
                background: rgba(255, 255, 255, .07);
                -webkit-backdrop-filter: blur(14px) saturate(150%);
                backdrop-filter: blur(14px) saturate(150%);
                border: 1px solid rgba(255, 255, 255, .14);
                transition: background-color .2s ease, border-color .2s ease;
                position: relative;
            }
            .cbk-burger:active,
            .cbk-burger:hover {
                background: rgba(255, 255, 255, .13);
                border-color: rgba(166, 89, 62, .45);
            }
            .cbk-burger svg {
                width: 22px; height: 22px;
                color: #F5F3EF;
            }
            .cbk-burger input {
                position: absolute;
                inset: 0;
                opacity: 0;
                cursor: pointer;
                margin: 0;
            }
            .cbk-nav { display: none; }
            .cbk-voile {
                display: block;
                position: fixed;
                inset: 0;
                z-index: 90;
                background: rgba(35, 27, 21, .62);
                -webkit-backdrop-filter: blur(3px);
                backdrop-filter: blur(3px);
                opacity: 0;
                visibility: hidden;
                transition: opacity .38s ease, visibility .38s ease;
                cursor: pointer;
            }
            .cbk-tiroir {
                display: none;
                flex-direction: column;
                position: fixed;
                top: 0; right: 0;
                z-index: 95;
                width: 86%;
                max-width: 360px;
                height: 100dvh;
                box-sizing: border-box;
                padding: 1.25rem 1.25rem 2rem;
                background: linear-gradient(160deg,
                    rgba(46, 36, 28, .93) 0%, rgba(46, 36, 28, .97) 100%);
                -webkit-backdrop-filter: blur(24px) saturate(150%);
                backdrop-filter: blur(24px) saturate(150%);
                border-left: 1px solid rgba(166, 89, 62, .22);
                box-shadow: -30px 0 80px -30px rgba(0, 0, 0, .95);
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
            }
            .cbk-entete:has(.cbk-burger input:checked) .cbk-tiroir {
                display: flex;
                transform: translateX(0);
                transition: transform .52s cubic-bezier(.22, .61, .36, 1),
                            opacity .52s ease;
            }
            @starting-style {
                .cbk-entete:has(.cbk-burger input:checked) .cbk-tiroir {
                    transform: translateX(100%);
                    opacity: 0;
                }
            }
            /*  LA SORTIE DU TIROIR : le JavaScript pose `cbk-tiroir-fermeture`
                pour le garder dessine pendant qu il sort, et la retire 460 ms
                plus tard. Duree de la transition : 420 ms.  */
            .cbk-entete:has(.cbk-burger input:not(:checked)) .cbk-tiroir.cbk-tiroir-fermeture {
                display: flex;
                opacity: 0;
                transition: opacity .32s ease;
                /*  On coupe le flou et l ombre PENDANT LA SORTIE : Safari laisse
                    une trainee sur un element qui porte un backdrop-filter et qui
                    est anime. Il ne reste que transform et opacity.  */
                background: linear-gradient(160deg, #2e241c 0%, #2e241c 100%);
                -webkit-backdrop-filter: none;
                backdrop-filter: none;
                box-shadow: none;
            }
            .cbk-entete:has(.cbk-burger input:checked) .cbk-voile {
                opacity: 1;
                visibility: visible;
            }
            html:has(.cbk-burger input:checked) {
                overflow: hidden;
            }
            .cbk-tiroir-tete {
                display: flex;
                align-items: center;
                justify-content: space-between;
                padding-bottom: 1rem;
                margin-bottom: .5rem;
                border-bottom: 1px solid rgba(255, 255, 255, .08);
            }
            .cbk-tiroir-titre {
                font-size: 10px;
                font-weight: 700;
                letter-spacing: .18em;
                text-transform: uppercase;
                color: #a6593e;
            }
            .cbk-tiroir-fermer {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                position: relative;
                width: 44px;
                height: 44px;
                border-radius: 12px;
                cursor: pointer;
                background: rgba(255, 255, 255, .05);
                border: 1px solid rgba(255, 255, 255, .12);
            }
            .cbk-tiroir-fermer svg {
                width: 18px; height: 18px;
                color: rgba(255, 255, 255, .8);
            }
            .cbk-tiroir-fermer input {
                position: absolute;
                inset: 0;
                opacity: 0;
                cursor: pointer;
                margin: 0;
            }
            .cbk-tiroir nav {
                display: flex;
                flex-direction: column;
                gap: .375rem;
                margin-top: .75rem;
            }
            .cbk-tiroir nav a {
                display: flex;
                align-items: center;
                min-height: 48px;
                padding: 0 1rem;
                border-radius: .75rem;
                font-size: 15px;
                font-weight: 600;
                letter-spacing: .02em;
                text-decoration: none;
                color: rgba(255, 255, 255, .82);
                border: 1px solid transparent;
                transition: background-color .18s ease, color .18s ease,
                            border-color .18s ease;
            }
            .cbk-tiroir nav a:active {
                background: rgba(255, 255, 255, .08);
            }
            .cbk-tiroir nav a.actif {
                color: #F5F3EF;
                background: rgba(166, 89, 62, .13);
                border-color: rgba(166, 89, 62, .35);
            }
            .cbk-tiroir nav a svg {
                width: 16px; height: 16px;
                margin-left: auto;
                opacity: .45;
            }
            .cbk-tiroir-pied {
                margin-top: auto;
                padding-top: 1.5rem;
                border-top: 1px solid rgba(255, 255, 255, .07);
                font-size: 12px;
                line-height: 1.7;
                color: rgba(255, 255, 255, .45);
            }
            .cbk-tiroir-pied a {
                color: #c47a5c;
                text-decoration: none;
            }
            .cbk-entete-interieur {
                flex-wrap: nowrap;
                justify-content: flex-start;
                gap: 12px;
            }
            .cbk-nav { margin-left: 0; width: auto; }
        }
        @media (max-width: 400px) {
            .cbk-tiroir { width: 92%; }
        }
        .gold-gradient {
            background: linear-gradient(135deg, var(--or), var(--or-clair));
        }


/*  ==========================================================================
    LE MODE CLAIR — ECRIT LE 14/10/2026 POUR `/booking`, `/wedding`
    ET `/wedding/catalogue`.

    ⚠️⚠️⚠️ POURQUOI CE BLOC EXISTE, ET POURQUOI IL A MANQUE SI LONGTEMPS :
        *** ==> ces trois pages chargent `classes.css` (`@vite([...])`) ; ***
        *** ==> ET `classes.css` N AVAIT *** AUCUNE *** REGLE DE MODE CLAIR : ***
            *** ==> ses 8 regles de theme etaient TOUTES en `html.dark`. ***
        *** ==> en mode clair, la carte `.glass-master` restait donc BRUNE, ***
            *** ==> et son titre brun fonce devenait INVISIBLE dessus. ***

    ⚠️ TOUT EST EN `html:not(.dark)` :
        *** ==> LE MODE SOMBRE RESTE EXACTEMENT COMME AVANT, au pixel pres. ***
        *** ==> ce bloc est totalement INERTE des que `<html>` porte la classe `dark`. ***

    ⚠️ LA REGLE DE LA CARTE SUFFIT POUR LES TEXTES, ET C EST LA REGLE DU CSS :
        *** ==> ① un element SANS couleur HERITE de son parent -> il prend le brun ; ***
        *** ==> ② un element AVEC une couleur explicite GARDE la sienne, ***
            *** ==> parce que L HERITAGE NE GAGNE JAMAIS SUR UNE REGLE EXPLICITE. ***
    ========================================================================== */

    html:not(.dark) .glass-master {
        background: rgba(247, 241, 230, 0.94);
        color: #2e2118;
        border-color: rgba(166, 89, 62, 0.30);
        box-shadow: 0 50px 100px -20px rgba(61, 52, 40, 0.28),
                    0 0 40px rgba(166, 89, 62, 0.10),
                    inset 0 1px 0 rgba(255, 255, 255, 0.60);
    }
    html:not(.dark) .glass-master:hover {
        border-color: rgba(166, 89, 62, 0.55);
        box-shadow: 0 50px 100px -20px rgba(61, 52, 40, 0.34),
                    0 0 80px rgba(166, 89, 62, 0.18),
                    inset 0 1px 0 rgba(255, 255, 255, 0.70);
    }

    /*  --- LE TITRE : brun sur la carte creme --- */
    html:not(.dark) .acc-tete-titre h1 { color: #2e2118; }
    html:not(.dark) .acc-bandeau { color: #a6593e; }

    /*  --- LES TEXTES DE LA CARTE --- */
    html:not(.dark) .acc-texte { color: rgba(46, 33, 24, 0.80); }
    html:not(.dark) .acc-texte strong { color: #2e2118; }
    html:not(.dark) .acc-etat { color: rgba(46, 33, 24, 0.68); }
    html:not(.dark) .acc-sep { color: rgba(46, 33, 24, 0.22); }
    html:not(.dark) .acc-coord,
    html:not(.dark) .acc-coord a { color: rgba(46, 33, 24, 0.78); }
    html:not(.dark) .acc-coord a:hover { color: #a6593e; }

    /*  --- LES CARTES SECONDAIRES : un voile BRUN tres pale, pas un voile blanc --- */
    html:not(.dark) .luxury-card {
        background: rgba(46, 33, 24, 0.035);
        border-color: rgba(46, 33, 24, 0.10);
    }
    html:not(.dark) .luxury-card:hover {
        background: rgba(166, 89, 62, 0.07);
        border-color: rgba(166, 89, 62, 0.32);
    }
    html:not(.dark) .acc-carte {
        background: rgba(46, 33, 24, 0.035);
        border-color: rgba(46, 33, 24, 0.10);
    }

    /*  --- LE BOUTON SECONDAIRE : texte brun, contour brun --- */
    html:not(.dark) .acc-bouton-secondaire {
        color: #2e2118;
        background: rgba(46, 33, 24, 0.04);
        border-color: rgba(46, 33, 24, 0.16);
    }
    html:not(.dark) .acc-bouton-secondaire:hover {
        color: #1a120c;
        background: rgba(46, 33, 24, 0.08);
        border-color: rgba(46, 33, 24, 0.28);
        box-shadow: 0 10px 28px -14px rgba(61, 52, 40, 0.35),
                    inset 0 1px 0 rgba(255, 255, 255, 0.55);
    }

    /*  --- LE BOUTON PRINCIPAL : son fond est un terracotta tres pale en mode clair, ***
        *** ==> donc un texte blanc dessus serait illisible. On le passe en brun. --- */
    html:not(.dark) .acc-bouton-principal { color: #2e2118; }
    html:not(.dark) .acc-bouton-principal:hover { color: #1a120c; }

    /*  --- LA LIGNE DOREE : terracotta dans les deux modes --- */
    html:not(.dark) .gold-line-expand {
        background: linear-gradient(90deg, #a6593e, #e8a189, #a6593e);
    }

    /*  ======================================================================
        LES HUIT VARIANTES DE `text-white`, DANS LA CARTE — UNE PAR UNE.
        *** ==> `/lyrics` les avait deja ; les trois autres pages en ont besoin. ***
        ====================================================================== */
    html:not(.dark) .glass-master .text-white        { color: #2e2118; }
    html:not(.dark) .glass-master .text-white\/90     { color: rgba(46, 33, 24, 0.90); }
    html:not(.dark) .glass-master .text-white\/70     { color: rgba(46, 33, 24, 0.78); }
    html:not(.dark) .glass-master .text-white\/60     { color: rgba(46, 33, 24, 0.72); }
    html:not(.dark) .glass-master .text-white\/55     { color: rgba(46, 33, 24, 0.68); }
    html:not(.dark) .glass-master .text-white\/50     { color: rgba(46, 33, 24, 0.64); }
    html:not(.dark) .glass-master .text-white\/40     { color: rgba(46, 33, 24, 0.58); }
    html:not(.dark) .glass-master .text-white\/30     { color: rgba(46, 33, 24, 0.50); }
    html:not(.dark) .glass-master .text-white\/20     { color: rgba(46, 33, 24, 0.42); }

    /*  --- ET DANS L EN-TETE, EN DEHORS DE LA CARTE --- */
    html:not(.dark) .acc-tete .text-white\/90 { color: rgba(46, 33, 24, 0.90); }
    html:not(.dark) .acc-tete .text-white\/70 { color: rgba(46, 33, 24, 0.78); }
    html:not(.dark) .acc-tete .text-white\/60 { color: rgba(46, 33, 24, 0.72); }
    html:not(.dark) .acc-tete .text-white\/50 { color: rgba(46, 33, 24, 0.64); }
    html:not(.dark) .acc-tete .text-white\/40 { color: rgba(46, 33, 24, 0.58); }

    /*  --- LES COULEURS CLAIRES ECRITES EN DUR, QUI SERAIENT ILLISIBLES SUR DU CREME ---
        *** ==> `#d0c8c0` est un gris-taupe clair : c etait LA cause des noms de ***
            *** ==> categories illisibles sur `/lyrics`, et ces pages l utilisent aussi. --- */
    html:not(.dark) .text-\[\#d0c8c0\] { color: #5e5344; }
    html:not(.dark) .text-\[\#d0c8c0\]\/60 { color: rgba(94, 83, 68, 0.66); }
    html:not(.dark) .text-\[\#c4b09a\] { color: #786d5d; }
    html:not(.dark) .text-\[\#c4b09a\]\/60 { color: rgba(120, 109, 93, 0.66); }

    /*  --- LES BORDURES BLANCHES DEVIENNENT DES BORDURES BRUNES --- */
    html:not(.dark) .border-white\/5  { border-color: rgba(46, 33, 24, 0.09); }
    html:not(.dark) .border-white\/10 { border-color: rgba(46, 33, 24, 0.14); }

/*  ==========================================================================
    LE MODE CLAIR — BLOC UNIQUE, POSE A L IDENTIQUE DANS `classes.css`
    ET DANS `charte.css`. Ecrit le 14/10/2026.

    ⚠️ POURQUOI UN BLOC UNIQUE, ET PAS DEUX :
        *** ==> j avais ecrit ce bloc DEUX FOIS, separement ; ***
        *** ==> et les deux versions DIVERGEAIENT de 9 facons : ***
            *** ==> 2 regles seulement d un cote, 6 seulement de l autre, ***
            *** ==> et `.glass-master` n avait pas les memes proprietes. ***
        *** ==> RESULTAT : `/lyrics` n etait PAS colorée comme `/booking` ni `/wedding`. ***
        *** ==> A PARTIR DE MAINTENANT : UNE SEULE VERSION, RECOPIEE A L IDENTIQUE. ***
            *** ==> si on corrige ici, ON CORRIGE DANS LES DEUX. ***

    ⚠️ QUELLES PAGES CHARGENT QUOI — a savoir pour ne pas se tromper :
        *** ==> `classes.css` : `/booking`, `/wedding`, `/wedding/catalogue` ; ***
        *** ==> `charte.css`  : `/lyrics`, `/lyrics/chansons` (c est une COPIE de classes.css). ***

    ⚠️ TOUT EST EN `html:not(.dark)` :
        *** ==> LE MODE SOMBRE RESTE EXACTEMENT COMME AVANT, au pixel pres. ***
        *** ==> ce bloc est totalement INERTE des que `<html>` porte la classe `dark`. ***

    ⚠️ LA REGLE DE LA CARTE SUFFIT POUR LES TEXTES, ET C EST LA REGLE DU CSS :
        *** ==> ① un element SANS couleur HERITE de son parent -> il prend le brun ; ***
        *** ==> ② un element AVEC une couleur explicite GARDE la sienne, ***
            *** ==> parce que L HERITAGE NE GAGNE JAMAIS SUR UNE REGLE EXPLICITE. ***
    ========================================================================== */

    /*  --- ① LA CARTE PRINCIPALE --- */
    html:not(.dark) .glass-master {
        background: rgba(247, 241, 230, 0.94);
        color: #2e2118;
        border-color: rgba(166, 89, 62, 0.30);
        box-shadow: 0 50px 100px -20px rgba(61, 52, 40, 0.28),
                    0 0 40px rgba(166, 89, 62, 0.10),
                    inset 0 1px 0 rgba(255, 255, 255, 0.60);
    }
    html:not(.dark) .glass-master:hover {
        border-color: rgba(166, 89, 62, 0.55);
        box-shadow: 0 50px 100px -20px rgba(61, 52, 40, 0.34),
                    0 0 80px rgba(166, 89, 62, 0.18),
                    inset 0 1px 0 rgba(255, 255, 255, 0.70);
    }

    /*  --- ② LE TITRE ET LE SURTITRE --- */
    html:not(.dark) .acc-tete-titre h1 { color: #2e2118; }
    html:not(.dark) .acc-bandeau { color: #a6593e; }

    /*  --- ③ LES TEXTES DE LA CARTE --- */
    html:not(.dark) .acc-texte { color: rgba(46, 33, 24, 0.80); }
    html:not(.dark) .acc-texte strong { color: #2e2118; }
    html:not(.dark) .acc-etat { color: rgba(46, 33, 24, 0.68); }
    html:not(.dark) .acc-sep { color: rgba(46, 33, 24, 0.22); }
    html:not(.dark) .acc-coord,
    html:not(.dark) .acc-coord a { color: rgba(46, 33, 24, 0.78); }
    html:not(.dark) .acc-coord a:hover { color: #a6593e; }

    /*  --- ④ LES CARTES SECONDAIRES : un voile BRUN tres pale, pas un voile blanc --- */
    html:not(.dark) .luxury-card {
        background: rgba(46, 33, 24, 0.035);
        border-color: rgba(46, 33, 24, 0.10);
    }
    html:not(.dark) .luxury-card:hover {
        background: rgba(166, 89, 62, 0.07);
        border-color: rgba(166, 89, 62, 0.32);
    }
    html:not(.dark) .acc-carte {
        background: rgba(46, 33, 24, 0.035);
        border-color: rgba(46, 33, 24, 0.10);
    }

    /*  --- ⑤ LES BOUTONS --- */
    html:not(.dark) .acc-bouton-secondaire {
        color: #2e2118;
        background: rgba(46, 33, 24, 0.04);
        border-color: rgba(46, 33, 24, 0.16);
    }
    html:not(.dark) .acc-bouton-secondaire:hover {
        color: #1a120c;
        background: rgba(46, 33, 24, 0.08);
        border-color: rgba(46, 33, 24, 0.28);
        box-shadow: 0 10px 28px -14px rgba(61, 52, 40, 0.35),
                    inset 0 1px 0 rgba(255, 255, 255, 0.55);
    }
    html:not(.dark) .acc-bouton-principal { color: #2e2118; }
    html:not(.dark) .acc-bouton-principal:hover { color: #1a120c; }

    /*  --- ⑥ LA LIGNE DOREE : terracotta dans les deux modes --- */
    html:not(.dark) .gold-line-expand {
        background: linear-gradient(90deg, #a6593e, #e8a189, #a6593e);
    }

    /*  --- ⑦ LES BORDURES BLANCHES DEVIENNENT DES BORDURES BRUNES ---
        *** ==> `.acc-tete` a `border-bottom: rgba(255,255,255,.05)` : ***
            *** ==> invisible sur du creme, il faut la repasser en brun. *** */
    html:not(.dark) .acc-tete { border-bottom-color: rgba(46, 33, 24, 0.10); }
    html:not(.dark) .acc-coord { border-top-color: rgba(46, 33, 24, 0.12); }
    html:not(.dark) .border-white\/5  { border-color: rgba(46, 33, 24, 0.09); }
    html:not(.dark) .border-white\/10 { border-color: rgba(46, 33, 24, 0.14); }
    html:not(.dark) .glass-master .border-white\/5  { border-color: rgba(46, 33, 24, 0.09); }
    html:not(.dark) .glass-master .border-white\/10 { border-color: rgba(46, 33, 24, 0.14); }

    /*  --- ⑧ LES HUIT VARIANTES DE `text-white`, DANS LA CARTE, UNE PAR UNE --- */
    html:not(.dark) .glass-master .text-white          { color: #2e2118; }
    html:not(.dark) .glass-master .text-white\/90       { color: rgba(46, 33, 24, 0.90); }
    html:not(.dark) .glass-master .text-white\/70       { color: rgba(46, 33, 24, 0.78); }
    html:not(.dark) .glass-master .text-white\/60       { color: rgba(46, 33, 24, 0.72); }
    html:not(.dark) .glass-master .text-white\/55       { color: rgba(46, 33, 24, 0.68); }
    html:not(.dark) .glass-master .text-white\/50       { color: rgba(46, 33, 24, 0.64); }
    html:not(.dark) .glass-master .text-white\/40       { color: rgba(46, 33, 24, 0.58); }
    html:not(.dark) .glass-master .text-white\/30       { color: rgba(46, 33, 24, 0.50); }
    html:not(.dark) .glass-master .text-white\/20       { color: rgba(46, 33, 24, 0.42); }

    /*  --- ⑨ ET DANS L EN-TETE, EN DEHORS DE LA CARTE --- */
    html:not(.dark) .acc-tete .text-white\/90 { color: rgba(46, 33, 24, 0.90); }
    html:not(.dark) .acc-tete .text-white\/70 { color: rgba(46, 33, 24, 0.78); }
    html:not(.dark) .acc-tete .text-white\/60 { color: rgba(46, 33, 24, 0.72); }
    html:not(.dark) .acc-tete .text-white\/50 { color: rgba(46, 33, 24, 0.64); }
    html:not(.dark) .acc-tete .text-white\/40 { color: rgba(46, 33, 24, 0.58); }

    /*  --- ⑩ LES COULEURS CLAIRES ECRITES EN DUR ---
        *** ==> `#d0c8c0` (R+V+B = 600) et `#c4b09a` (526) sont des GRIS-TAUPES CLAIRS : ***
            *** ==> sur la carte creme, ils donnent 1,87:1 de contraste, DONC ILLISIBLES. ***
        *** ==> `#d0c8c0` cassait les noms de categories sur `/lyrics` ET sur `/wedding`. ***
        *** ==> `#c4b09a` faisait la meme chose sur `/booking`. ***
        *** ==> LES VOICI TOUS LES DEUX, DANS LE MEME BLOC. *** */
    html:not(.dark) .text-\[\#d0c8c0\] { color: #5e5344; }
    html:not(.dark) .text-\[\#d0c8c0\]\/60 { color: rgba(94, 83, 68, 0.66); }
    html:not(.dark) .text-\[\#c4b09a\] { color: #786d5d; }
    html:not(.dark) .text-\[\#c4b09a\]\/60 { color: rgba(120, 109, 93, 0.66); }

/*  ==========================================================================
    LE MODE CLAIR — BLOC UNIQUE, POSE A L IDENTIQUE DANS `classes.css`
    ET DANS `charte.css`. Ecrit le 14/10/2026.

    ⚠️ POURQUOI UN BLOC UNIQUE, ET PAS DEUX :
        *** ==> j avais ecrit ce bloc DEUX FOIS, separement ; ***
        *** ==> et les deux versions DIVERGEAIENT de 9 facons : ***
            *** ==> 2 regles seulement d un cote, 6 seulement de l autre, ***
            *** ==> et `.glass-master` n avait pas les memes proprietes. ***
        *** ==> RESULTAT : `/lyrics` n etait PAS colorée comme `/booking` ni `/wedding`. ***
        *** ==> A PARTIR DE MAINTENANT : UNE SEULE VERSION, RECOPIEE A L IDENTIQUE. ***
            *** ==> si on corrige ici, ON CORRIGE DANS LES DEUX. ***

    ⚠️ QUELLES PAGES CHARGENT QUOI — a savoir pour ne pas se tromper :
        *** ==> `classes.css` : `/booking`, `/wedding`, `/wedding/catalogue` ; ***
        *** ==> `charte.css`  : `/lyrics`, `/lyrics/chansons` (c est une COPIE de classes.css). ***

    ⚠️ TOUT EST EN `html:not(.dark)` :
        *** ==> LE MODE SOMBRE RESTE EXACTEMENT COMME AVANT, au pixel pres. ***
        *** ==> ce bloc est totalement INERTE des que `<html>` porte la classe `dark`. ***

    ⚠️ LA REGLE DE LA CARTE SUFFIT POUR LES TEXTES, ET C EST LA REGLE DU CSS :
        *** ==> ① un element SANS couleur HERITE de son parent -> il prend le brun ; ***
        *** ==> ② un element AVEC une couleur explicite GARDE la sienne, ***
            *** ==> parce que L HERITAGE NE GAGNE JAMAIS SUR UNE REGLE EXPLICITE. ***
    ========================================================================== */

    /*  --- ① LA CARTE PRINCIPALE --- */
    html:not(.dark) .glass-master {
        background: rgba(247, 241, 230, 0.94);
        color: #2e2118;
        border-color: rgba(166, 89, 62, 0.30);
        box-shadow: 0 50px 100px -20px rgba(61, 52, 40, 0.28),
                    0 0 40px rgba(166, 89, 62, 0.10),
                    inset 0 1px 0 rgba(255, 255, 255, 0.60);
    }
    html:not(.dark) .glass-master:hover {
        border-color: rgba(166, 89, 62, 0.55);
        box-shadow: 0 50px 100px -20px rgba(61, 52, 40, 0.34),
                    0 0 80px rgba(166, 89, 62, 0.18),
                    inset 0 1px 0 rgba(255, 255, 255, 0.70);
    }

    /*  --- ② LE TITRE ET LE SURTITRE --- */
    html:not(.dark) .acc-tete-titre h1 { color: #2e2118; }
    html:not(.dark) .acc-bandeau { color: #a6593e; }

    /*  --- ③ LES TEXTES DE LA CARTE --- */
    html:not(.dark) .acc-texte { color: rgba(46, 33, 24, 0.80); }
    html:not(.dark) .acc-texte strong { color: #2e2118; }
    html:not(.dark) .acc-etat { color: rgba(46, 33, 24, 0.68); }
    html:not(.dark) .acc-sep { color: rgba(46, 33, 24, 0.22); }
    html:not(.dark) .acc-coord,
    html:not(.dark) .acc-coord a { color: rgba(46, 33, 24, 0.78); }
    html:not(.dark) .acc-coord a:hover { color: #a6593e; }

    /*  --- ④ LES CARTES SECONDAIRES : un voile BRUN tres pale, pas un voile blanc --- */
    html:not(.dark) .luxury-card {
        background: rgba(46, 33, 24, 0.035);
        border-color: rgba(46, 33, 24, 0.10);
    }
    html:not(.dark) .luxury-card:hover {
        background: rgba(166, 89, 62, 0.07);
        border-color: rgba(166, 89, 62, 0.32);
    }
    html:not(.dark) .acc-carte {
        background: rgba(46, 33, 24, 0.035);
        border-color: rgba(46, 33, 24, 0.10);
    }

    /*  --- ⑤ LES BOUTONS --- */
    html:not(.dark) .acc-bouton-secondaire {
        color: #2e2118;
        background: rgba(46, 33, 24, 0.04);
        border-color: rgba(46, 33, 24, 0.16);
    }
    html:not(.dark) .acc-bouton-secondaire:hover {
        color: #1a120c;
        background: rgba(46, 33, 24, 0.08);
        border-color: rgba(46, 33, 24, 0.28);
        box-shadow: 0 10px 28px -14px rgba(61, 52, 40, 0.35),
                    inset 0 1px 0 rgba(255, 255, 255, 0.55);
    }
    html:not(.dark) .acc-bouton-principal { color: #2e2118; }
    html:not(.dark) .acc-bouton-principal:hover { color: #1a120c; }

    /*  --- ⑥ LA LIGNE DOREE : terracotta dans les deux modes --- */
    html:not(.dark) .gold-line-expand {
        background: linear-gradient(90deg, #a6593e, #e8a189, #a6593e);
    }

    /*  --- ⑦ LES BORDURES BLANCHES DEVIENNENT DES BORDURES BRUNES ---
        *** ==> `.acc-tete` a `border-bottom: rgba(255,255,255,.05)` : ***
            *** ==> invisible sur du creme, il faut la repasser en brun. *** */
    html:not(.dark) .acc-tete { border-bottom-color: rgba(46, 33, 24, 0.10); }
    html:not(.dark) .acc-coord { border-top-color: rgba(46, 33, 24, 0.12); }
    html:not(.dark) .border-white\/5  { border-color: rgba(46, 33, 24, 0.09); }
    html:not(.dark) .border-white\/10 { border-color: rgba(46, 33, 24, 0.14); }
    html:not(.dark) .glass-master .border-white\/5  { border-color: rgba(46, 33, 24, 0.09); }
    html:not(.dark) .glass-master .border-white\/10 { border-color: rgba(46, 33, 24, 0.14); }

    /*  --- ⑧ LES HUIT VARIANTES DE `text-white`, DANS LA CARTE, UNE PAR UNE --- */
    html:not(.dark) .glass-master .text-white          { color: #2e2118; }
    html:not(.dark) .glass-master .text-white\/90       { color: rgba(46, 33, 24, 0.90); }
    html:not(.dark) .glass-master .text-white\/70       { color: rgba(46, 33, 24, 0.78); }
    html:not(.dark) .glass-master .text-white\/60       { color: rgba(46, 33, 24, 0.72); }
    html:not(.dark) .glass-master .text-white\/55       { color: rgba(46, 33, 24, 0.68); }
    html:not(.dark) .glass-master .text-white\/50       { color: rgba(46, 33, 24, 0.64); }
    html:not(.dark) .glass-master .text-white\/40       { color: rgba(46, 33, 24, 0.58); }
    html:not(.dark) .glass-master .text-white\/30       { color: rgba(46, 33, 24, 0.50); }
    html:not(.dark) .glass-master .text-white\/20       { color: rgba(46, 33, 24, 0.42); }

    /*  --- ⑨ ET DANS L EN-TETE, EN DEHORS DE LA CARTE --- */
    html:not(.dark) .acc-tete .text-white\/90 { color: rgba(46, 33, 24, 0.90); }
    html:not(.dark) .acc-tete .text-white\/70 { color: rgba(46, 33, 24, 0.78); }
    html:not(.dark) .acc-tete .text-white\/60 { color: rgba(46, 33, 24, 0.72); }
    html:not(.dark) .acc-tete .text-white\/50 { color: rgba(46, 33, 24, 0.64); }
    html:not(.dark) .acc-tete .text-white\/40 { color: rgba(46, 33, 24, 0.58); }

    /*  --- ⑩ LES COULEURS CLAIRES ECRITES EN DUR ---
        *** ==> `#d0c8c0` (R+V+B = 600) et `#c4b09a` (526) sont des GRIS-TAUPES CLAIRS : ***
            *** ==> sur la carte creme, ils donnent 1,87:1 de contraste, DONC ILLISIBLES. ***
        *** ==> `#d0c8c0` cassait les noms de categories sur `/lyrics` ET sur `/wedding`. ***
        *** ==> `#c4b09a` faisait la meme chose sur `/booking`. ***
        *** ==> LES VOICI TOUS LES DEUX, DANS LE MEME BLOC. *** */
    html:not(.dark) .text-\[\#d0c8c0\] { color: #5e5344; }
    html:not(.dark) .text-\[\#d0c8c0\]\/60 { color: rgba(94, 83, 68, 0.66); }
    html:not(.dark) .text-\[\#c4b09a\] { color: #786d5d; }
    html:not(.dark) .text-\[\#c4b09a\]\/60 { color: rgba(120, 109, 93, 0.66); }
