/*
Theme Name: Lightning Child A
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.2
*/

/* =========================================================
   ヘッダー カスタムスタイリング
   - 高さ: 100px
   - 左: ロゴ画像 (assets/img/logo.png)
   - 中央: グローバルナビゲーション (中央寄せ)
   - 右: お問い合わせウィジェット領域
   ========================================================= */

@media (min-width: 992px) {
    /* ヘッダー全体 */
    header#site-header,
    .site-header {
        background-color: #ffffff;
        width: 100%;
    }

    /* ヘッダーコンテナ（Flexbox 3分割レイアウト、高さ100px、垂直中央揃え） */
    header#site-header div#site-header-container,
    .site-header .site-header-container,
    .site-header--layout--nav-float .site-header-container,
    #site-header-container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        height: 100px !important;
        max-width: 1200px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    /* 1. 左側：ロゴ領域
       親テーマの「.site-header--layout--nav-float .site-header-logo { width: 100%; margin-right: 2em; }」を徹底的に上書き解除 */
    header#site-header .site-header-logo,
    .site-header .site-header-logo,
    .site-header--layout--nav-float .site-header-logo,
    #site-header-container .site-header-logo {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 220px !important;
        margin: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        text-align: left !important;
    }
    header#site-header .site-header-logo a,
    .site-header .site-header-logo a,
    .site-header--layout--nav-float .site-header-logo a {
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        text-decoration: none !important;
    }
    header#site-header .site-header-logo img,
    .site-header .site-header-logo img,
    .site-header-logo__img {
        height: auto !important;
        max-height: 70px !important;
        width: auto !important;
        max-width: 180px !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 !important;
    }

    /* 2. 中央：ナビゲーションラッパー＆グローバルメニュー（中心寄せ） */
    .site-header-nav-wrap {
        flex: 1 1 auto !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 15px !important;
        min-width: 0 !important;
    }
    header#site-header nav#global-nav,
    header#site-header .global-nav,
    .site-header .global-nav,
    .site-header--layout--nav-float .global-nav,
    .global-nav--layout--float-right,
    #site-header-container .global-nav {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    header#site-header .global-nav-list,
    .site-header .global-nav-list,
    .global-nav--layout--float-right .global-nav-list,
    .site-header--layout--nav-float .global-nav-list,
    #site-header-container .global-nav-list {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 auto !important;
        padding: 0 !important;
        list-style: none !important;
        gap: 16px !important;
        width: auto !important;
    }
    header#site-header .global-nav-list > li,
    .site-header .global-nav-list > li,
    .global-nav-list > li {
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-block !important;
        position: relative !important;
        white-space: nowrap !important;
    }
    header#site-header .global-nav-list > li > a,
    .site-header .global-nav-list > li > a,
    .global-nav-list > li > a {
        font-family: "Yu Mincho", "Hiragino Mincho ProN", "YuMincho", "MS PMincho", serif !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        letter-spacing: 0.05em !important;
        color: #333333 !important;
        text-decoration: none !important;
        padding: 6px 2px !important;
        display: inline-block !important;
        position: relative !important;
        white-space: nowrap !important;
        transition: color 0.3s ease !important;
    }

    /* カレント（現在地）およびホバー時の下線・文字色 */
    .site-header .global-nav-list > li:hover > a,
    .site-header .global-nav-list > li.current-menu-item > a,
    .site-header .global-nav-list > li.current_page_item > a,
    .site-header .global-nav-list > li.current-menu-ancestor > a,
    #site-header .global-nav-list > li:hover > a,
    #site-header .global-nav-list > li.current-menu-item > a,
    #site-header .global-nav-list > li.current_page_item > a,
    #site-header .global-nav-list > li.current-menu-ancestor > a {
        color: #237d60 !important;
    }
    .site-header .global-nav-list > li > a::after,
    #site-header .global-nav-list > li > a::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 2px;
        background-color: #237d60;
        transform: scaleX(0);
        transition: transform 0.25s ease-in-out;
    }
    .site-header .global-nav-list > li:hover > a::after,
    .site-header .global-nav-list > li.current-menu-item > a::after,
    .site-header .global-nav-list > li.current_page_item > a::after,
    .site-header .global-nav-list > li.current-menu-ancestor > a::after,
    #site-header .global-nav-list > li:hover > a::after,
    #site-header .global-nav-list > li.current-menu-item > a::after,
    #site-header .global-nav-list > li.current_page_item > a::after,
    #site-header .global-nav-list > li.current-menu-ancestor > a::after {
        transform: scaleX(1);
    }

    /* 3. 右側：ウィジェット領域（お問い合わせ） */
    header#site-header .site-header-widget,
    .site-header .site-header-widget,
    #site-header-container .site-header-widget {
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        white-space: nowrap !important;
    }
    .site-header-widget .header-contact-widget {
        margin: 0 !important;
    }

    /* ウィジェット内のボタン・リンク用スタイル */
    .site-header-widget a.btn,
    .site-header-widget .wp-block-button__link,
    .site-header-widget .contact-btn,
    .site-header-widget a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: linear-gradient(135deg, #4d806a, #78a690) !important;
        color: #ffffff !important;
        font-family: "Yu Mincho", "Hiragino Mincho ProN", "YuMincho", serif !important;
        font-size: 15px !important;
        padding: 10px 26px !important;
        border-radius: 50px !important;
        text-decoration: none !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
        transition: opacity 0.3s ease, transform 0.2s ease !important;
        white-space: nowrap !important;
    }
    .site-header-widget a.btn:hover,
    .site-header-widget .wp-block-button__link:hover,
    .site-header-widget .contact-btn:hover,
    .site-header-widget a:hover {
        opacity: 0.9 !important;
        transform: translateY(-1px) !important;
    }
}

/* モバイル表示時のスタイル調整 */
@media (max-width: 991.98px) {
    .site-header-logo img,
    .site-header-logo__img {
        max-height: 55px;
        width: auto;
    }
    .site-header-widget {
        display: none;
    }
}
