/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
    text-decoration-thickness: 1px !important;
    text-underline-offset: 0.1em;
    outline: 0;
}

@media screen and (max-width: 989px) {
    .wp-block-navigation__responsive-container-close {
        right: 0;
        left: initial;
        top: 20px;
    }

    .header-menu {
        background-color: transparent !important;
        padding: 0 !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__responsive-container-content {
        padding-top: calc(1rem + 24px);
    }

    .wp-block-navigation:not(.has-background)
        .wp-block-navigation__responsive-container.is-menu-open {
        background-color: var(--wp--preset--color--contrast);
    }

    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__responsive-container-content
        .wp-block-navigation-item,
    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__responsive-container-content
        .wp-block-navigation__container {
        width: 100%;
        align-items: flex-start;
        text-transform: uppercase;
        gap: 0;
    }

    .wp-block-navigation__responsive-container-content
        > ul
        > .wp-block-navigation-item {
        padding: 20px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    .wp-block-navigation__responsive-container-content
        > ul
        > .wp-block-navigation-submenu
        > ul {
        padding-top: 20px;
        padding-bottom: 0;
    }
    .wp-block-navigation__responsive-container-content
        > ul
        > .wp-block-navigation-submenu
        > ul
        > li {
        margin-bottom: 0 !important;
        padding: 10px 0;
    }

    .wp-block-navigation__responsive-container-content
        > ul
        > .wp-block-navigation-submenu
        > ul
        > li
        a {
        padding: 0 !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__responsive-container-content
        .wp-block-navigation__submenu-icon {
        display: block;
        height: 12px;
        width: 12px;
        position: absolute;
        right: 0;
        top: initial;
        transform: rotate(-90deg);
        transition: transform 0.3s ease;
        outline: none;
    }

    /* Accordion functionality */
    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation-item.has-child {
        position: relative;
    }

    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation__submenu-container {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.35s ease-in-out;
        width: 100% !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        background-color: transparent !important;
        padding-top: 0px !important;
        padding-bottom: 0 !important;
        box-shadow: none !important;
        display: block !important;
        border: none !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation-item.is-submenu-open
        > .wp-block-navigation__submenu-container {
        padding-top: 10px !important;
        transform: padding-top 0.3s ease-out;
    }

    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation-item.is-submenu-open
        .wp-block-navigation-submenu__toggle,
    .wp-block-navigation__responsive-container.is-menu-open
        .wp-block-navigation-item.is-submenu-open
        .wp-block-navigation__submenu-icon {
        transform: rotate(0);
    }

    .wp-block-navigation__responsive-container-open {
        outline: none;
    }
}

.wp-block-navigation:not(.has-background)
    .wp-block-navigation__responsive-container.is-menu-open:not(
        .disable-default-overlay
    ) {
    background-color: var(--wp--preset--color--contrast);
}

/* Change the WordPress default css to a 1023px media query */
@media (min-width: 990px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(
            .is-menu-open
        ) {
        display: block !important;
        width: 100%;
        position: relative;
        z-index: auto;
    }
}

/* Remove the WordPress default for 600px */
@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(
            .is-menu-open
        ) {
        display: none;
    }
}

.wp-block-navigation ul li:focus {
    outline: none;
}

.pess-energy-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    transition: all 0.35s ease 0.2s;
}

.pess-energy-header:not(.header-on-top) {
    background-color: var(--wp--preset--color--contrast);
    transition: all 0.35s ease;
}

.single-post .pess-energy-header:not(.header-hidden) {
    box-shadow: 0px 7px 15px 7px rgba(0, 0, 0, 0.4);
}

/* Hidden state – slides header out of view */
.pess-energy-header.header-hidden {
    transform: translateY(-100%);
    box-shadow: none;
    transition: all 0.3s ease 0.2s;
}

@media (min-width: 990px) {
    .pess-energy-header .wp-block-site-logo,
    .pess-energy-header .cta-header {
        max-width: 265px;
        width: 100%;
    }

    .pess-energy-header
        ul:not(.wp-block-navigation-submenu)
        .wp-block-navigation-item {
        padding: 10px 24px;
    }

    .pess-energy-header
        ul.wp-block-navigation-submenu
        .wp-block-navigation-item {
        padding: 4px 10px;
    }

    .pess-energy-header ul.wp-block-navigation-submenu {
        padding: 10px 0;
    }

    .pess-energy-header
        ul:not(.wp-block-navigation-submenu)
        > .wp-block-navigation-item {
        cursor: pointer;
    }

    /* main item menu hover */
    .pess-energy-header
        ul:not(.wp-block-navigation-submenu)
        > .wp-block-navigation-item:hover
        > .wp-block-navigation-item__content {
        text-decoration: none;
        color: var(--wp--preset--color--base);
        cursor: pointer;
    }

    /* submenu hover */
    .pess-energy-header
        ul.wp-block-navigation-submenu
        > .wp-block-navigation-item:hover
        .wp-block-navigation-item__content,
    .pess-energy-header
        ul.wp-block-navigation-submenu
        > .wp-block-navigation-item.current-menu-item
        .wp-block-navigation-item__content {
        text-decoration: none;
        color: var(--wp--preset--color--accent-1);
    }

    .pess-energy-header
        ul.wp-block-navigation-submenu
        > .wp-block-navigation-item:hover {
        background-color: rgba(255, 255, 255, 0.1);
        cursor: pointer;
    }
    /* end */

    .pess-energy-header .wp-block-navigation-item__content::after {
        content: "";
        position: absolute;
        left: 0;
        top: 100%;
        width: 100%;
        height: 12px;
    }

    .pess-energy-header .current-menu-ancestor,
    .pess-energy-header .wp-block-navigation__container > li.current-menu-item {
        background-color: rgba(255, 255, 255, 0.18);
        padding-right: 24px;
        border-radius: 100px;
    }
}

.wp-block-navigation .wp-block-navigation__submenu-icon {
    background-color: initial;
    height: 0.8em;
    width: 1em;
    margin-left: 0.5em;
}

.wp-block-navigation__submenu-container {
    overflow: hidden !important;
}

.wp-block-navigation:not(.has-background)
    .wp-block-navigation__submenu-container {
    background-color: var(--wp--preset--color--contrast);
    border-radius: 4px;
    top: calc(100% + 11px);
}

/* hamburger button */
.wp-block-navigation__responsive-container-open svg {
    width: 32px;
    height: 32px;
    color: var(--wp--preset--color--base);
}

.submenu-bullet-list.wp-block-navigation-submenu
    > ul
    .wp-block-navigation-item__content {
    margin-left: 5px !important;
}

/* submenu bullet list */
.submenu-bullet-list.wp-block-navigation-submenu
    > ul
    .wp-block-navigation-item__content::before {
    width: 10px;
    height: 10px;
    border-radius: 100px;
    background-color: currentColor;
    position: absolute;
    display: block;
    content: "";
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}

@media screen and (max-width: 989px) {
    .submenu-bullet-list.wp-block-navigation-submenu
        > ul
        .wp-block-navigation-item__content::before {
        left: -12px;
    }
}

.submenu-bullet-list.wp-block-navigation-submenu
    > ul
    li.audiovisuel
    .wp-block-navigation-item__content::before {
    color: var(--wp--preset--color--accent-3);
}

.submenu-bullet-list.wp-block-navigation-submenu
    > ul
    li.evenementiel
    .wp-block-navigation-item__content::before {
    color: var(--wp--preset--color--accent-4);
}

.submenu-bullet-list.wp-block-navigation-submenu
    > ul
    li.btp
    .wp-block-navigation-item__content::before {
    color: var(--wp--preset--color--accent-5);
}

.submenu-bullet-list.wp-block-navigation-submenu
    > ul
    li.urgence
    .wp-block-navigation-item__content::before {
    color: var(--wp--preset--color--accent-6);
}

/* header button color */
body:has(.page-audiovisuel)
    .cta-header
    .wp-block-button:not(.is-style-outline)
    .wp-block-button__link,
body:has(.page-audiovisuel) .button-devis .wp-block-button__link {
    background-color: var(--wp--preset--color--accent-3);
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--accent-3);
}

body:has(.page-evenement)
    .cta-header
    .wp-block-button:not(.is-style-outline)
    .wp-block-button__link,
body:has(.page-evenement) .button-devis .wp-block-button__link {
    background-color: var(--wp--preset--color--accent-4);
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--accent-4);
}

body:has(.page-btp)
    .cta-header
    .wp-block-button:not(.is-style-outline)
    .wp-block-button__link,
body:has(.page-btp) .button-devis .wp-block-button__link {
    background-color: var(--wp--preset--color--accent-5);
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--accent-5);
}

body:has(.page-urgence)
    .cta-header
    .wp-block-button:not(.is-style-outline)
    .wp-block-button__link,
body:has(.page-urgence) .button-devis .wp-block-button__link {
    background-color: var(--wp--preset--color--accent-6);
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--accent-6);
}

/* body:has(.page-audiovisuel)
    .cta-header
    .wp-block-button:not(.is-style-outline)
    .wp-block-button__link:hover {
} */

.single-post .pess-energy-header,
.search-results .pess-energy-header,
.error404 .pess-energy-header {
    background-color: var(--wp--preset--color--contrast);
}

.single-post .pess-energy-header.header-on-top,
.search-results .pess-energy-header.header-on-top,
.error404 .pess-energy-header.header-on-top {
    box-shadow: 0px 7px 15px 7px rgba(0, 0, 0, 0.4);
}

.wp-block-categories .current-cat a {
    background-color: var(--wp--preset--color--contrast);
    color: var(--wp--preset--color--base);
}

/* Button hover animations */
.wp-block-button .wp-block-button__link {
    --pess-button-rgb: 255, 238, 88;
    --pess-button-hover-text: var(--wp--preset--color--contrast);
    isolation: isolate;
    overflow: hidden;
    position: relative;
    transition:
        background-color 220ms ease,
        background-size 260ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease,
        color 220ms ease,
        filter 220ms ease,
        transform 220ms ease;
    will-change: transform;
}

.wp-block-button .wp-block-button__link::after {
    background: linear-gradient(
        110deg,
        transparent 0%,
        rgba(255, 255, 255, 0.32) 45%,
        transparent 70%
    );
    content: "";
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transform: translateX(-130%) skewX(-18deg);
    transition:
        opacity 220ms ease,
        transform 520ms ease;
}

.wp-block-button .wp-block-button__link.has-base-background-color,
.wp-block-button .wp-block-button__link.has-base-border-color {
    --pess-button-rgb: 255, 255, 255;
    --pess-button-hover-text: var(--wp--preset--color--contrast);
}

.wp-block-button .wp-block-button__link.has-contrast-background-color,
.wp-block-button .wp-block-button__link.has-contrast-border-color {
    --pess-button-rgb: 10, 10, 10;
    --pess-button-hover-text: var(--wp--preset--color--base);
}

.wp-block-button .wp-block-button__link.has-accent-1-background-color,
.wp-block-button .wp-block-button__link.has-accent-1-border-color {
    --pess-button-rgb: 255, 238, 88;
    --pess-button-hover-text: var(--wp--preset--color--contrast);
}

.wp-block-button .wp-block-button__link.has-accent-2-background-color,
.wp-block-button .wp-block-button__link.has-accent-2-border-color {
    --pess-button-rgb: 154, 153, 147;
    --pess-button-hover-text: var(--wp--preset--color--base);
}

.wp-block-button .wp-block-button__link.has-accent-3-background-color,
.wp-block-button .wp-block-button__link.has-accent-3-border-color {
    --pess-button-rgb: 243, 73, 43;
    --pess-button-hover-text: var(--wp--preset--color--base);
}

.wp-block-button .wp-block-button__link.has-accent-4-background-color,
.wp-block-button .wp-block-button__link.has-accent-4-border-color {
    --pess-button-rgb: 171, 144, 233;
    --pess-button-hover-text: var(--wp--preset--color--base);
}

.wp-block-button .wp-block-button__link.has-accent-5-background-color,
.wp-block-button .wp-block-button__link.has-accent-5-border-color {
    --pess-button-rgb: 255, 136, 56;
    --pess-button-hover-text: var(--wp--preset--color--contrast);
}

.wp-block-button .wp-block-button__link.has-accent-6-background-color,
.wp-block-button .wp-block-button__link.has-accent-6-border-color {
    --pess-button-rgb: 70, 104, 64;
    --pess-button-hover-text: var(--wp--preset--color--base);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
    box-shadow: 0 18px 32px -22px rgba(var(--pess-button-rgb), 0.85);
    filter: saturate(1.08) brightness(0.96);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover::after {
    opacity: 1;
    transform: translateX(130%) skewX(-18deg);
}

.wp-block-button.is-style-outline .wp-block-button__link {
    background-image: linear-gradient(
        90deg,
        rgb(var(--pess-button-rgb)) 0%,
        rgb(var(--pess-button-rgb)) 100%
    );
    background-repeat: no-repeat;
    background-size: 0% 100%;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-size: 100% 100%;
    border-color: rgb(var(--pess-button-rgb)) !important;
    box-shadow: 0 18px 32px -22px rgba(var(--pess-button-rgb), 0.85);
    color: var(--pess-button-hover-text) !important;
}

.wp-block-button .wp-block-button__link:active {
    box-shadow: 0 8px 18px -14px rgba(var(--pess-button-rgb), 0.75);
}

.wp-block-button .wp-block-button__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .wp-block-button .wp-block-button__link,
    .wp-block-button .wp-block-button__link::after {
        transition: none;
    }

    .wp-block-button .wp-block-button__link:hover,
    .wp-block-button .wp-block-button__link:active {
        transform: none;
    }
}
