/* Sub Menu Styles - Desktop Only */

/* Desktop Sub Menu - positioned above main header */
.sub-menu-pc {
    background-color: #225277;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 102;
    min-width: 1455px;
}

.sub-menu-pc .wrap_01 {
    width: 1440px;
    margin: 0 auto;
}

.sub-menu-pc .sub-menu-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 30px;
    padding: 12px 50px;
}

.sub-menu-pc .sub-menu-item a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 14px;
    transition: opacity 0.3s ease;
}

.sub-menu-pc .sub-menu-item a:hover {
    opacity: 0.8;
}

/* Contact item - specific width and spacing */
.sub-menu-pc .sub-menu-item.contact {
    width: 112px;
}

.sub-menu-pc .sub-menu-item.contact a {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    gap: 8px;
    line-height: 1.5em;
    letter-spacing: 0.03em;
}

/* Media and Recruitment items */
.sub-menu-pc .sub-menu-item.media a,
.sub-menu-pc .sub-menu-item.recruitment a {
    gap: 5px;
    line-height: 1.6428571428571428em;
    letter-spacing: 0.1em;
}

.sub-menu-pc .sub-menu-item.media a span {
    font-weight: 700 !important;
}

/* Icons */
.sub-menu-pc .mail-icon {
    width: 16.96px;
    height: 12.75px;
    fill: #FFFFFF;
}

.sub-menu-pc .external-icon {
    width: 10.1px;
    height: 10.1px;
    fill: #FFFFFF;
}

/* Responsive behavior and positioning */

/* Desktop positioning - adjust main header to be below submenu */
@media (min-width: 751px) {
    /* Position main header below submenu */
    header#main_header {
        top: 47px !important; /* Height of submenu */
    }

    /* Adjust content sections for submenu + header height */
    .top_sec {
        padding-top: 140px; /* Submenu (40px) + Header (100px) */
    }

    /* Special case for therapist page which uses different structure */
    main.site-main {
        margin-top: 47px !important; /* Height of sub-menu-pc */
    }
}

/* Mobile behavior - completely hide submenu */
@media (max-width: 750px) {
    .sub-menu-pc {
        display: none !important;
    }

    /* Reset mobile header positioning to original */
    #sp_header {
        top: 0;
    }

    body {
        padding-top: 55px; /* Original mobile padding */
    }

    .hamburger {
        top: 12px; /* Original hamburger position */
    }
}
