/*
Theme Name: Daiichi Sangyo Theme
Theme URI: https://daiichi-sangyo.co.jp
Description: 大一産業株式会社コーポレートサイト用テーマ
Author: Daiichi Sangyo
Version: 1.0.6
Text Domain: daiichi-theme
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

html {
    font-size: 93.75%; /* 16px → 15px。rem基準を下げサイト全体（Tailwindユーティリティ含む）を比例縮小 */
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    /* alignfull の 100vw breakout が、クラシックスクロールバー環境で縦スクロールバー幅ぶんの
       横スクロール（数px）を生む既知の罠を全環境で抑止する。position:fixed/sticky 要素や
       ページ内アンカースクロールには影響しない（縦方向の overflow は既定の visible のまま）。 */
    overflow-x: hidden;
}

.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.tab-content {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#pickup-scroll {
    display: flex;
    gap: 1.5rem;
}

#pickup-scroll > div {
    min-width: calc(25% - 1.125rem);
    flex-shrink: 0;
}

@media (max-width: 640px) {
    #pickup-scroll > div {
        min-width: calc(50% - 0.75rem);
    }
}

/* ページネーション */
.page-numbers {
    list-style: none;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}

.page-numbers li a,
.page-numbers li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.75rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    transition: all 0.2s;
    border: 1px solid #e2e8f0;
    color: #475569;
}

.page-numbers li a:hover {
    background-color: #0078E8;
    color: white;
    border-color: #0078E8;
}

.page-numbers li span.current {
    background-color: #0E2B79;
    color: white;
    border-color: #0E2B79;
}

/* 商品カードのテキスト省略 */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* WP管理バー対応 */
.admin-bar header.fixed {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar header.fixed {
        top: 46px;
    }
}

/* =============================================
   PCナビ ドロップダウン（2〜3階層）
   Tailwind Play CDN は名前付きグループ修飾子
   (group/nav, group-hover/nav:) のCSSを生成しないため、
   ホバー/フォーカス開閉を明示CSSで一本化する。
   functions.php daiichi_render_desktop_menu() と header.php
   フォールバックナビの両方で同じクラスを使用する。
   ============================================= */
@media (min-width: 1024px) {
    .nav-dropdown-panel {
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s ease, visibility 0.2s ease;
    }
    /* 親へのホバー、親内のフォーカス（キーボードTab）、
       パネル自体へのホバー（pt-2 ギャップ込み）で開く */
    .nav-dropdown-parent:hover > .nav-dropdown-panel,
    .nav-dropdown-parent:focus-within > .nav-dropdown-panel {
        opacity: 1;
        visibility: visible;
    }

    /* --- 3階層目（孫）: 既定は折りたたみ、行のホバー/フォーカスで展開 ---
       grid-template-rows の 0fr→1fr で高さアニメーションし、
       孫リンク数に依存せず滑らかに開閉する（max-height の当て推量を避ける）。
       子（孫）を持たない2階層項目には .nav-submenu-parent を付けないため、
       chevron もパネルも出ない。 */
    .nav-submenu-panel {
        display: grid;
        grid-template-rows: 0fr;
        overflow: hidden;
        transition: grid-template-rows 0.22s ease;
    }
    /* 単一ラッパー（inner）を grid の唯一の子にして 0fr→1fr で高さ補間する。
       孫 <a> を直接 grid 子にすると複数行が implicit row(auto) で開いてしまうため、
       必ず inner 1枚にまとめること。 */
    .nav-submenu-panel-inner {
        min-height: 0;
        overflow: hidden;
    }
    .nav-submenu-parent:hover > .nav-submenu-panel,
    .nav-submenu-parent:focus-within > .nav-submenu-panel {
        grid-template-rows: 1fr;
    }
    /* chevron: 既定は ▼、展開で 180°回転して状態を示す */
    .nav-submenu-parent:hover > .nav-submenu-trigger .nav-submenu-chevron,
    .nav-submenu-parent:focus-within > .nav-submenu-trigger .nav-submenu-chevron {
        transform: rotate(180deg);
        color: #0078E8; /* accent */
    }
}

/* =============================================
   モバイルメニュー: 3階層目（孫）アコーディオン
   タップで開閉。JS（mobile-menu.js）が hidden 属性と
   aria-expanded を切り替える。chevron は子持ち行にだけ表示。
   ============================================= */
.nav-mobile-submenu {
    display: none;
}
.nav-mobile-submenu:not([hidden]) {
    display: flex;
}
.nav-mobile-toggle .nav-mobile-chevron {
    display: inline-block;
}
.nav-mobile-toggle[aria-expanded="true"] .nav-mobile-chevron {
    transform: rotate(180deg);
    color: #0078E8; /* accent */
}
