/*
Theme Name: CORE_HIDEWO
Version: 32.0.0
Description: v13.5.0 (v3.3.0ベース) 完全復元 ＋ フロント重厚リンク ＋ モバイル視認性向上
*/

/* 🦅 1. フォント読み込み */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;900&family=Share+Tech+Mono&display=swap');

/* --- 2. 基礎設定 --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; color: #fff; font-family: 'Share Tech Mono', 'M PLUS 1p', sans-serif; overflow-x: hidden; width: 100%; }
body { display: flex; flex-direction: column; background: #000; }
#wpadminbar { display: none !important; }
html { margin-top: 0 !important; }

/* --- 3. 全画面背景：人物追従 ＆ 物理的位置下げ --- */
body.home, body.single, body.page, body.archive, body.single-manifesto {
    background-image: url('http://hidewo-kawasaki.jp/wp-content/uploads/2026/04/sp_hidewo_hp_head-scaled.jpg'); 
    background-size: cover;
    background-position: 85% 200px; 
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-color: #000;
}

body::before {
    content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.15); 
    z-index: -1; 
    pointer-events: none;
}

/* --- 4. 🦅 ロゴ：光彩抑制 ＆ 完成グリッチ（低刺激・ランダム調） --- */
.hero-logo { 
    width: 100vw; background: transparent; line-height: 0; position: relative; z-index: 100; opacity: 1; overflow: hidden;
}

.main-visual { 
    width: 100%; height: auto; display: block;
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.2)); /* 光彩をさらに抑えめに */
    /* 🦅 周期をあえて中途半端な 2.3s にして規則性を排除。steps(1)でパキッと戻す */
    -webkit-animation: extreme_glitch 2.3s steps(1) infinite;
    animation: extreme_glitch 2.3s steps(1) infinite; 
}

@keyframes extreme_glitch {
    /* ほとんどの時間は静止（平穏） */
    0%, 93%, 100% { transform: translate(0, 0); filter: drop-shadow(0 0 5px rgba(255,255,255,0.2)); }
    
    /* 💡 揺れの幅を最大 25px → 8px 程度まで大幅に縮小 */
    94% { 
        transform: translate(-8px, 4px); 
        filter: drop-shadow(4px 0 #f0f) drop-shadow(-4px 0 #0ff); 
    }
    95% { 
        transform: translate(6px, -3px); 
        filter: drop-shadow(-4px 0 #f0f) drop-shadow(4px 0 #0ff); 
    }
    96% { transform: translate(0, 0); } /* 一瞬戻す */
    
    97% { 
        transform: translate(-3px, 2px); 
        filter: drop-shadow(2px 0 #f0f) drop-shadow(-2px 0 #0ff); 
    }
    98% { transform: translate(0, 0); }
}

/* --- 5. 🦅 フロント一覧：安定版(v32.0.0)完全準拠 --- */
.core-interface { flex: 1; display: flex; flex-direction: column; position: relative; }
.manifesto { padding: 60px 10vw; position: relative; }
.manifesto-item { margin-bottom: 80px; animation: fadeIn 0.8s ease forwards; }

.label { 
    font-size: 13px; color: #0f0; margin-bottom: 15px; display: block; 
    letter-spacing: 2px; position: relative; 
    text-shadow: 0.05em 0 0 #f0f, -0.05em -0.025em 0 #0ff; 
}

.manifesto-item h1 a, .manifesto-item h2 a {
    color: #fff; text-decoration: none;
    /* 🦅 デカすぎたリンクサイズを適正化（最大2.2rem） */
    font-size: clamp(1.6rem, 5vw, 2.2rem); font-weight: 900;
    border-bottom: 3px solid #fff;
    padding-bottom: 8px; display: inline-block;
    transition: 0.3s;
}

.manifesto-item h1 a:hover, .manifesto-item h2 a:hover {
    color: #0f0; border-bottom-color: #0f0; text-shadow: 0 0 25px #0f0;
}

.manifesto-item h2 a {
    animation: hidewo-link-pulse 2.5s infinite;
}

@keyframes hidewo-link-pulse {
    0%, 100% {
        color: #fff;
        border-bottom-color: #fff;
        text-shadow: none;
    }
    50% {
        color: #0f0;
        border-bottom-color: #0f0;
        text-shadow: 0 0 8px #0f0;
    }

}

/* --- 6. 🦅 メニュー：全ページ動作保証 ＆ デザイン復元 --- */
.core-nav { position: fixed; bottom: 30px; right: 30px; z-index: 999999; }
.nav-trigger { 
    font-family: 'Share Tech Mono', monospace; font-size: 11px; color: #fff; 
    border: 1px solid #fff; padding: 8px 16px; cursor: pointer; background: rgba(0,0,0,0.8); transition: 0.2s;
}
.nav-trigger:hover { background: #fff; color: #000; }

.nav-overlay { 
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.98); 
    z-index: 1000000; display: flex; flex-direction: column; align-items: center; justify-content: center; 
    opacity: 0; visibility: hidden; transition: 0.2s; pointer-events: none;
}
.nav-overlay.is-active { opacity: 1; visibility: visible; pointer-events: auto; }

.nav-links ul { list-style: none; text-align: center; }
.nav-links ul li { margin: 25px 0; }
.nav-links ul li a { 
    display: block; font-size: clamp(2.5rem, 8vw, 3.5rem); color: #fff; text-decoration: none; font-weight: 900; 
    letter-spacing: 0.2em; text-shadow: 0.05em 0 0 #f0f, -0.05em -0.025em 0 #0ff; transition: 0.3s;
}
.nav-links ul li a:hover { color: #0f0; text-shadow: none; }

.nav-close {
    position: fixed; bottom: 30px; right: 30px; color: #fff; font-family: 'Share Tech Mono'; 
    font-size: 11px; cursor: pointer; border: 1px solid #fff; padding: 8px 16px; z-index: 1000001; 
    background: rgba(0,0,0,0.8); transition: 0.2s;
}
.nav-close:hover { background: #fff; color: #000; }

/* --- 7. 🦅 個別ページ：視認性向上 --- */
.manifesto-header { padding: 60px 10vw 40px; position: relative; z-index: 2; }
.manifesto-header .entry-title { font-size: clamp(2.5rem, 8vw, 4.5rem); font-weight: 900; color: #fff; text-shadow: 4px 0 #f0f, -4px 0 #0ff; line-height: 1.1; }

.note-paper { 
    background: #fff; color: #000; padding: 80px 10vw; margin: 0 10vw 100px; 
    font-family: 'M PLUS 1p', sans-serif; box-shadow: 20px 20px 0 rgba(0, 255, 0, 0.4); position: relative; z-index: 2; 
}
.paper-inner p { font-size: 18px; line-height: 2.2; margin-bottom: 1.8em; color: #000; }

/* --- 8. Contact Form 7 (基本) --- */
.wpcf7 { max-width: 800px; margin: 40px 10vw; padding: 50px; background: rgba(0,0,0,0.85); border: 1px solid #0f0; position: relative; z-index: 2; }
.wpcf7 input, .wpcf7 textarea { width: 100%; background: rgba(255,255,255,0.05); border: 1px solid rgba(0,255,0,0.3); padding: 18px; color: #fff; font-family: 'Share Tech Mono'; margin-bottom: 25px; outline: none; }
.wpcf7-submit { background: transparent; border: 1px solid #0f0; color: #0f0; padding: 18px 40px; cursor: pointer; font-family: 'Share Tech Mono'; font-weight: 900; width: 100%; }

/* --- 9. アルバムセクション --- */
.album-display { display: flex; gap: 60px; padding: 100px 10vw; background: rgba(0, 0, 0, 0.9); border-top: 2px solid #0f0; position: relative; z-index: 2; }
.album-art { width: 380px; height: auto; border: 1px solid #0f0; }

/* --- 10. 🦅 モバイル最適化（視認性改善・完全死守） --- */
.site-footer { padding: 40px 10vw; background: transparent; position: relative; z-index: 2; }
.copyright { font-family: 'Share Tech Mono'; font-size: 11px; color: rgba(255,255,255,0.4); }

@media (max-width: 768px) {
    /* 🦅 あなたが設定した背景位置を絶対に維持 */
    body.home, body.single, body.page, body.archive, body.single-manifesto {
        background-position: 90% 80px !important;
    }
    
    /* 🦅 あなたが設定した明るさを絶対に維持 */
    body::before {
        background: rgba(0,0,0,0.15) !important;
    }

    .note-paper { margin: 0 15px 60px; padding: 40px 9px; box-shadow: 10px 10px 0 rgba(0, 255, 0, 0.4); }
    .paper-inner p { font-size: 16px; line-height: 1.8; }
    .album-display { flex-direction: column; align-items: center; }
    .wpcf7 { margin: 0 15px 60px; padding: 30px 20px; }
}

/* --- 11. 🦅 Contact Form 7 : 完全隔離・ワイドレイアウト版 --- */
.hidewo-contact-wrapper { width: 100%; padding: 60px 10vw; position: relative; z-index: 10; }
.contact-title { font-family: 'Share Tech Mono'; font-size: 2.2rem; color: #fff; margin-bottom: 50px; border-left: 5px solid #0f0; padding-left: 15px; text-shadow: 0 0 10px #0f0; letter-spacing: 3px; }
.hidewo-contact-wrapper .wpcf7 { max-width: none; margin: 0; padding: 0; background: transparent; border: none; box-shadow: none; }
.hidewo-contact-wrapper label { display: block; font-family: 'M PLUS 1p'; color: #0f0; font-size: 15px; font-weight: 900; margin-bottom: 30px; }
.hidewo-contact-wrapper .wpcf7-text, .hidewo-contact-wrapper .wpcf7-textarea {
    display: block; width: 100%; max-width: 1000px; background: rgba(0, 0, 0, 0.8); border: 1px solid rgba(0, 255, 0, 0.3); border-left: 4px solid #0f0; padding: 18px; color: #fff; font-family: 'M PLUS 1p'; font-size: 16px; outline: none; margin-top: 10px;
}
.hidewo-contact-wrapper .wpcf7-submit { background: transparent; border: 2px solid #0f0; color: #0f0; padding: 18px 80px; font-family: 'Share Tech Mono'; font-weight: 900; letter-spacing: 4px; cursor: pointer; margin-top: 20px; }

/* --- 12. 🦅 manifesto page top link : トップへのリンク追加--- */

/* シングル投稿ページ用のロゴサイズとホバー効果 */
body.single-manifesto .hero-logo{width:180px;margin:20px auto;overflow:visible;}
body.single-manifesto .hero-logo .main-visual{display:block;width:100%;height:auto;transition:transform .3s ease,filter .3s ease;}
body.single-manifesto .hero-logo:hover .main-visual{transform:scale(1.1);filter:drop-shadow(0 0 6px #0f0);}
@media (max-width:600px){body.single-manifesto .hero-logo{width:120px;}}


/* --- 13. 🦅 News page : ニュースページカスタム (v33.0.0 改) --- */

/* ロゴサイズを個別投稿ページ(single-manifesto)と完全同期 */
.page-news-template .hero-logo {
    width: 180px;
    margin: 20px auto;
    overflow: visible;
    text-align: center;
}
.page-news-template .hero-logo .main-visual {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease, filter 0.3s ease;
}
.page-news-template .hero-logo:hover .main-visual {
    transform: scale(1.1);
    filter: drop-shadow(0 0 10px #0f0); /* ヒデヲ・グリーンで発光 */
}

/* ニュースタイトルの装飾 */
.page-news-template .news-page-title {
    font-family: 'Share Tech Mono', sans-serif;
    font-size: clamp(2rem, 6vw, 3rem);
    color: #fff;
    margin-bottom: 50px;
    text-shadow: 3px 0 #f0f, -3px 0 #0ff;
}

/* 🦅 ニュースアイテム：背景付きボックス ＋ ホバーアクション */
.news-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.news-item-box {
    background: rgba(0, 0, 0, 0.6); /* 半透明の黒背景 */
    border: 1px solid rgba(0, 255, 0, 0.2); /* 控えめな緑枠 */
    transition: 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    position: relative;
    overflow: hidden;
}

.news-link-wrapper {
    display: block;
    padding: 30px;
    text-decoration: none;
    color: #fff;
}

.news-date {
    font-family: 'Share Tech Mono';
    color: #0f0;
    font-size: 14px;
    display: block;
    margin-bottom: 10px;
}

.news-item-title {
    font-size: 1.6rem;
    font-weight: 900;
    margin-bottom: 15px;
    line-height: 1.3;
    transition: 0.3s;
}

.news-arrow {
    font-family: 'Share Tech Mono';
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 2px;
}

/* 🦅 ホバー時の超挙動（ホバリングアクション） */
.news-item-box:hover {
    background: rgba(0, 255, 0, 0.1);
    border-color: #0f0;
    transform: translateX(10px); /* 右に少しスライド */
    box-shadow: -5px 0 20px rgba(0, 255, 0, 0.3); /* 左側に光の余韻 */
}

.news-item-box:hover .news-item-title {
    color: #0f0;
    text-shadow: 0 0 10px #0f0;
}

.news-item-box:hover .news-arrow {
    color: #0f0;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .page-news-template .hero-logo { width: 120px; }
    .news-link-wrapper { padding: 20px; }
    .news-item-title { font-size: 1.3rem; }
    .news-item-box:hover { transform: none; } /* モバイルはスライドさせない */
}

.op-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #000;
    z-index: 9999999;
    display: none;
    align-items: center;
    justify-content: center;
}
.op-overlay.is-active {
    display: flex;
}
.op-video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画面いっぱいに表示 */
}