/* SPOSCOR Block Theme - frontend.css */

body {
    font-family: 'Noto Sans JP', 'Helvetica Neue', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* リンクのデフォルト */
a {
    text-decoration: none;
    transition: opacity 0.2s;
}
a:hover { opacity: 0.85; }

/* ナビゲーション項目のホバー */
.wp-block-navigation a:hover {
    color: var(--wp--preset--color--team-primary) !important;
}

/* レスポンシブ：768px以下でグリッド調整 */
@media (max-width: 768px) {
    .wp-block-query .wp-block-post-template.is-layout-grid {
        grid-template-columns: 1fr !important;
    }
}

/* SPOSCOR LP/Team固定ページ用：padding解除 */
body.page-template-sposcor-lp main,
body.page-template-team-home main {
    padding-left: 0;
    padding-right: 0;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 0.7rem 0.85rem;
    border: 1px solid #94a3b8;
    border-radius: 0.5rem;
    background: #fff;
    font-size: 1rem;
    font-family: inherit;
    color: #0f172a;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: #F06400;
    box-shadow: 0 0 0 3px rgba(240, 100, 0, 0.15);
}

.wpcf7 textarea {
    min-height: 10rem;
    resize: vertical;
}

.wpcf7 label {
    display: block;
    margin-bottom: 1.25rem;
    font-size: 0.9rem;
    font-weight: 500;
}

.wpcf7 input[type="submit"] {
    background: #F06400;
    color: #fff;
    border: none;
    border-radius: 0.5rem;
    padding: 0.75rem 2.5rem;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
}

.wpcf7 input[type="submit"]:hover {
    opacity: 0.9;
}

.wpcf7 .required {
    color: #F06400;
    font-size: 0.7rem;
    margin-left: 0.35rem;
}

/* ============================================================
   モバイルメニューの見栄え改善
   （FSE Navigation ブロックのデフォルトが素っ気ないため）
============================================================ */
@media (max-width: 768px) {

    /* オープン時のオーバーレイ全体：純白ではなくネイビーに */
    .wp-block-navigation__responsive-container.is-menu-open {
        background: #1A2F5E !important;
        color: #fff !important;
        padding: 4rem 1.5rem 2rem !important;
    }

    /* メニュー項目のリスト：左寄せ・大きく・縦並び */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
        gap: 1.25rem !important;
        align-items: flex-start !important;
        text-align: left !important;
    }

    /* 各メニュー項目：フォント大きく・白文字 */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
        font-size: 1.5rem !important;
        font-weight: 500 !important;
        color: #fff !important;
        padding: 0.5rem 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        width: 100%;
    }

    /* ホバー時のオレンジ */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
        color: #F06400 !important;
    }

    /* 閉じるボタン：右上に */
    .wp-block-navigation__responsive-container-close {
        top: 1rem !important;
        right: 1rem !important;
        color: #fff !important;
    }

    /* ハンバーガーアイコン：白＋大きく */
    .wp-block-navigation__responsive-container-open {
        color: #fff !important;
    }
    .wp-block-navigation__responsive-container-open svg {
        width: 28px !important;
        height: 28px !important;
    }

    /* ヘッダーロゴ（サイトタイトル）：メニュー開いても左に残す */
    header .wp-block-site-title {
        font-size: 1.1rem !important;
    }
}
