/* ===== 統合医療Wiki：Cocoonスライドインメニュー「最新の15件」 ===== */
.navi-menu-content .menu-drawer > .imw-mobile-latest-block {
    display: block !important;
    margin: 24px 14px 28px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.navi-menu-content .menu-drawer > .imw-mobile-latest-block::before,
.navi-menu-content .menu-drawer > .imw-mobile-latest-block::after {
    display: none !important;
    content: none !important;
}

.navi-menu-content .imw-mobile-latest-title {
    margin: 0 0 12px !important;
    padding: 8px 10px !important;
    border-left: 4px solid #36c !important;
    background: #eaf3ff !important;
    color: #111 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.navi-menu-content .imw-mobile-latest-date {
    margin: 12px 2px 5px !important;
    padding: 0 !important;
    color: #72777d !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

.navi-menu-content .imw-mobile-latest-list {
    display: block !important;
    margin: 0 !important;
    padding: 0 0 0 1.45em !important;
    list-style: disc !important;
    background: transparent !important;
}

.navi-menu-content .imw-mobile-latest-list > li {
    display: list-item !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    border: 0 !important;
    list-style: disc !important;
    background: transparent !important;
}

.navi-menu-content .imw-mobile-latest-list > li::before,
.navi-menu-content .imw-mobile-latest-list > li::after {
    display: none !important;
    content: none !important;
}

.navi-menu-content .imw-mobile-latest-list > li > a {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #36c !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    text-decoration: none !important;
}

.navi-menu-content .imw-mobile-latest-list > li > a::after {
    display: none !important;
    content: none !important;
}

.navi-menu-content .imw-mobile-latest-list > li > a:hover,
.navi-menu-content .imw-mobile-latest-list > li > a:focus {
    text-decoration: underline !important;
}

/* v1.3.1: ドラッグ配置されたマーカー項目でも通常のメニューリンク装飾を出さない */
.navi-menu-content .menu-drawer .imw-mobile-latest-block > a,
.navi-menu-content .menu-drawer .imw-mobile-latest-marker > a {
    display: none !important;
}

.navi-menu-content .menu-drawer .imw-mobile-latest-inner {
    display: block !important;
    width: 100% !important;
}


/* ===== v1.5.3: モバイルメニュー内広告 ===== */
.navi-menu-content .menu-drawer > .imw-mobile-ad-block {
    display: block !important;
    width: 100% !important;
    margin: 18px 0 !important;
    padding: 16px 14px !important;
    border-top: 1px solid #eaecf0 !important;
    border-bottom: 1px solid #eaecf0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.navi-menu-content .menu-drawer > .imw-mobile-ad-block::before,
.navi-menu-content .menu-drawer > .imw-mobile-ad-block::after {
    display: none !important;
    content: none !important;
}

.navi-menu-content .menu-drawer .imw-mobile-ad-marker > a {
    display: none !important;
}

.navi-menu-content .imw-mobile-ad-inner {
    display: block !important;
    width: 100% !important;
}

.navi-menu-content .imw-mobile-ad-label {
    margin: 0 0 8px !important;
    color: #72777d !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

.navi-menu-content .imw-mobile-ad-inner .imw-manual-ad {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* ===== v3.6.8: モバイルスライドメニュー専用プロフィールカード ===== */
.navi-menu-content .menu-drawer > .imw-mobile-profile-block {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: auto !important;
    max-width: none !important;
    margin: 22px 14px 28px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

.navi-menu-content .menu-drawer > .imw-mobile-profile-block::before,
.navi-menu-content .menu-drawer > .imw-mobile-profile-block::after {
    display: none !important;
    content: none !important;
}

.navi-menu-content .menu-drawer .imw-mobile-profile-marker > a {
    display: none !important;
}

.navi-menu-content .imw-mobile-profile-inner,
.navi-menu-content .imw-mobile-profile-card,
.navi-menu-content .imw-mobile-profile-title,
.navi-menu-content .imw-mobile-profile-cover,
.navi-menu-content .imw-mobile-profile-avatar,
.navi-menu-content .imw-mobile-profile-body,
.navi-menu-content .imw-mobile-profile-name,
.navi-menu-content .imw-mobile-profile-description,
.navi-menu-content .imw-mobile-profile-follows {
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

.navi-menu-content .imw-mobile-profile-inner {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.navi-menu-content .imw-mobile-profile-card {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
}

/* ===== v3.6.9: 選択式プロフィール見出し ===== */
.navi-menu-content .imw-mobile-profile-title {
    display: block !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
}

/* 1. 標準の帯 */
.navi-menu-content .imw-profile-heading-bar .imw-mobile-profile-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 0 !important;
    background: var(--imw-profile-heading-color, #08a6df) !important;
    color: #fff !important;
}

/* 2. グラデーション帯。設定色を基準に陰影だけを重ねる。 */
.navi-menu-content .imw-profile-heading-gradient .imw-mobile-profile-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 0 !important;
    background-color: var(--imw-profile-heading-color, #08a6df) !important;
    background-image: linear-gradient(135deg, rgba(255,255,255,.16), rgba(0,0,0,.22)) !important;
    color: #fff !important;
}

/* 3. 左ライン */
.navi-menu-content .imw-profile-heading-left-line .imw-mobile-profile-title {
    width: auto !important;
    margin: 14px 14px 12px !important;
    padding: 8px 12px !important;
    border: 0 !important;
    border-left: 6px solid var(--imw-profile-heading-color, #08a6df) !important;
    background: #f6f8fa !important;
    color: #222 !important;
}

/* 4. 下線 */
.navi-menu-content .imw-profile-heading-underline .imw-mobile-profile-title {
    width: auto !important;
    margin: 16px 18px 16px !important;
    padding: 2px 2px 10px !important;
    border: 0 !important;
    border-bottom: 4px solid var(--imw-profile-heading-color, #08a6df) !important;
    background: transparent !important;
    color: #222 !important;
}

/* 5. 丸ラベル */
.navi-menu-content .imw-profile-heading-pill .imw-mobile-profile-title {
    width: fit-content !important;
    max-width: calc(100% - 28px) !important;
    margin: 12px 14px 12px !important;
    padding: 7px 16px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--imw-profile-heading-color, #08a6df) !important;
    color: #fff !important;
}

/* 6. 吹き出し */
.navi-menu-content .imw-profile-heading-speech .imw-mobile-profile-title {
    position: relative !important;
    width: fit-content !important;
    max-width: calc(100% - 28px) !important;
    margin: 12px 14px 16px !important;
    padding: 8px 14px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--imw-profile-heading-color, #08a6df) !important;
    color: #fff !important;
}
.navi-menu-content .imw-profile-heading-speech .imw-mobile-profile-title::after {
    content: "" !important;
    position: absolute !important;
    left: 22px !important;
    bottom: -8px !important;
    width: 0 !important;
    height: 0 !important;
    border-width: 8px 8px 0 !important;
    border-style: solid !important;
    border-color: var(--imw-profile-heading-color, #08a6df) transparent transparent !important;
}

/* 7. シンプル */
.navi-menu-content .imw-profile-heading-minimal .imw-mobile-profile-title {
    width: auto !important;
    margin: 14px 16px 12px !important;
    padding: 2px 0 6px !important;
    border: 0 !important;
    background: transparent !important;
    color: #222 !important;
}
.navi-menu-content .imw-profile-heading-minimal .imw-mobile-profile-title::before {
    content: "" !important;
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    margin-right: 8px !important;
    border-radius: 50% !important;
    background: var(--imw-profile-heading-color, #08a6df) !important;
    vertical-align: 2px !important;
}

/* v3.6.11: プロフィールカード外周の枠線を廃止し、下線見出しを基準デザインへ。
   見出しと背景画像は余白で明確に分離し、カード感は控えめな影だけで表現する。 */

/* 背景写真。設定が無い場合も崩れないよう、薄い背景を残す */
.navi-menu-content .imw-mobile-profile-cover {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background-color: #eef4f7 !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.navi-menu-content .imw-mobile-profile-cover.is-empty {
    background-image: linear-gradient(135deg, #edf7fb 0%, #e9eef4 100%) !important;
}

/* アイコンは背景写真の下端に半分重ねる。本文とは絶対に重ならない */
.navi-menu-content .imw-mobile-profile-avatar {
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
    width: 112px !important;
    height: 112px !important;
    margin: -56px auto 0 !important;
    padding: 0 !important;
    border: 5px solid #fff !important;
    border-radius: 50% !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14) !important;
}

.navi-menu-content .imw-mobile-profile-avatar > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    line-height: 0 !important;
}

.navi-menu-content .imw-mobile-profile-avatar img,
.navi-menu-content .imw-mobile-profile-avatar-image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

.navi-menu-content .imw-mobile-profile-body {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 20px 22px !important;
    background: #fff !important;
}

.navi-menu-content .imw-mobile-profile-name {
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: #08a6df !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-align: center !important;
}

.navi-menu-content .imw-mobile-profile-name > a {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    text-decoration: none !important;
}

.navi-menu-content .imw-mobile-profile-description {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #4a4a4a !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    text-align: left !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
}

.navi-menu-content .imw-mobile-profile-description p {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: auto !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    text-align: inherit !important;
}

.navi-menu-content .imw-mobile-profile-description p:last-child {
    margin-bottom: 0 !important;
}

.navi-menu-content .imw-mobile-profile-follows {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
}

/* CocoonのSNS部品は生成処理だけ借り、ドロワー内ではサイズだけ安全に整える */
.navi-menu-content .imw-mobile-profile-follows .sns-follow-buttons,
.navi-menu-content .imw-mobile-profile-follows .sns-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.navi-menu-content .imw-mobile-profile-follows a {
    float: none !important;
    max-width: 100% !important;
}

@media screen and (max-width: 430px) {
    .navi-menu-content .menu-drawer > .imw-mobile-profile-block {
        margin-left: 10px !important;
        margin-right: 10px !important;
    }

    .navi-menu-content .imw-mobile-profile-cover {
        height: 138px !important;
    }

    .navi-menu-content .imw-mobile-profile-avatar {
        width: 104px !important;
        height: 104px !important;
        margin-top: -52px !important;
    }

    .navi-menu-content .imw-mobile-profile-body {
        padding: 13px 16px 20px !important;
    }

    .navi-menu-content .imw-mobile-profile-description {
        font-size: 13.5px !important;
        line-height: 1.8 !important;
    }
}

