/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description: 伊東DXパートナーズ カスタムスタイル
Author: 伊東DXパートナーズ
Tags:
Version: 0.8.0
*/

/* ===== カラー変数 ===== */
:root {
  --itodx-primary: #0a2a4a;
  --itodx-accent: #0073aa;
  --itodx-light: #f0f4f8;
  --itodx-text: #333333;
  /* VK Lightning コンテナ幅（VK独自コンポーネント向け） */
  --vk-width-container: 1200px;
  --vk-width-container-padding: 24px;
}

/* ===== 全体 ===== */
body {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
  color: var(--itodx-text);
}

/* ===== ヘッダー ===== */
.site-header,
#masthead {
  background-color: var(--itodx-primary) !important;
}

.site-header .site-title a,
#masthead .site-title a {
  color: #ffffff !important;
}

/* ===== ナビゲーション ===== */
.global-nav a,
.vk-mobile-nav a {
  color: #ffffff;
}

.global-nav .current-menu-item > a,
.global-nav a:hover {
  color: #5bc0de;
}

/* ===== CTAボタン（ヘッダー） ===== */
.header-contact-btn,
.vk-cta-btn {
  background-color: var(--itodx-accent) !important;
  border-color: var(--itodx-accent) !important;
  color: #ffffff !important;
  border-radius: 4px;
  padding: 8px 20px;
  font-weight: bold;
}

.header-contact-btn:hover,
.vk-cta-btn:hover {
  background-color: #005882 !important;
}

/* ===== ヒーローセクション（カバーブロック）===== */
.wp-block-cover {
  background-color: var(--itodx-primary);
}

/* カバーブロック内コンテナの最大幅 */
.wp-block-cover .wp-block-cover__inner-container {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
  width: 100%;
}

/* ===== alignfull セクション共通 ===== */
/* 背景セクション内の水平パディング（モバイルで左右余白を確保） */
.wp-block-group.alignfull {
  padding-left: 0;
  padding-right: 0;
}

/* is-layout-constrained の直下要素に水平パディングをつける（モバイル対応） */
.wp-block-group.alignfull.is-layout-constrained > * {
  padding-left: clamp(16px, 4vw, 40px);
  padding-right: clamp(16px, 4vw, 40px);
  box-sizing: border-box;
}

/* カラムブロックはパディング無効（カラム自体にある） */
.wp-block-group.alignfull.is-layout-constrained > .wp-block-columns {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* カラムブロックの左右パディング */
.wp-block-columns.alignwide {
  padding-left: clamp(16px, 4vw, 40px);
  padding-right: clamp(16px, 4vw, 40px);
  box-sizing: border-box;
}

/* ===== セクション区切り ===== */
.wp-block-group.has-background {
  border-radius: 0;
}

/* ===== ボタン共通 ===== */
.wp-block-button__link {
  border-radius: 4px !important;
  font-weight: bold !important;
  transition: opacity 0.2s ease !important;
}

.wp-block-button__link:hover {
  opacity: 0.85;
}

/* ===== テーブル ===== */
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--itodx-light);
}

.wp-block-table td {
  padding: 12px 16px;
  vertical-align: top;
}

/* ===== 見出し ===== */
h1, h2, h3 {
  font-weight: 700;
}

h2.wp-block-heading {
  border-left: 4px solid var(--itodx-accent);
  padding-left: 12px;
  margin-bottom: 24px;
}

/* センタリング見出しは左ボーダー非表示 */
h2.has-text-align-center {
  border-left: none;
  padding-left: 0;
}

/* ===== お問い合わせフォーム ===== */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 15px;
  margin-top: 4px;
}

.wpcf7-form input[type="submit"],
.wpcf7-submit {
  background-color: var(--itodx-accent) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 14px 40px !important;
  font-size: 16px !important;
  font-weight: bold !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

.wpcf7-form input[type="submit"]:hover,
.wpcf7-submit:hover {
  background-color: #005882 !important;
}

/* ===== フッター ===== */
.site-footer,
#colophon {
  background-color: var(--itodx-primary) !important;
  color: #cccccc !important;
}

.site-footer a,
#colophon a {
  color: #aaddff !important;
}

/* ===== レスポンシブ ===== */
@media (max-width: 782px) {
  /* カバーブロック（ヒーロー） */
  .wp-block-cover {
    min-height: 420px !important;
  }
  .wp-block-cover .wp-block-cover__inner-container {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* カラムを縦積みに */
  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-direction: column;
  }

  /* カラム間のギャップ */
  .wp-block-column + .wp-block-column {
    margin-top: 24px;
  }

  /* CTAボタン全幅 */
  .wp-block-buttons .wp-block-button {
    width: 100%;
  }
  .wp-block-buttons .wp-block-button .wp-block-button__link {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

@media (max-width: 480px) {
  /* 小さいスマホ向け：フォントサイズ調整 */
  .wp-block-cover h1.wp-block-heading {
    font-size: 28px !important;
    line-height: 1.6 !important;
  }
}
