
        :root {
            --bec-offwhite: #f6f1ea;
            --bec-dark: #1c1c1c;
            --bec-accent: #67081D;
        }

        html {
            background-color: var(--bec-offwhite);
        }

        body {
            position: relative;
            background-color: var(--bec-offwhite);
            color: var(--bec-dark);
        }

        body.has-site-video {
            background-color: transparent;
        }

        .site-background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            overflow: hidden;
            z-index: 0;
        }

        .site-background-video {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .site-background-overlay {
            position: absolute;
            inset: 0;
            background: rgba(103, 8, 29, 0.3);
        }

        @media (prefers-reduced-motion: reduce) {
            .site-background {
                display: none;
            }

            body {
                background-color: var(--bec-offwhite);
            }
        }

        .site-main {
            text-align: left;
            min-height: 60vh;
            position: relative;
            z-index: 0;
        }

        .site-header .navbar-brand {
            font-weight: 700;
            color: var(--bec-dark);
            padding-right: 60px;
            margin-top: 0;
        }

        .site-header {
            background-color: transparent;
            border-bottom: none;
            position: relative;
            z-index: 10;
            font-family: "Epilogue", sans-serif;
        }

        .site-header-offset {
            height: 30px;
            width: 100%;
            pointer-events: none;
        }

        .site-header .navbar-brand span {
            font-size: 1rem;
        }

        .site-header .navbar-nav .nav-link {
            color: var(--bec-dark);
            font-weight: 500;
        }

        .site-header .header-nav ul {
            margin: 0;
            padding: 0;
            list-style: none;
            display: flex;
            gap: 60px;
            justify-content: center;
            align-items: center;
        }

        .site-header .header-nav {
            margin-left: 0;
        }

        .site-header .container {
            flex-wrap: nowrap;
        }

        .site-header .header-nav li {
            position: relative;
        }

        .site-header .header-nav .header-submenu {
            display: inline-flex;
            align-items: center;
            position: relative;
        }

        .site-header .header-nav .submenu-list {
            position: absolute;
            top: calc(100% + 12px);
            left: 0;
            min-width: 220px;
            background: #fff;
            border-radius: 16px;
            padding: 12px;
            box-shadow: 0 16px 32px rgba(0, 0, 0, 0.12);
            display: flex;
            flex-direction: column;
            gap: 8px;
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
            z-index: 20;
        }

        .site-header .header-nav .header-submenu.is-open .submenu-list {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .site-header .header-nav .submenu-toggle {
            background: none;
            border: none;
            padding: 0;
            font: inherit;
            color: var(--bec-dark);
            cursor: pointer;
            appearance: none;
            -webkit-appearance: none;
            box-shadow: none;
        }

        .site-header .header-nav .submenu-list a {
            display: block;
            padding: 6px 10px;
            border-radius: 10px;
            font-weight: 500;
        }

        .site-header .header-nav .submenu-list a:hover,
        .site-header .header-nav .submenu-list a:focus,
        .site-header .header-nav .submenu-list a.current {
            background: rgba(103, 8, 29, 0.08);
            color: var(--bec-accent);
        }

        .site-header .header-nav a,
        .site-header .header-nav .submenu-toggle {
            color: var(--bec-dark);
            text-decoration: none;
            font-weight: 500;
            font-family: "Epilogue", sans-serif;
        }

        .site-header .header-nav a:hover,
        .site-header .header-nav a:focus,
        .site-header .header-nav .submenu-toggle:hover,
        .site-header .header-nav .submenu-toggle:focus {
            color: var(--bec-accent);
        }

        .site-header .navbar-nav .nav-link:hover,
        .site-header .navbar-nav .nav-link:focus {
            color: var(--bec-accent);
        }

        .site-logo {
            height: 38px;
            width: auto;
        }

        .header-burger-wrapper {
            display: none;
        }

        .home-page .site-header .navbar-brand,
        .home-page .site-header .header-nav a,
        .home-page .site-header .header-nav .submenu-toggle {
            color: #fff;
        }

        .home-page .site-header .header-nav a:hover,
        .home-page .site-header .header-nav .submenu-toggle:hover,
        .home-page .site-header .header-nav a:focus,
        .home-page .site-header .header-nav .submenu-toggle:focus {
            color: rgba(255, 255, 255, 0.85);
        }

        .home-page .site-header .header-nav .submenu-list a {
            color: var(--bec-dark);
        }

        @media (max-width: 991.98px) {
            .site-header .header-nav {
                display: none;
            }

            .site-header .container {
                flex-wrap: wrap;
            }

            .header-burger-wrapper {
                display: block;
                margin-left: auto;
            }
        }

        .btn-bec-primary {
            background-color: var(--bec-accent);
            border-color: var(--bec-accent);
            color: #fff;

        }

        .btn-bec-primary:hover {
            background-color: #8a0a27;
            border-color: #8a0a27;
        }

        .btn-bec-outline {
            border-color: rgba(103, 8, 29, 0.35);
            color: var(--bec-accent);
        }

        .btn-bec-outline:hover {
            background-color: rgba(103, 8, 29, 0.08);
        }

        .btn-contact-footer {
            background-color: #fff;
            color: #8a0a27;
            font-size: 18px;
            padding: 12px 24px;
            border: 2px solid #fff;
            border-radius: 6px;
        }


        .site-footer {
            background-color: #8a0a27;
            text-align: center;
        }

        .site-footer a,
        .site-footer h3,
        .site-footer h4,
        .site-footer p {
            color: #fff;
        }

        .site-footer .btn-contact-footer {
            color: #8a0a27;
        }

        .site-footer .btn-contact-footer:is(:hover, :focus-visible) {
            background-color: #fff;
            color: #8a0a27;
            border-color: #fff;
        }

        .site-footer .row {
            justify-content: center;
        }

        .site-footer .col-lg-5,
        .site-footer .col-lg-4 {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .site-footer .ratio {
            width: 100%;
            max-width: 520px;
        }

        .site-footer .d-flex {
            justify-content: center;
        }

        .site-footer .list-unstyled {
            align-items: center;
        }

        .site-footer a {
            display: inline-block;
            text-decoration: none;
            position: relative;
        }

        .site-footer a::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -2px;
            width: 100%;
            height: 2px;
            background-color: currentColor;
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.2s ease;
        }

        .site-footer a:hover::after,
        .site-footer a:focus-visible::after {
            transform: scaleX(1);
        }

        .site-footer a.social-icon::after {
            display: none;
        }

        .site-footer .footer-credit-link {
            color: rgba(255, 255, 255, 0.5);
            font-size: 0.9rem;
        }

        .site-footer .footer-credit-link:is(:hover, :focus-visible) {
            color: rgba(255, 255, 255, 0.8);
        }

        .mb-1 {
            padding-top: 50px;
        }


        .cookie-popup {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: min(420px, 90vw);
            background-color: #1f1f1f;
            color: #fff;
            border-radius: 16px;
            padding: 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
            text-align: left;
            z-index: 9999;
        }

        .cookie-content {
            max-width: 100%;
        }

        .cookie-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            justify-content: flex-start;
        }

        .cookie-buttons button {
            border-radius: 999px;
            padding: 10px 16px;
        }

        .cookie-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.55);
            backdrop-filter: blur(2px);
            z-index: 9998;
        }

        .cookie-choice-required {
            overflow: hidden;
        }

        .cookie-choice-required .cookie-popup {
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        @media (max-width: 768px) {
            .site-main {
                padding-top: 20px;
                padding-bottom: 40px;
            }
        }

        .header-nav a.current,
        .header-nav .submenu-toggle.current {
            font-weight: bold;
        }

        .header-burger-wrapper {
            margin-left: auto;
        }

        .header-burger-menu {
            position: relative;
            z-index: 1000;
        }

        .header-burger-menu summary {
            list-style: none;
        }

        .header-burger-menu summary::-webkit-details-marker {
            display: none;
        }

        .header-burger-toggle {
            border: none;
            background: transparent;
            padding: 8px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .header-burger-icon {
            display: inline-flex;
            flex-direction: column;
            gap: 5px;
        }

        .header-burger-icon span {
            display: block;
            width: 26px;
            height: 3px;
            border-radius: 999px;
            background-color: var(--bec-dark);
            transition: transform 0.2s ease, opacity 0.2s ease;
        }

        .home-page .header-burger-icon span {
            background-color: #ddd;
        }


        .header-burger-menu[open] .header-burger-icon span:nth-child(1) {
            transform: translateY(8px) rotate(45deg);
        }

        .header-burger-menu[open] .header-burger-icon span:nth-child(2) {
            opacity: 0;
        }

        .header-burger-menu[open] .header-burger-icon span:nth-child(3) {
            transform: translateY(-8px) rotate(-45deg);
        }

        .header-burger-panel {
            position: fixed;
            top: 0;
            right: 0;
            height: 100vh;
            width: min(360px, 85vw);
            background: #fff;
            box-shadow: -20px 0 40px rgba(0, 0, 0, 0.15);
            padding: 32px 24px;
            display: flex;
            flex-direction: column;
            gap: 32px;
            transform: translateX(100%);
            transition: transform 0.25s ease;
            z-index: 1100;
        }

        .header-burger-close {
            align-self: flex-end;
            border: none;
            background: rgba(103, 8, 29, 0.08);
            color: var(--bec-dark);
            font-size: 1.6rem;
            line-height: 1;
            width: 40px;
            height: 40px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease;
        }

        .header-burger-close:hover,
        .header-burger-close:focus {
            background: rgba(103, 8, 29, 0.18);
            color: var(--bec-accent);
        }

        .header-burger-menu[open] .header-burger-panel {
            transform: translateX(0);
        }

        .header-burger-title {
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(28, 28, 28, 0.6);
            margin-bottom: 12px;
        }

        .header-burger-nav ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: grid;
            gap: 12px;
        }

        .header-burger-panel nav {
            display: grid;
            gap: 12px;
        }

        .header-burger-nav a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 10px 14px;
            border-radius: 12px;
            text-decoration: none;
            font-weight: 600;
            color: var(--bec-dark);
            background: rgba(103, 8, 29, 0.06);
        }

        .header-burger-panel .header-submenu {
            display: grid;
            gap: 8px;
        }

        .header-burger-panel .submenu-toggle {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            padding: 10px 14px;
            border-radius: 12px;
            border: none;
            background: rgba(103, 8, 29, 0.06);
            font-weight: 600;
            color: var(--bec-dark);
            cursor: pointer;
            text-align: left;
        }

        .header-burger-panel .submenu-toggle::after {
            content: "▾";
            font-size: 0.9rem;
            color: rgba(28, 28, 28, 0.6);
        }

        .header-burger-panel .submenu-list {
            position: static;
            min-width: 0;
            padding: 0;
            margin: 0;
            background: transparent;
            border-radius: 0;
            box-shadow: none;
            opacity: 0;
            visibility: hidden;
            transform: none;
            display: none;
            gap: 8px;
        }

        .header-burger-panel .header-submenu.is-open .submenu-list {
            opacity: 1;
            visibility: visible;
            display: grid;
        }

        .header-burger-group {
            display: grid;
            gap: 10px;
        }

        .header-burger-group-title {
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(28, 28, 28, 0.6);
            padding-left: 4px;
        }

        .header-burger-sublist {
            list-style: none;
            margin: 0;
            padding: 0;
            display: grid;
            gap: 8px;
        }

        .header-burger-sublist a {
            font-weight: 500;
            background: rgba(103, 8, 29, 0.04);
        }

        .header-burger-panel .submenu-list a {
            text-decoration: none;
            color: var(--bec-dark);
        }

        .header-burger-nav a:hover,
        .header-burger-nav a:focus {
            background: rgba(103, 8, 29, 0.12);
            color: var(--bec-accent);
        }

        .header-burger-nav a.current {
            background: rgba(103, 8, 29, 0.18);
            color: var(--bec-accent);
        }

        .header-burger-nav .header-burger-boutique-link {
            border: 2px solid #d4af37;
            background: #d4af37;
            font-weight: 600;
            color: #fff;
        }

        .header-burger-nav .header-burger-boutique-link:hover,
        .header-burger-nav .header-burger-boutique-link:focus,
        .header-burger-nav .header-burger-boutique-link.current {
            background: #d4af37;
            border-color: #d4af37;
            color: #fff;
        }

        .header-burger-actions {
            display: grid;
            gap: 16px;
        }

        .header-burger-user {
            font-weight: 700;
            font-size: 1.05rem;
            color: var(--bec-dark);
        }

        .header-burger-links {
            display: grid;
            gap: 10px;
        }

        .header-burger-links a {
            text-decoration: none;
            font-weight: 600;
            color: var(--bec-dark);
        }

        .header-burger-links a:hover,
        .header-burger-links a:focus {
            color: var(--bec-accent);
        }

        .header-burger-logout {
            color: var(--bec-accent);
            font-weight: 700;
        }

        @media (max-width: 992px) {
            .site-header .header-nav {
                display: none;
            }

            .site-header .container {
                gap: 12px;
                padding-top: 0.5rem;
                padding-bottom: 0.5rem;
            }
        }


        .header-compte-wrapper {
            margin-left: auto;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .btn-boutique-header {
            font-size: 16px;
            padding: 6px 16px;
            border-radius: 999px;
            border: 3px solid #d4af37;
            background-color: #d4af37;
            color: #fff;
            font-weight: 500;
            text-decoration: none;
            transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
        }

        .btn-boutique-header:hover,
        .btn-boutique-header:focus,
        .btn-boutique-header[aria-current="page"] {
            background-color: #d4af37;
            border-color: #d4af37;
            color: #fff;
            text-decoration: none;
        }

        .header-compte-menu {
            position: relative;
            z-index: 1000;
        }

        .header-compte-menu summary {
            list-style: none;
        }

        .header-compte-menu summary::-webkit-details-marker {
            display: none;
        }

        .header-compte-toggle {
            border: none;
            background: transparent;
            padding: 30px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .header-compte-icon {
            display: inline-flex;
            flex-direction: column;
            gap: 5px;
        }

        .header-compte-icon span {
            display: block;
            width: 26px;
            height: 3px;
            border-radius: 999px;
            background-color: var(--bec-dark);
            transition: transform 0.2s ease, opacity 0.2s ease;
        }

        .header-compte-menu[open] .header-compte-icon span:nth-child(1) {
            transform: translateY(8px) rotate(45deg);
        }

        .header-compte-menu[open] .header-compte-icon span:nth-child(2) {
            opacity: 0;
        }

        .header-compte-menu[open] .header-compte-icon span:nth-child(3) {
            transform: translateY(-8px) rotate(-45deg);
        }

        .header-compte-panel {
            position: fixed;
            top: 0;
            right: 0;
            height: 100vh;
            width: min(360px, 85vw);
            background: #fff;
            box-shadow: -20px 0 40px rgba(0, 0, 0, 0.15);
            padding: 32px 24px;
            display: flex;
            flex-direction: column;
            gap: 32px;
            transform: translateX(100%);
            transition: transform 0.25s ease;
            z-index: 1100;
        }

        .header-compte-close {
            align-self: flex-end;
            border: none;
            background: rgba(103, 8, 29, 0.08);
            color: var(--bec-dark);
            font-size: 1.6rem;
            line-height: 1;
            width: 40px;
            height: 40px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease;
        }

        .header-compte-close:hover,
        .header-compte-close:focus {
            background: rgba(103, 8, 29, 0.18);
            color: var(--bec-accent);
        }

        .header-compte-menu[open] .header-compte-panel {
            transform: translateX(0);
        }

        .header-compte-title {
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(28, 28, 28, 0.6);
            margin-bottom: 12px;
        }

        .header-compte-nav ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: grid;
            gap: 12px;
        }

        .header-compte-nav a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 10px 14px;
            border-radius: 12px;
            text-decoration: none;
            font-weight: 600;
            color: var(--bec-dark);
            background: rgba(103, 8, 29, 0.06);
        }

        .header-compte-group {
            display: grid;
            gap: 10px;
        }

        .header-compte-group-title {
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(28, 28, 28, 0.6);
            padding-left: 4px;
        }

        .header-compte-sublist {
            list-style: none;
            margin: 0;
            padding: 0;
            display: grid;
            gap: 8px;
        }

        .header-compte-sublist a {
            font-weight: 500;
            background: rgba(103, 8, 29, 0.04);
        }

        .header-compte-nav a:hover,
        .header-compte-nav a:focus {
            background: rgba(103, 8, 29, 0.12);
            color: var(--bec-accent);
        }

        .header-compte-nav a.current {
            background: rgba(103, 8, 29, 0.18);
            color: var(--bec-accent);
        }

        .header-compte-actions {
            display: grid;
            gap: 16px;
        }

        .header-compte-user {
            font-weight: 700;
            font-size: 1.05rem;
            color: var(--bec-dark);
        }

        .header-compte-links {
            display: grid;
            gap: 10px;
        }

        .header-compte-links a {
            text-decoration: none;
            font-weight: 600;
            color: var(--bec-dark);
        }

        .header-compte-links a:hover,
        .header-compte-links a:focus {
            color: var(--bec-accent);
        }

        .header-compte-logout {
            color: var(--bec-accent);
            font-weight: 700;
        }

        .home-page .header-compte-icon{
            color: #fff;
        }


        .home-page .site-header .header-nav .submenu-list a {
            color: var(--bec-dark);
        }


        .btn-compte {
            font-size: 16px;
            padding: 6px 16px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background-color: #8a0a27;
            border-color: #8a0a27;
            color: #fff;
            transition: transform 0.2s ease;
        }

        .btn-compte:hover,
        .btn-compte:focus {
            background-color: #8a0a27;
            border-color: #8a0a27;
            color: #fff;
            transform: scale(1.05);
        }



        @media (max-width: 991.98px) {
            .btn-boutique-header {
                display: none;
            }

            .btn-compte {
                display: none;
            }

            .header-compte-wrapper {
                display: block;
                margin-left: auto;
            }
        }
