/*
 * CB Territory — Shared Reportages Menu
 * Basé sur /reportages-photos-mariage/
 */

body.cb-territory-page {
    --cb-serif: "Cormorant Garamond", Georgia, serif;
    --cb-sans: Manrope, system-ui, sans-serif;
}


/* ------------------------------------------------------------
   Nettoyage des anciens prototypes
   ------------------------------------------------------------ */

body.cb-territory-page .cb-territory-shell,
body.cb-territory-page .cb-territory-mobile-menu {
    display:none!important;
}


/* ------------------------------------------------------------
   BASE HEADER
   ------------------------------------------------------------ */

body.cb-territory-page #cbReportagesSharedHeader {
    position:fixed!important;

    top:14px!important;
    left:50%!important;
    right:auto!important;

    z-index:99980!important;

    width:min(1240px,calc(100vw - 36px))!important;
    min-height:58px!important;

    margin:0!important;
    padding:0 14px!important;

    transform:translateX(-50%)!important;

    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;

    gap:18px!important;

    overflow:visible!important;

    background:rgba(17,13,10,.58)!important;

    border:
        1px solid rgba(255,255,255,.12)!important;

    border-radius:999px!important;

    box-shadow:
        0 16px 50px rgba(0,0,0,.18)!important;

    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;

    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
}


/* ------------------------------------------------------------
   BRAND
   ------------------------------------------------------------ */

body.cb-territory-page
#cbReportagesSharedHeader .cb-brand {
    display:inline-flex!important;
    align-items:center!important;

    gap:12px!important;

    min-width:300px!important;

    color:#fff!important;
    text-decoration:none!important;

    pointer-events:auto!important;
}


body.cb-territory-page
#cbReportagesSharedHeader .cb-brand-mark {
    width:42px!important;
    height:42px!important;

    display:grid!important;
    place-items:center!important;

    flex:0 0 42px!important;

    border-radius:50%!important;

    border:
        1px solid rgba(229,208,170,.72)!important;

    background:
        radial-gradient(
            circle at 35% 25%,
            rgba(255,255,255,.18),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            rgba(199,166,111,.32),
            rgba(255,255,255,.05)
        )!important;

    color:#f5e9d7!important;

    font-family:var(--cb-serif)!important;

    font-size:19px!important;
    font-weight:600!important;

    letter-spacing:-.08em!important;
    line-height:1!important;

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.06)!important;
}


body.cb-territory-page
#cbReportagesSharedHeader .cb-brand-text {
    display:block!important;
    min-width:0!important;
}


body.cb-territory-page
#cbReportagesSharedHeader .cb-brand-text strong {
    display:block!important;

    color:#fff8ef!important;

    font-family:var(--cb-serif)!important;

    font-size:22px!important;
    line-height:.9!important;

    font-weight:600!important;
    letter-spacing:-.035em!important;

    white-space:nowrap!important;
}


body.cb-territory-page
#cbReportagesSharedHeader .cb-brand-seo-title {
    display:block!important;

    margin-top:6px!important;

    color:#fff!important;
    opacity:.72!important;

    font-family:var(--cb-sans)!important;

    font-size:9px!important;
    line-height:1!important;

    text-transform:uppercase!important;
    letter-spacing:.22em!important;

    white-space:nowrap!important;
}


/* ------------------------------------------------------------
   NAV DESKTOP
   ------------------------------------------------------------ */

body.cb-territory-page
#cbReportagesSharedHeader .cb-nav {
    display:flex!important;

    align-items:center!important;
    justify-content:flex-end!important;

    gap:18px!important;

    margin:0!important;

    visibility:visible!important;
    opacity:1!important;

    pointer-events:auto!important;
}


body.cb-territory-page
#cbReportagesSharedHeader .cb-nav > a {
    padding:10px 2px!important;

    border-radius:0!important;

    color:#fff!important;
    background:transparent!important;

    text-decoration:none!important;

    font-family:var(--cb-sans)!important;

    font-size:11px!important;
    line-height:1!important;

    font-weight:600!important;

    letter-spacing:.12em!important;
    text-transform:uppercase!important;

    pointer-events:auto!important;
}


body.cb-territory-page
#cbReportagesSharedHeader .cb-nav > a:not(.cb-cta) {
    opacity:.86!important;
}


body.cb-territory-page
#cbReportagesSharedHeader .cb-nav > a:not(.cb-cta):hover {
    opacity:1!important;
}


body.cb-territory-page
#cbReportagesSharedHeader .cb-cta {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    min-height:38px!important;

    padding:0 18px!important;

    border-radius:999px!important;

    color:#17110d!important;

    background:#f0d9af!important;

    border:
        1px solid #f0d9af!important;

    font-weight:800!important;
}


/* ------------------------------------------------------------
   LANGUES
   ------------------------------------------------------------ */

body.cb-territory-page
#cbReportagesSharedHeader .cb-lang-switch {
    display:inline-flex!important;

    align-items:center!important;

    gap:2px!important;

    margin:0!important;
    padding:3px!important;

    border:
        1px solid rgba(255,255,255,.14)!important;

    border-radius:999px!important;

    background:
        rgba(255,255,255,.06)!important;
}


body.cb-territory-page
#cbReportagesSharedHeader .cb-lang-switch a {
    padding:7px 8px!important;

    color:#fff!important;

    text-decoration:none!important;

    font-family:var(--cb-sans)!important;

    font-size:9px!important;

    letter-spacing:.10em!important;
}


body.cb-territory-page
#cbReportagesSharedHeader
.cb-lang-switch .is-current {
    background:
        rgba(255,255,255,.14)!important;

    border-radius:999px!important;
}


/* Burger du header desktop non utilisé */

body.cb-territory-page
#cbReportagesSharedHeader .cb-menu-toggle {
    display:none!important;
}


/* ------------------------------------------------------------
   PORTAIL MOBILE
   ------------------------------------------------------------ */

body.cb-territory-page .cb-mobile-portal-v92 {
    display:none!important;
}


@media(max-width:980px) {

    body.cb-territory-page
    #cbReportagesSharedHeader.cb-reportages-shared-header {
        display:none!important;
    }


    body.cb-territory-page .cb-mobile-portal-v92 {
        position:relative!important;

        display:block!important;

        visibility:visible!important;
        opacity:1!important;

        pointer-events:none!important;

        z-index:99990!important;
    }


    /* checkbox */

    body.cb-territory-page
    .cb-mobile-menu-checkbox-v92 {
        position:fixed!important;

        top:0!important;
        left:0!important;

        width:1px!important;
        height:1px!important;

        opacity:0!important;

        pointer-events:none!important;

        z-index:-1!important;
    }


    /* hamburger */

    body.cb-territory-page
    .cb-mobile-hero-menu-v92 {
        position:fixed!important;

        top:0!important;
        left:0!important;

        z-index:2147483647!important;

        display:grid!important;
        place-items:center!important;

        width:70px!important;
        height:68px!important;

        padding:0!important;

        border:0!important;

        border-radius:
            0 0 26px 0!important;

        background:
            linear-gradient(
                135deg,
                rgba(255,255,255,.20),
                rgba(255,255,255,.07)
            )!important;

        box-shadow:
            0 16px 36px rgba(0,0,0,.22),
            inset 1px 1px 0 rgba(255,255,255,.22)!important;

        backdrop-filter:
            blur(16px)!important;

        -webkit-backdrop-filter:
            blur(16px)!important;

        pointer-events:auto!important;

        cursor:pointer!important;
    }


    body.cb-territory-page
    .cb-mobile-hero-menu-mark-v92 {
        position:relative!important;

        display:block!important;

        width:26px!important;
        height:18px!important;
    }


    body.cb-territory-page
    .cb-mobile-hero-menu-line-v92 {
        position:absolute!important;

        left:0!important;

        display:block!important;

        height:2px!important;

        border-radius:999px!important;

        background:
            linear-gradient(
                90deg,
                rgba(255,248,238,.96),
                rgba(222,218,208,.86)
            )!important;

        transform-origin:center!important;

        transition:
            transform .28s ease,
            top .28s ease,
            opacity .22s ease!important;
    }


    body.cb-territory-page .line-1 {
        top:2px!important;
        width:26px!important;
    }

    body.cb-territory-page .line-2 {
        top:8px!important;
        width:19px!important;
    }

    body.cb-territory-page .line-3 {
        top:14px!important;
        width:26px!important;
    }


    body.cb-territory-page
    #cbSharedMobileMenuToggleV92:checked
    + .cb-mobile-hero-menu-v92
    .line-1 {
        top:8px!important;
        transform:rotate(45deg)!important;
    }


    body.cb-territory-page
    #cbSharedMobileMenuToggleV92:checked
    + .cb-mobile-hero-menu-v92
    .line-2 {
        opacity:0!important;
    }


    body.cb-territory-page
    #cbSharedMobileMenuToggleV92:checked
    + .cb-mobile-hero-menu-v92
    .line-3 {
        top:8px!important;
        transform:rotate(-45deg)!important;
    }


    /* --------------------------------------------------------
       FULLSCREEN MENU
       -------------------------------------------------------- */

    body.cb-territory-page
    .cb-mobile-fullscreen-menu-v92 {
        position:fixed!important;

        inset:0!important;

        z-index:2147483645!important;

        display:block!important;

        width:100vw!important;
        height:100dvh!important;

        opacity:0!important;
        visibility:hidden!important;

        pointer-events:none!important;

        transition:
            opacity .28s ease,
            visibility .28s ease!important;
    }


    body.cb-territory-page
    #cbSharedMobileMenuToggleV92:checked
    ~ .cb-mobile-fullscreen-menu-v92 {
        opacity:1!important;
        visibility:visible!important;

        pointer-events:auto!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-bg-v92 {
        position:absolute!important;

        inset:0!important;

        z-index:1!important;

        display:block!important;

        background:
            radial-gradient(
                circle at 72% 14%,
                rgba(219,177,105,.20),
                transparent 32%
            ),
            radial-gradient(
                circle at 18% 82%,
                rgba(255,255,255,.08),
                transparent 30%
            ),
            linear-gradient(
                180deg,
                rgba(7,5,4,.96),
                rgba(4,3,3,.985)
            )!important;

        backdrop-filter:
            blur(20px)!important;

        -webkit-backdrop-filter:
            blur(20px)!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-panel-v92 {
        position:relative!important;

        z-index:3!important;

        display:flex!important;
        flex-direction:column!important;

        width:100vw!important;

        height:100dvh!important;
        min-height:0!important;
        max-height:100dvh!important;

        padding:
            calc(64px + env(safe-area-inset-top))
            20px
            calc(18px + env(safe-area-inset-bottom))
            20px!important;

        box-sizing:border-box!important;

        overflow-y:auto!important;
        overflow-x:hidden!important;

        -webkit-overflow-scrolling:
            touch!important;

        color:#fff8ed!important;
    }


    /* --------------------------------------------------------
       MARQUE
       -------------------------------------------------------- */

    body.cb-territory-page
    .cb-mobile-menu-brand-v92 {
        position:relative!important;

        width:100%!important;
        max-width:326px!important;

        margin:0 auto 22px!important;

        padding:
            18px 16px 20px!important;

        box-sizing:border-box!important;

        display:flex!important;
        flex-direction:column!important;

        align-items:center!important;
        justify-content:center!important;

        gap:12px!important;

        text-align:center!important;

        flex-shrink:0!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-brand-v92::before,
    body.cb-territory-page
    .cb-mobile-menu-brand-v92::after {
        content:""!important;

        position:absolute!important;

        width:76px!important;
        height:50px!important;

        opacity:.82!important;

        pointer-events:none!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-brand-v92::before {
        top:0!important;
        left:0!important;

        border-top:
            1px solid rgba(243,230,202,.62)!important;

        border-left:
            1px solid rgba(243,230,202,.58)!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-brand-v92::after {
        right:0!important;
        bottom:0!important;

        border-right:
            1px solid rgba(243,230,202,.52)!important;

        border-bottom:
            1px solid rgba(243,230,202,.50)!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-brand-mark-v92 {
        width:44px!important;
        height:44px!important;

        display:grid!important;
        place-items:center!important;

        margin:0 auto 2px!important;

        border-radius:999px!important;

        border:
            1px solid rgba(244,225,186,.34)!important;

        background:
            rgba(255,255,255,.055)!important;

        color:#f4e1bb!important;

        font-family:var(--cb-serif)!important;

        font-size:18px!important;
        line-height:1!important;

        font-weight:500!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-brand-text-v92 {
        width:100%!important;
        max-width:300px!important;

        display:flex!important;
        flex-direction:column!important;

        align-items:center!important;

        gap:8px!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-brand-text-v92 strong {
        width:100%!important;

        text-align:center!important;

        color:#fff4df!important;

        font-family:var(--cb-serif)!important;

        font-size:27px!important;
        line-height:.98!important;

        font-weight:500!important;

        letter-spacing:-.025em!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-brand-text-v92 span {
        width:100%!important;

        text-align:center!important;

        color:#dcb469!important;

        font-family:var(--cb-sans)!important;

        font-size:8.6px!important;
        line-height:1.42!important;

        font-weight:800!important;

        letter-spacing:.13em!important;

        text-transform:uppercase!important;
    }


    /* --------------------------------------------------------
       LIENS
       -------------------------------------------------------- */

    body.cb-territory-page
    .cb-mobile-menu-links-v92 {
        display:grid!important;

        width:100%!important;
        max-width:326px!important;

        margin:0 auto!important;

        border-top:
            1px solid rgba(244,225,186,.14)!important;

        border-bottom:
            1px solid rgba(244,225,186,.14)!important;

        flex-shrink:0!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-links-v92 a {
        display:flex!important;

        align-items:center!important;
        justify-content:space-between!important;

        width:100%!important;

        min-height:49px!important;

        box-sizing:border-box!important;

        color:
            rgba(255,248,238,.92)!important;

        text-decoration:none!important;

        font-family:var(--cb-sans)!important;

        font-size:12px!important;

        font-weight:800!important;

        letter-spacing:.14em!important;

        text-transform:uppercase!important;

        border-bottom:
            1px solid rgba(244,225,186,.10)!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-links-v92 a::after {
        content:"→";

        color:#d7b06a;

        font-size:16px;
    }


    /* --------------------------------------------------------
       CTA BAS
       -------------------------------------------------------- */

    body.cb-territory-page
    .cb-mobile-menu-bottom-v92 {
        position:relative!important;

        display:grid!important;

        grid-template-columns:1fr!important;

        gap:10px!important;

        width:100%!important;
        max-width:326px!important;

        margin:22px auto 0!important;

        padding:0!important;

        flex-shrink:0!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-bottom-v92 a {
        display:flex!important;

        align-items:center!important;
        justify-content:center!important;

        width:100%!important;

        min-height:50px!important;

        padding:0 18px!important;

        box-sizing:border-box!important;

        border-radius:999px!important;

        text-align:center!important;

        text-decoration:none!important;

        font-family:var(--cb-sans)!important;

        font-size:11px!important;

        font-weight:800!important;

        letter-spacing:.12em!important;

        text-transform:uppercase!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-soft-v92 {
        color:
            rgba(255,248,238,.88)!important;

        background:
            rgba(255,255,255,.055)!important;

        border:
            1px solid rgba(244,225,186,.14)!important;
    }


    body.cb-territory-page
    .cb-mobile-menu-primary-v92 {
        color:#15100d!important;

        background:#f1d08a!important;

        border:
            1px solid rgba(244,225,186,.82)!important;
    }


    /* --------------------------------------------------------
       OUVERTURE
       -------------------------------------------------------- */

    html.cb-shared-menu-v92-lock {
        overflow:hidden!important;
    }


    body.cb-territory-page.cb-shared-menu-v92-open {
        overflow:hidden!important;
    }
}
