html {
    scroll-behavior: smooth;
}

p,
li,
h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: pretty;
    word-break: keep-all;
}

/* Gravity Forms */

.form--hide-legend_wrapper .gform_required_legend {
    display: none;
}

/* desktop header menu custom styles */

@media screen and (min-width: 600px) {
    header.wp-block-template-part .wp-block-navigation a {
        text-decoration: underline;
        text-decoration-color: transparent;
        text-underline-offset: 5px;
        transition: text-decoration-color 0.3s ease;
    }

    header.wp-block-template-part .wp-block-navigation li:hover > a,
    header.wp-block-template-part .wp-block-navigation li:focus > a,
    header.wp-block-template-part .wp-block-navigation .wp-block-navigation-link a:hover,
    header.wp-block-template-part .wp-block-navigation .wp-block-navigation-link a:focus {
        text-decoration-color: currentcolor;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-button__link {
        line-height: 1;
        padding: 1rem;
    }

    header.wp-block-template-part .wp-block-navigation ul.wp-block-navigation__container > li > .wp-block-navigation-item__content {
        align-items: center;
        background-color: var(--wp--preset--color--neutral);
        border-radius: 50vw;
        display: flex;
        gap: 0.5rem;
        justify-content: space-between;
        line-height: 1;
        padding: 1rem;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container {
        border: none;
        border-bottom-left-radius: 6px;
        border-bottom-right-radius: 20px;
        overflow: hidden !important;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container > li:first-child > .wp-block-navigation-item__content {
        padding-top: 1.5rem;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container > li:last-child > .wp-block-navigation-item__content {
        padding-bottom: 2rem;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container li.wp-block-navigation-link > .wp-block-navigation-item__content {
        align-items: center;
        display: flex;
        gap: 0.5rem;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container li.wp-block-navigation-link > .wp-block-navigation-item__content::before {
        background-image: url('../assets/icons/painpro-star.svg');
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        content: '';
        display: block;
        flex-shrink: 0;
        height: 0.85em;
        width: 0.85em;
    }

    header.wp-block-template-part .wp-block-navigation ul.wp-block-navigation__container > li.has-child > .wp-block-navigation-item__content::after {
        background-color: currentcolor;
        content: '';
        display: block;
        flex-shrink: 0;
        height: 0.75em;
        mask-image: url('../assets/icons/chevron-down.svg');
        mask-position: center;
        mask-repeat: no-repeat;
        mask-size: contain;
        transform: scale(1);
        transition: transform 0.2s ease;
        width: 0.75em;
    }

    header.wp-block-template-part .wp-block-navigation ul.wp-block-navigation__container > li.has-child:hover > .wp-block-navigation__submenu-container,
    header.wp-block-template-part .wp-block-navigation ul.wp-block-navigation__container > li.has-child:focus > .wp-block-navigation__submenu-container {
        top: calc(100% + 1rem);
    }

    header.wp-block-template-part .wp-block-navigation ul.wp-block-navigation__container > li.has-child:hover > .wp-block-navigation-item__content::after,
    header.wp-block-template-part .wp-block-navigation ul.wp-block-navigation__container > li.has-child:focus > .wp-block-navigation-item__content::after {
        transform: scale(-1);
    }

    header.wp-block-template-part .wp-block-navigation ul.wp-block-navigation__container > li.has-child > button {
        display: none;
    }

    header.wp-block-template-part .wp-block-navigation ul.wp-block-navigation__container > li.has-child:hover::after,
    header.wp-block-template-part .wp-block-navigation ul.wp-block-navigation__container > li.has-child:focus::after {
        content: '';
        display: block;
        height: 1rem;
        position: absolute;
        top: 100%;
        width: 100%;
    }
}

@media screen and (max-width: 599px) {
    header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
        justify-content: stretch !important;
        width: 100%;
    }

    header.wp-block-template-part .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    header.wp-block-template-part .wp-block-navigation__responsive-container-close {
        right: 2rem;
    }

    header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
        display: block;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container {
        display: flex;
        flex-direction: column;
        gap: 1rem !important;
        max-height: 0;
        opacity: 0;
        overflow: hidden !important;
        padding-inline-start: 0.75rem;
        transition:
            max-height 0.5s ease,
            opacity 0.5s ease;
        width: 100% !important;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container > li:first-child {
        margin-top: 1rem;
    }

    header.wp-block-template-part .wp-block-navigation li.has-child {
        align-items: center !important;
        display: flex;
        flex-direction: row !important;
        flex-grow: 1;
        flex-wrap: wrap;
        width: 100%;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-navigation-submenu__toggle {
        flex-grow: 1;
        height: 1.5em;
        text-align: right;
        width: unset;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-navigation-submenu__toggle svg {
        height: 0.85em;
    }

    header.wp-block-template-part .wp-block-navigation .wp-block-navigation-submenu__toggle[aria-expanded=true] + .wp-block-navigation__submenu-container {
        max-height: 100vh;
        overflow-y: auto;
    }
}

.wp-block-details {
    margin-bottom: 1rem;

    & > summary {
        align-items: center;
        display: flex;
        justify-content: space-between;

        &::marker,
        &::-webkit-details-marker {
            display: none;
            opacity: 0;
        }

        &::after {
            background-color: currentcolor;
            content: '';
            display: block;
            height: 10px;
            margin-left: 1rem;
            mask-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
            mask-position: center;
            mask-repeat: no-repeat;
            mask-size: 10px;
            transform: rotate(0deg);
            transition: transform 0.3s ease;
            width: 10px;
        }
    }

    & summary + * {
        margin-top: 0.5rem;
    }

    &[open] > summary::after {
        transform: rotate(180deg);
    }
}
