/* =============================================================
   mega-menu.css  —  ZenCart 2.2.2  商品カテゴリー Hover Mega Menu
   保存先: includes/templates/YOUR_TEMPLATE/css/mega-menu.css
   ============================================================= */

/* ---------------------------------------------------------------
   1. ナビゲーションバー全体
--------------------------------------------------------------- */
.zc-mega-nav {
  display: inline-block;   /* 既存の header 要素と横並び */
  vertical-align: middle;
}

.zc-mega-nav__bar {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

/* ---------------------------------------------------------------
   2. 「商品カテゴリー」トリガーボタン
--------------------------------------------------------------- */
.zc-mega-nav__item {
  position: relative; /* パネルの基準点 */
}

.zc-mega-nav__trigger {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;               /* ← サイトのヘッダー色に合わせて変更 */
  background: transparent;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  border-radius: 4px;
}

.zc-mega-nav__trigger:hover,
.zc-mega-nav__item--has-mega:hover .zc-mega-nav__trigger {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
}

/* 矢印アイコン */
.zc-mega-nav__arrow {
  font-size: 9px;
  opacity: 0.7;
  transition: transform 0.25s;
}
.zc-mega-nav__item--has-mega:hover .zc-mega-nav__arrow {
  transform: rotate(180deg);
}

/* ---------------------------------------------------------------
   3. メガパネル本体
--------------------------------------------------------------- */
.zc-mega-panel {
  /* 初期状態: 非表示 */
  position: absolute;
  top: 100%;
  left: 0;

  /* パネル幅: 4列 × (160px画像 + 20px padding + gap) ≈ 760px */
  width: 760px;

  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: 3px solid #2a6496;  /* ← アクセントカラー */
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  border-radius: 0 0 6px 6px;
  padding: 20px;
  z-index: 9999;

  /* アニメーション: 隠す */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s;
}

/* Hover で表示 */
.zc-mega-nav__item--has-mega:hover .zc-mega-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0s;
}

/* ---------------------------------------------------------------
   4. 12項目グリッド (4列 × 3行)
--------------------------------------------------------------- */
.zc-mega-panel__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

/* ---------------------------------------------------------------
   5. 各カテゴリカード
--------------------------------------------------------------- */
.zc-mega-panel__item {
  /* カードのコンテナ */
}

.zc-mega-panel__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #333;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #ececec;
  transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
  background: #fafafa;
}

.zc-mega-panel__link:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
  border-color: #2a6496;
  color: #2a6496;
  text-decoration: none;
}

/* 画像ラッパー */
.zc-mega-panel__img-wrap {
  width: 100%;
  aspect-ratio: 4 / 3;        /* 160×120 相当 */
  overflow: hidden;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zc-mega-panel__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
  display: block;
}

.zc-mega-panel__link:hover .zc-mega-panel__img-wrap img {
  transform: scale(1.06);
}

/* テキストラベル */
.zc-mega-panel__label {
  display: block;
  width: 100%;
  padding: 7px 8px;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
  background: #fff;
  border-top: 1px solid #ececec;
}

/* ---------------------------------------------------------------
   6. 画像が存在しない場合のフォールバック表示
--------------------------------------------------------------- */
.zc-mega-panel__img-wrap img[src=""] ,
.zc-mega-panel__img-wrap img:not([src]) {
  display: none;
}

.zc-mega-panel__img-wrap::after {
  content: attr(data-alt);
  font-size: 11px;
  color: #aaa;
}

/* ---------------------------------------------------------------
   7. パネルが画面右端からはみ出る場合の位置調整
      (必要に応じて .zc-mega-panel に left:auto; right:0; を追加)
--------------------------------------------------------------- */
@media (max-width: 900px) {
  .zc-mega-panel {
    width: 100vw;
    left: 0;
    right: 0;
    position: fixed;
    top: auto; /* ヘッダーの高さに合わせて調整 */
  }
  .zc-mega-panel__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 600px) {
  .zc-mega-panel__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
