/* O.M LAW FIRM — noir / blanc / doré */

/* Polices locales (évite le loader Framer / Google Fonts) */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/cabinet-assets/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/cabinet-assets/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("/cabinet-assets/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2") format("woff2");
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("/cabinet-assets/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2") format("woff2");
}
@font-face {
    font-family: "Golos Text";
    font-style: normal;
    font-weight: 400 900;
    font-display: swap;
    src: url("/cabinet-assets/fonts/golos-text.woff2") format("woff2");
}
@font-face {
    font-family: "Golos Text Variable";
    font-style: normal;
    font-weight: 400 900;
    font-display: swap;
    src: url("/cabinet-assets/fonts/golos-text.woff2") format("woff2");
}
@font-face {
    font-family: "Fragment Mono";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/cabinet-assets/fonts/fragment-mono.woff2") format("woff2");
}

:root {
    --om-gold: #c9a84c;
    --om-gold-light: #e8d5a3;
    --om-gold-dark: #a6862f;
    --om-black: #0b0b0b;
    --om-white: #ffffff;
    --om-offwhite: #f7f5f0;

    /* Framer token overrides */
    --token-cc2033ed-c1cc-4cdc-baa7-f42de145a3e7: #0b0b0b;
    --token-60a4d2cf-83c5-4cce-a0cd-8d089ce89447: #0b0b0b;
    --token-1166dd0e-eccc-438f-a17d-4e274e783bb0: #0b0b0b4d;
    --token-db560e34-2ada-46cf-af5d-c55e235f0654: #c9a84c;
    --token-7da12f2e-e101-4dee-a758-8f7e8473f9ee: #e8d5a3;
    --token-75b573a1-d464-4968-aa6b-0357172bcd86: #c9a84c;
    --token-78a9d331-f027-4c66-83b7-553d6de8436c: #c9a84c;
    --token-297ef7ba-8f22-4e65-b80a-1b0334912369: #c9a84c;
    --token-b3f0fe70-326a-4737-ab12-b92750aef217: #e8d5a3;
    --token-e4176a4d-d995-4feb-b56c-bed4268d4993: #f7f5f0;
    --token-ee389f52-d947-40be-95dc-755a8fdb732f: #f7f5f0;
    --token-f45d661a-f9af-4774-ae91-22b93fd13d95: #f7f5f0;
    --token-710ade2f-af2d-4eb3-a472-dbe729d9e382: #f7f5f0;
    --token-9772bb48-f8de-4c70-aeea-e5fdd80ea979: #f7f5f0;
    --token-4b9a8180-f623-4420-811b-ebc7e01d23a8: #ede8dc;
    --token-524a5aeb-cbb3-4d98-81e5-d1d21e6fe025: #a6862f;
    --token-6b6b5a1f-ce23-4170-97d9-6ae458a48e99: #a6862f;
    --token-e464eadf-9dab-4b5a-ae03-6ab54e0b1b6d: #a6862f;
    --token-c4783dfd-ef7c-4835-8f96-47bfb9e9bcf5: #141414;
    --token-11c233ce-ba11-4e3a-ba1d-5be950195b79: #141414;
    --token-5867f7d4-4896-47eb-999d-312e44f4e2a8: #141414;
}

::selection {
    background: color-mix(in srgb, var(--om-gold) 40%, white);
    color: var(--om-black);
}

input:focus,
textarea:focus,
select:focus {
    outline-color: var(--om-gold);
    border-color: var(--om-gold);
}

/* Charte stricte noir / or / blanc — CTAs, formulaires, cartes */
button[data-framer-name="Disabled"],
button[data-framer-name="Default"],
button[data-framer-name="Primary"],
button[data-framer-name="Submit"],
[data-framer-name="Submit Button"] button,
[data-framer-name="Form"] button[type="submit"],
form button[type="submit"],
[data-framer-name="Button"] button,
[data-framer-name="CTA"] button,
[data-framer-name="CTA"] a,
a[data-framer-name="Button"],
[data-framer-name="Primary Button"],
[data-framer-name="Primary Button"] a,
[data-framer-name="Book"] a,
[data-framer-name="Book"] button {
    background-color: var(--om-gold) !important;
    background-image: none !important;
    color: var(--om-black) !important;
    border-color: var(--om-gold) !important;
}

button[data-framer-name="Disabled"]:hover,
button[data-framer-name="Default"]:hover,
[data-framer-name="Form"] button[type="submit"]:hover,
form button[type="submit"]:hover,
[data-framer-name="CTA"] a:hover,
[data-framer-name="Primary Button"] a:hover {
    background-color: var(--om-gold-dark) !important;
    color: var(--om-white) !important;
}

/* Cartes expertises / portfolio : fond noir, texte blanc, accent or */
[data-framer-name="Treatments"] [data-framer-name="Main"],
[data-framer-name="Treatment"] [data-framer-name="Main"],
[data-framer-name="Expertises"] [data-framer-name="Main"],
[data-framer-name="Expertise"] [data-framer-name="Main"],
[data-framer-name="Treatments"] a[data-framer-name="Main"],
[data-framer-name="Expertises"] a[data-framer-name="Main"],
[data-framer-name="Portfolio"] [data-framer-name="Main"],
[data-framer-name="Card"][style*="27, 41, 120"],
a[data-framer-name="Main"] {
    background-color: var(--om-black) !important;
    background-image: none !important;
    color: var(--om-white) !important;
}

a[data-framer-name="Main"] p,
a[data-framer-name="Main"] h3,
a[data-framer-name="Main"] span,
a[data-framer-name="Main"] .framer-text {
    color: var(--om-white) !important;
}

a[data-framer-name="Main"]:hover {
    background-color: #141414 !important;
    box-shadow: inset 0 0 0 1px var(--om-gold) !important;
}

a[data-framer-name="Main"]:hover h3,
a[data-framer-name="Main"]:hover .framer-text {
    color: var(--om-gold) !important;
}

/*
 * Formulaires — style type “form-control”
 * (Framer laisse souvent des inputs à 19px / padding 0)
 */
[data-framer-name="Form"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
[data-framer-name="Form"] textarea,
[data-framer-name="Form"] select,
form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
form textarea,
form select,
.om-form-control {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    font-family: "Golos Text", "Golos Text Variable", Inter, system-ui, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: var(--om-black) !important;
    background-color: var(--om-white) !important;
    background-clip: padding-box !important;
    border: 1.5px solid color-mix(in srgb, var(--om-gold) 55%, #9a9a9a) !important;
    border-radius: 10px !important;
    box-shadow: inset 0 1px 2px rgba(11, 11, 11, 0.04) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

[data-framer-name="Form"] textarea,
form textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

[data-framer-name="Form"] select,
form select {
    padding-right: 2.5rem !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px !important;
    cursor: pointer !important;
}

[data-framer-name="Form"] input[type="date"],
form input[type="date"] {
    min-height: 48px !important;
    color-scheme: light;
}

[data-framer-name="Form"] input::placeholder,
[data-framer-name="Form"] textarea::placeholder,
form input::placeholder,
form textarea::placeholder {
    color: #8a8a8a !important;
    opacity: 1 !important;
}

[data-framer-name="Form"] input:focus,
[data-framer-name="Form"] textarea:focus,
[data-framer-name="Form"] select:focus,
form input:focus,
form textarea:focus,
form select:focus,
.om-form-control:focus {
    outline: none !important;
    border-color: var(--om-gold) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--om-gold) 28%, transparent) !important;
}

[data-framer-name="Form"] textarea,
form textarea.om-form-control {
    min-height: 120px !important;
    height: 120px !important;
}

/* Newsletter Framer — feedback propre après envoi */
form.framer-1xyvegf {
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 0.65rem !important;
    width: 100% !important;
    max-width: 560px !important;
}

form.framer-1xyvegf > label {
    flex: 1 1 220px !important;
    min-width: 0 !important;
    margin: 0 !important;
}

form.framer-1xyvegf .framer-form-input-wrapper,
form.framer-1xyvegf input[type="email"] {
    width: 100% !important;
    max-width: none !important;
}

form.framer-1xyvegf .framer-1rrchm8-container,
form.framer-1xyvegf button[type="submit"] {
    flex: 0 0 auto !important;
    min-width: 52px !important;
    min-height: 48px !important;
}

.om-newsletter-feedback {
    flex: 1 1 100% !important;
    order: 5 !important;
    margin: 0.15rem 0 0 !important;
    padding: 0.85rem 1rem !important;
    border-radius: 12px !important;
    font-family: "Golos Text", system-ui, sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.45 !important;
    box-sizing: border-box !important;
}

.om-newsletter-feedback--success {
    background: rgba(201, 168, 76, 0.16) !important;
    border: 1px solid rgba(201, 168, 76, 0.55) !important;
    color: #f7f5f0 !important;
}

.om-newsletter-feedback--error {
    background: rgba(180, 40, 40, 0.18) !important;
    border: 1px solid rgba(220, 80, 80, 0.55) !important;
    color: #ffd7d7 !important;
}

form.om-newsletter-success .om-newsletter-feedback--success {
    animation: omNewsletterIn 0.35s ease;
}

@keyframes omNewsletterIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

/* Masquer les overlays d’erreur Framer cassés (grand X blanc/rouge) */
form.framer-1xyvegf [data-framer-name="Error"],
form.framer-1xyvegf [data-framer-name="Success"],
form.framer-1xyvegf .framer-form-message,
[data-framer-name="Form"] [data-framer-name="Error"],
[data-framer-name="Form"] [data-framer-name="Success"] {
    display: none !important;
}

svg.om-google-icon {
    display: block;
    width: 22px;
    height: 22px;
}

/* Conteneurs Framer autour des champs */
[data-framer-name="Form"] [data-framer-name="Input"],
[data-framer-name="Form"] [data-framer-name="Textarea"],
[data-framer-name="Form"] [data-framer-name="Select"],
[data-framer-name="Form"] label {
    width: 100% !important;
}

/* Icônes SVG locales */
img[src*=".svg"] {
    object-fit: contain !important;
}

[data-framer-name="Icon"] img,
[data-framer-name="Icon Wrap"] img,
[data-framer-name="Content"] img[alt*="Arrow"] {
    filter: none !important;
    opacity: 1 !important;
}

[data-framer-name="Icon Wrap"]:empty::before,
[data-framer-name="Icon Wrap"]:not(:has(svg, img))::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 2px;
    background: var(--om-gold);
    opacity: 0.85;
}

/* Lien Portfolio nav : blanc → or au survol (déjà partiellement défini) */
[data-framer-name="Nav items"] a.om-nav-portfolio:hover {
    color: var(--om-gold) !important;
}

/* Logo OM — blason doré seul, sans fond ni texte */
a img.om-brand-logo {
    display: block !important;
    height: 58px !important;
    width: auto !important;
    max-width: 72px !important;
    object-fit: contain !important;
    object-position: left center !important;
    background: transparent !important;
}

[data-framer-name="Logo"] {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

[data-framer-name="Logo"] img {
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
}

/* Ticker expertises : éviter le chevauchement des textes */
[data-framer-name="Ticker"] {
    overflow: hidden !important;
}

[data-framer-name="Ticker"] section {
    overflow: hidden !important;
}

[data-framer-name="Ticker"] ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: max-content !important;
    max-width: none !important;
    gap: 3.5rem !important;
}

[data-framer-name="Ticker"] li,
[data-framer-name="Ticker"] [data-framer-name^="Ticker Item"],
[data-framer-name="Ticker"] [data-framer-name="Variant 1"] {
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
    position: relative !important;
}

[data-framer-name="Ticker"] h3,
[data-framer-name="Ticker"] .framer-text {
    white-space: nowrap !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
    font-size: clamp(1.75rem, 3.2vw, 3rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
}

[data-framer-name="Ticker"] [data-framer-name="Innovation"] {
    width: auto !important;
    min-width: max-content !important;
}

/* Cartes expertises : photos cabinet (plus de visuels médicaux) */
img[src*="expertise-"] {
    object-fit: cover !important;
}

/* Footer copyright : Framer applique parfois rotate 180/900 → texte inversé */
[data-framer-name="Copyright"],
[data-framer-name="Copyright"] [data-framer-name="Inner Spacer"],
[data-framer-name="Copyright Legal"],
[data-framer-name="Copyright Legal"] p,
[data-framer-name="Copyright Legal"] a,
[data-framer-name="Copyright Legal"] span {
    transform: none !important;
    rotate: none !important;
}

/* Hero / header : retirer le bloc « Société Civile d’Avocats » (avatars + texte) */
[data-framer-name="No border"],
[data-framer-name="Hero"] [data-framer-name="No border"],
[data-framer-name="No border"] [data-framer-name="Face wrapper"],
[data-framer-name="No border"] [data-framer-name="Review"],
[data-framer-name="No border"] [data-framer-name="Avatar Image"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hero : 2e pastille = WhatsApp (plus le « + ») */
[data-framer-name="Plus"] [data-framer-name="Face wrapper"] > [data-framer-name="Avatar Image"]:nth-child(n+2):not(.om-whatsapp-avatar-wrap) {
    display: none !important;
}

img.om-hero-single-avatar {
    object-fit: cover !important;
    border-radius: 50% !important;
}

[data-framer-name="Plus"] .om-whatsapp-avatar-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 50% !important;
    background: #25d366 !important;
    box-shadow: 0 0 0 2px #fff !important;
    z-index: 2 !important;
}

a.om-whatsapp-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    color: #fff !important;
    text-decoration: none !important;
}

svg.om-whatsapp-icon {
    width: 26px !important;
    height: 26px !important;
    display: block !important;
}

/* Notre équipe : un seul profil (PDG) */
[data-framer-name="Doctors"] [data-framer-name="Team"] > :nth-child(n+2) {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

[data-framer-name="Doctors"] [data-framer-name="Team"] {
    justify-content: center !important;
}

[data-framer-name="Doctors"] [data-framer-name="Team"] > :first-child {
    max-width: 320px;
    width: 100%;
}

[data-framer-name="Doctors"] [data-framer-name="Team"] img.om-pdg-photo {
    object-fit: cover !important;
    object-position: center top !important;
}

/* Loader désactivé (overlay noir masquait le contenu) */
#om-page-loader,
.om-page-loader {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Connexion : icône desktop, texte « Se connecter » dans le menu mobile */
a.om-user-nav {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    color: #fff !important;
    text-decoration: none;
    border-radius: 999px;
    margin-left: 0.15rem;
    vertical-align: middle;
}

a.om-user-nav .om-user-nav__label {
    display: none;
    font-family: Inter, "Golos Text", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}

a.om-user-nav svg,
a.om-user-nav .om-user-nav__icon {
    display: block;
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
}

a.om-user-nav:hover {
    color: var(--om-gold, #c9a84c) !important;
}

/* Menu mobile ouvert : texte « Se connecter », pas l’icône seule */
.framer-AcpiV.framer-v-v8da33 a.om-user-nav,
a.om-user-nav--menu,
[data-framer-name="Mobile Transparent"].framer-v-v8da33 a.om-user-nav {
    width: auto !important;
    height: auto !important;
    min-height: 28px;
    justify-content: flex-start !important;
    border-radius: 0 !important;
    margin: 0.35rem 0 0 !important;
    color: #fff !important;
}

.framer-AcpiV.framer-v-v8da33 a.om-user-nav .om-user-nav__icon,
a.om-user-nav--menu .om-user-nav__icon,
[data-framer-name="Mobile Transparent"].framer-v-v8da33 a.om-user-nav .om-user-nav__icon {
    display: none !important;
}

.framer-AcpiV.framer-v-v8da33 a.om-user-nav .om-user-nav__label,
a.om-user-nav--menu .om-user-nav__label,
[data-framer-name="Mobile Transparent"].framer-v-v8da33 a.om-user-nav .om-user-nav__label {
    display: inline !important;
}

/* Nav : largeur FR + clip du 2e libellé (animation hover Framer) */
[data-framer-name="Nav items"] {
    gap: 1.75rem !important;
    align-items: center !important;
}

[data-framer-name="Nav items"] a,
[data-framer-name="Desktop nav text"],
[data-framer-name="Desktop nav text"] p,
[data-framer-name="Desktop nav text"] span {
    color: #fafafa !important;
    text-decoration: none !important;
}

[data-framer-name="Nav items"] a:hover,
[data-framer-name="Desktop nav text"]:hover p {
    color: var(--om-gold) !important;
}

[data-framer-name="Desktop nav text"] {
    min-width: max-content !important;
    height: 22px !important;
    overflow: hidden !important;
}

[data-framer-name="Desktop nav text"] [data-framer-name="Container"] {
    width: max-content !important;
    min-width: max-content !important;
    height: 22px !important;
    overflow: hidden !important;
}

/* Lien Portfolio injecté : même style que les items Framer */
[data-framer-name="Nav items"] a.om-nav-portfolio {
    font-family: Inter, "Golos Text", sans-serif !important;
    font-size: 14px !important;
    line-height: 22px !important;
    color: #fafafa !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

/* Hero : s’assurer que le titre reste lisible au-dessus du média */
[data-framer-name="Hero"] h1,
[data-framer-name="Hero"] [data-framer-name="Left"] {
    position: relative;
    z-index: 2;
}

/* Apparitions fade up / down / left / right (toutes pages, mobile + desktop) */
.om-reveal-pending {
    opacity: 0 !important;
    visibility: visible !important;
    transform: translate3d(0, 28px, 0) !important;
    filter: none !important;
    pointer-events: none;
    will-change: opacity, transform;
}

.om-reveal-run-up {
    animation: om-fade-up 0.9s cubic-bezier(0.22, 1, 0.36, 1) both !important;
    pointer-events: auto;
}

.om-reveal-run-down {
    animation: om-fade-down 0.9s cubic-bezier(0.22, 1, 0.36, 1) both !important;
    pointer-events: auto;
}

.om-reveal-run-left {
    animation: om-fade-left 0.9s cubic-bezier(0.22, 1, 0.36, 1) both !important;
    pointer-events: auto;
}

.om-reveal-run-right {
    animation: om-fade-right 0.9s cubic-bezier(0.22, 1, 0.36, 1) both !important;
    pointer-events: auto;
}

@keyframes om-fade-up {
    from {
        opacity: 0;
        transform: translate3d(0, 42px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes om-fade-down {
    from {
        opacity: 0;
        transform: translate3d(0, -42px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes om-fade-left {
    from {
        opacity: 0;
        transform: translate3d(48px, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes om-fade-right {
    from {
        opacity: 0;
        transform: translate3d(-48px, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .om-reveal-pending,
    .om-reveal-run-up,
    .om-reveal-run-down,
    .om-reveal-run-left,
    .om-reveal-run-right {
        opacity: 1 !important;
        animation: none !important;
        transform: none !important;
        pointer-events: auto !important;
        will-change: auto !important;
    }
}

/* ========== Navbar / footer partagés (même structure que l’accueil) ========== */
.om-site-nav {
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 72px;
    height: 72px;
    padding: 0 clamp(1rem, 3vw, 2rem);
    background: #0b0b0b !important;
    color: #fafafa;
    font-family: Inter, "Golos Text", "Golos Text Variable", system-ui, sans-serif;
    box-sizing: border-box;
}

.om-site-nav__brand {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    text-decoration: none;
    height: 48px;
}

.om-site-nav__brand img.om-brand-logo {
    height: 44px !important;
    width: auto !important;
    max-width: 56px !important;
    object-fit: contain !important;
}

.om-site-nav__panel {
    display: flex !important;
    flex: 1 1 auto;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0;
}

.om-site-nav__items {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    flex: 1 1 auto;
    min-width: 0;
}

.om-site-nav__items a {
    color: #fafafa !important;
    text-decoration: none !important;
    font-size: 14px !important;
    line-height: 22px !important;
    white-space: nowrap;
}

.om-site-nav__items a:hover,
.om-site-nav__items a.is-active {
    color: var(--om-gold, #c9a84c) !important;
}

.om-site-nav__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
}

.om-site-nav__cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    height: 42px;
    padding: 0 1.15rem;
    border-radius: 999px;
    background: #fff !important;
    color: #0b0b0b !important;
    font-size: 14px !important;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
    box-sizing: border-box;
}

.om-site-nav__cta:hover {
    background: var(--om-gold, #c9a84c) !important;
    color: #0b0b0b !important;
}

.om-site-nav__toggle,
.om-site-nav__backdrop {
    display: none;
}

.om-site-nav__toggle {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0 0 0 auto;
    cursor: pointer;
    color: #fff;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    flex: 0 0 auto;
    z-index: 1002;
    position: relative;
}

.om-site-nav__toggle-bars,
.om-site-nav__toggle-bars::before,
.om-site-nav__toggle-bars::after {
    display: block;
    width: 20px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    transition: transform .28s ease, opacity .2s ease;
}

.om-site-nav__toggle-bars {
    position: relative;
}

.om-site-nav__toggle-bars::before,
.om-site-nav__toggle-bars::after {
    content: "";
    position: absolute;
    left: 0;
}

.om-site-nav__toggle-bars::before { top: -6px; }
.om-site-nav__toggle-bars::after { top: 6px; }

.om-site-nav.is-open .om-site-nav__toggle-bars {
    background: transparent;
}

.om-site-nav.is-open .om-site-nav__toggle-bars::before {
    top: 0;
    transform: rotate(45deg);
}

.om-site-nav.is-open .om-site-nav__toggle-bars::after {
    top: 0;
    transform: rotate(-45deg);
}

html.om-nav-lock,
html.om-nav-lock body {
    overflow: hidden;
}

.om-site-footer {
    background: #0b0b0b;
    color: rgba(255, 255, 255, 0.78);
    font-family: Inter, "Golos Text", "Golos Text Variable", system-ui, sans-serif;
    padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem) 1.75rem;
}

.om-site-footer__inner {
    max-width: 1120px;
    margin: 0 auto;
}

.om-site-footer__intro {
    margin-bottom: 2rem;
}

.om-site-footer__rating {
    margin: 0 0 0.35rem;
    font-size: 1.65rem;
    font-weight: 700;
    color: #fff;
}

.om-site-footer__tag,
.om-site-footer__motto {
    margin: 0.15rem 0;
    color: #fff;
    font-weight: 600;
}

.om-site-footer__note {
    margin: 0.55rem 0 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.92rem;
}

.om-site-footer__cols {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem 2rem;
    margin-bottom: 2rem;
}

.om-site-footer__cols h3 {
    margin: 0 0 0.85rem;
    color: #fff;
    font-size: 0.95rem;
}

.om-site-footer__cols a {
    display: block;
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    font-size: 0.92rem;
    margin: 0.35rem 0;
}

.om-site-footer__cols a:hover {
    color: var(--om-gold-light, #e8d5a3);
}

.om-site-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.75rem 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 0.9rem;
}

.om-site-footer__bottom p {
    margin: 0;
}

.om-site-footer__bottom a {
    color: var(--om-gold-light, #e8d5a3);
    text-decoration: none;
}

@media (max-width: 900px) {
    .om-site-nav {
        flex-wrap: nowrap !important;
        min-height: 64px;
        height: 64px;
        padding: 0 0.9rem;
        gap: 0.5rem;
    }

    .om-site-nav__brand {
        height: 40px;
    }

    .om-site-nav__brand img.om-brand-logo {
        height: 38px !important;
        max-width: 48px !important;
    }

    .om-site-nav__toggle {
        display: inline-flex !important;
    }

    .om-site-nav__backdrop {
        display: block !important;
        position: fixed;
        inset: 0;
        z-index: 1000;
        background: rgba(0, 0, 0, 0.5);
        opacity: 0;
        pointer-events: none;
        transition: opacity .35s ease;
    }

    .om-site-nav.is-open .om-site-nav__backdrop[hidden],
    .om-site-nav.is-open .om-site-nav__backdrop {
        display: block !important;
        opacity: 1;
        pointer-events: auto;
    }

    /* Tiroir : hors écran par défaut — plus de liens en 2 rangées sous la barre */
    .om-site-nav__panel {
        position: fixed !important;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        z-index: 1001;
        width: min(86vw, 360px) !important;
        max-width: 360px;
        height: 100dvh !important;
        min-height: 100vh;
        margin: 0 !important;
        padding: 5rem 1.35rem 1.75rem !important;
        flex: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 1.75rem !important;
        background: #0b0b0b !important;
        box-shadow: -18px 0 40px rgba(0, 0, 0, 0.35);
        transform: translate3d(110%, 0, 0);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition:
            transform .42s cubic-bezier(0.22, 1, 0.36, 1),
            opacity .35s ease,
            visibility .35s ease;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }

    .om-site-nav.is-open .om-site-nav__panel {
        transform: translate3d(0, 0, 0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .om-site-nav__items {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 1.1rem !important;
        width: 100% !important;
        overflow: visible !important;
    }

    .om-site-nav__items a {
        font-size: 1.12rem !important;
        line-height: 1.35 !important;
        padding: 0.15rem 0;
    }

    .om-site-nav__actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.85rem !important;
        width: 100% !important;
        margin-top: auto;
    }

    .om-site-nav__cta {
        width: 100% !important;
        justify-content: center !important;
        min-height: 48px !important;
        height: 48px !important;
    }

    /* Mobile : texte « Se connecter », pas l’icône seule */
    .om-site-nav .om-user-nav {
        width: auto !important;
        height: auto !important;
        min-height: 44px;
        justify-content: flex-start !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0.25rem 0;
        color: #fff !important;
        gap: 0;
    }

    .om-site-nav .om-user-nav .om-user-nav__icon {
        display: none !important;
    }

    .om-site-nav .om-user-nav .om-user-nav__label {
        display: inline !important;
        font-size: 1.05rem;
        font-weight: 500;
    }

    .om-site-footer__cols {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 901px) {
    .om-site-nav .om-user-nav.om-user-nav--menu .om-user-nav__label {
        display: none;
    }

    .om-site-nav .om-user-nav.om-user-nav--menu .om-user-nav__icon {
        display: block;
    }

    .om-site-nav .om-user-nav.om-user-nav--menu {
        width: 42px;
        height: 42px;
    }
}

/* ===== Hero slider + fade + waffle + form ===== */
[data-framer-name="Hero"].om-hero-has-slider {
    overflow: hidden !important;
    isolation: isolate;
    position: relative !important;
    min-height: min(88vh, 760px) !important;
    background-color: #0b0b0b !important;
}

.om-hero-slider {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background-color: #0b0b0b !important;
}

.om-hero-slide {
    position: absolute !important;
    inset: 0 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    opacity: 0 !important;
    transform: scale(1.06) !important;
    transition: opacity 1.35s ease, transform 6.5s ease !important;
}

.om-hero-slide.is-active {
    opacity: 1 !important;
    transform: scale(1) !important;
}

.om-hero-veil {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.62) 42%, rgba(0,0,0,.28) 68%, rgba(0,0,0,.45) 100%),
        linear-gradient(180deg, rgba(0,0,0,.25) 0%, transparent 35%, rgba(0,0,0,.35) 100%) !important;
}

[data-framer-name="Hero"] > *:not(.om-hero-slider):not(.om-hero-veil) {
    position: relative !important;
    z-index: 2 !important;
}

.om-hero-fade {
    opacity: 0 !important;
    transform: translateY(18px) !important;
    filter: blur(4px) !important;
    transition:
        opacity .9s cubic-bezier(.22,1,.36,1),
        transform .9s cubic-bezier(.22,1,.36,1),
        filter .9s cubic-bezier(.22,1,.36,1) !important;
    transition-delay: var(--om-fade-delay, 0ms) !important;
}

.om-hero-fade.is-visible {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

.om-hero-waffle {
    display: none !important; /* bande photos défilantes retirée */
    position: relative;
    z-index: 3;
    margin-top: -42px;
    padding: 0 1.25rem 1.75rem;
    background: transparent;
}

.om-hero-waffle__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(140px, 1fr);
    gap: .75rem;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(201,168,76,.28);
    background: #0b0b0b;
    box-shadow: 0 18px 40px rgba(0,0,0,.22);
    animation: omWaffleScroll 28s linear infinite;
    width: max-content;
    min-width: 100%;
}

.om-hero-waffle__cell {
    width: 180px;
    height: 110px;
    overflow: hidden;
}

.om-hero-waffle__cell img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    filter: saturate(.92) contrast(1.05);
    transition: transform .4s ease, filter .4s ease;
}

.om-hero-waffle__cell:hover img {
    transform: scale(1.06);
    filter: saturate(1.05) contrast(1.08);
}

@keyframes omWaffleScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .om-hero-waffle__track { animation: none !important; }
    .om-hero-slide { transition: none !important; }
    .om-hero-fade { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* Formulaire hero : inputs plus soignés */
[data-framer-name="Hero"] [data-framer-name="Form"] .om-form-control,
[data-framer-name="Hero"] form .om-form-control,
[data-framer-name="Hero"] [data-framer-name="Form"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
[data-framer-name="Hero"] [data-framer-name="Form"] textarea,
[data-framer-name="Hero"] [data-framer-name="Form"] select {
    min-height: 50px !important;
    padding: 13px 15px !important;
    border-radius: 12px !important;
    border: 1.5px solid color-mix(in srgb, var(--om-gold) 50%, #d6d0c2) !important;
    background: #fff !important;
    color: #111 !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 8px 18px rgba(11,11,11,.04) !important;
}

[data-framer-name="Hero"] [data-framer-name="Form"] textarea {
    min-height: 110px !important;
}

[data-framer-name="Hero"] [data-framer-name="Form"] .om-form-control:focus,
[data-framer-name="Hero"] [data-framer-name="Form"] input:focus,
[data-framer-name="Hero"] [data-framer-name="Form"] textarea:focus,
[data-framer-name="Hero"] [data-framer-name="Form"] select:focus {
    border-color: var(--om-gold) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--om-gold) 24%, transparent) !important;
}

[data-framer-name="Hero"] [data-framer-name="Form"] button[type="submit"],
[data-framer-name="Hero"] form button[type="submit"] {
    border-radius: 12px !important;
    min-height: 52px !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
}

@media (max-width: 800px) {
    .om-hero-waffle {
        display: none !important;
    }
}

/* ===== Mobile : menu slide droite → gauche + fade ===== */
@keyframes om-mobile-menu-in {
    from {
        opacity: 0;
        transform: translate3d(28px, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.framer-AcpiV.framer-v-v8da33,
nav.om-mobile-nav.framer-v-v8da33 {
    animation: om-mobile-menu-in 0.42s cubic-bezier(0.22, 1, 0.36, 1) both !important;
    will-change: transform, opacity;
}

.framer-AcpiV.framer-v-v8da33.framer-1am4r9l,
.framer-AcpiV.framer-v-v8da33 {
    width: min(100vw - 24px, 420px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: 12px !important;
    box-sizing: border-box !important;
    background: rgba(11, 11, 11, 0.96) !important;
    border-radius: 16px !important;
    padding: 16px !important;
    overflow: visible !important;
}

.framer-AcpiV.framer-v-v8da33 .framer-wye0lu,
.framer-AcpiV.framer-v-v8da33 [data-framer-name="Nav items"] {
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* ===== Mobile : plus d’overflow-x bloquant + swipe + centrage ===== */
@media (max-width: 809.98px) {
    html,
    body,
    #main,
    [data-framer-root],
    .framer-yd79V {
        overflow-x: visible !important;
        max-width: 100% !important;
    }

    body {
        width: 100% !important;
    }

    [data-framer-root],
    .framer-yd79V,
    [data-framer-name="Main"],
    [data-framer-name="Hero"],
    [data-framer-name="Container"],
    section[data-framer-name],
    .framer-kcrqvk {
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }

    /* Bandes / carrousels : swipe gauche-droite autorisé */
    [data-framer-component-type="Scroll"],
    [data-framer-component-type="NativeScroll"],
    [data-framer-component-type="NativeScroll"].direction-horizontal,
    [data-framer-name="Ticker"],
    [data-framer-name="Ticker"] section {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x pan-y !important;
        overscroll-behavior-x: contain;
    }

    [data-framer-name="Ticker"],
    [data-framer-name="Ticker"] section {
        overflow: auto !important;
    }

    /* Contenu mieux centré / compact sur mobile */
    [data-framer-name="Hero"] > *:not(.om-hero-slider):not(.om-hero-veil),
    [data-framer-name="Main"] > *,
    [data-framer-name="Content Wrapper"],
    [data-framer-name="Heading"],
    [data-framer-name="Title"],
    [data-framer-name="Text Container"] {
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    nav.framer-AcpiV.framer-v-gww58,
    nav.framer-AcpiV.framer-v-1deylig,
    [data-framer-name="Mobile Transparent"] {
        width: 100% !important;
        max-width: 100vw !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* Bouton WhatsApp flottant bien cliquable */
    [data-code-component-plugin-id="84d4c1"] {
        z-index: 60 !important;
    }

    [data-code-component-plugin-id="84d4c1"] button,
    [data-code-component-plugin-id="84d4c1"] a {
        cursor: pointer !important;
    }
}
