/*
Theme Name: Neve Child
Template: neve
Version: 1.0
*/

/* ===== 基本 ===== */
body { background: #fafaf8; color: #2c2c2c; }
#comments, .comments-area, .comment-respond { display: none !important; }

/* ===== ヘッダー ===== */
.header-main {
    position: fixed !important;
    top: 0; left: 0; right: 0;
    z-index: 9999;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.header-main-inner, .hfg-row-inner { background: #fff !important; border-bottom: none !important; }
.site-title a, .brand, .nv-site-title { color: #1a1a1a !important; }
.nv-nav-wrapper .nav-menu-item a, .header--row .nav-menu-item a { color: #333 !important; font-size: 0.85em; letter-spacing: 0.08em; }
.nv-nav-wrapper .nav-menu-item a:hover { color: #c9a96e !important; }
.site-logo img { max-width: 187px !important; height: auto !important; }

/* ===== フッター ===== */
.site-footer, footer.site-footer { display: none !important; }
.nv-footer-content { display: none !important; }
.hm-footer { background: #111; color: #ccc; margin-top: 80px; }
.hm-footer-inner { max-width: 1200px; margin: 0 auto; padding: 60px 20px 0; }
.hm-footer-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; padding-bottom: 48px; border-bottom: 1px solid #333; }
.hm-footer-col h4 { color: #c9a96e; font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 16px; }
.hm-footer-col p { font-size: 0.82rem; line-height: 1.8; color: #999; }
.hm-footer-col ul { list-style: none; padding: 0; margin: 0; }
.hm-footer-col ul li { margin-bottom: 10px; }
.hm-footer-col ul li a { color: #999; text-decoration: none; font-size: 0.82rem; transition: color 0.2s; }
.hm-footer-col ul li a:hover { color: #c9a96e; }
.hm-footer-copy { text-align: center; padding: 24px 0; font-size: 0.75rem; color: #555; }
@media (max-width: 768px) { .hm-footer-cols { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .hm-footer-cols { grid-template-columns: 1fr; } }

/* ===== 個別記事 ===== */
.nv-single-post-wrap, .single .container { max-width: 860px !important; }
.entry-content { font-size: 1.05em; line-height: 2.0; }
.entry-content h2 { border-left: 4px solid #c9a96e; padding-left: 14px; font-size: 1.2em; margin: 2em 0 1em; font-weight: 600; }
.entry-content img { width: 100%; height: auto; border-radius: 4px; margin: 1.5em 0; box-shadow: 0 2px 12px rgba(0,0,0,0.1); }
.single .entry-header { margin-top: 100px !important; }
.single h1.title, .single .entry-title { font-size: 1.6rem !important; }
.entry-meta, .author-avatar, .entry-author { display: none !important; }
.nv-meta-list { display: flex !important; }
.nv-meta-list .meta.author { display: none !important; }
.entry-footer .tags-links, .nv-tags-list { display: none !important; }

/* ===== 個別記事タグ ===== */
.hm-post-tags { margin: 20px 0; display: flex; flex-wrap: wrap; gap: 8px; }
.hm-tag-link { background: #c9a96e !important; color: #fff !important; padding: 4px 10px; border-radius: 2px; text-decoration: none !important; font-size: 0.78rem; letter-spacing: 0.05em; }
.hm-tag-link:hover { background: #a8873d !important; color: #fff !important; }

/* ===== 関連記事 ===== */
.custom-related-posts { margin-top: 2em; padding-top: 2em; border-top: 1px solid #e0d9cc; }
.custom-related-posts h3 { font-size: 0.95em; color: #888; font-weight: 400; letter-spacing: 0.1em; margin-bottom: 1em; }
.custom-related-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1.2em !important; }
.custom-related-item { display: block; text-decoration: none; color: #2c2c2c; }
.custom-related-item img { width: 100% !important; height: 140px !important; object-fit: cover !important; border-radius: 4px; margin: 0 !important; box-shadow: none !important; }
.no-thumb { width: 100%; height: 140px; background: #eee; border-radius: 4px; }
.custom-related-item span { display: block; font-size: 0.82em; line-height: 1.5; margin-top: 0.5em; font-weight: 600; }
.custom-related-item:hover span { color: #c9a96e; }

/* ===== トップページ Hero ===== */
.hm-hero { width: 100%; margin-top: 70px; margin-bottom: 0; }
.hm-swiper { width: 100%; height: 480px !important; }
.hm-slide { background-size: cover; background-position: center; position: relative; border-radius: 4px; overflow: hidden; }
.hm-slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 60%); }
.hm-slide-inner { position: absolute; bottom: 40px; left: 40px; right: 40px; z-index: 10; opacity: 0.7; transition: opacity 0.3s; }
.swiper-slide-active .hm-slide-inner { opacity: 1; }
.hm-slide-title { font-size: 1.6rem; font-weight: 700; line-height: 1.4; margin: 0; }
.hm-slide-title a { color: #fff; text-decoration: none; }
.hm-slide-title a:hover { color: #c9a96e; }
.swiper-pagination-bullet-active { background: #c9a96e !important; }
.swiper-button-next, .swiper-button-prev { color: #c9a96e !important; }
@media (max-width: 768px) { .hm-swiper { height: 280px !important; } .hm-slide-inner { bottom: 20px; left: 20px; right: 20px; } .hm-slide-title { font-size: 1.1rem; } }

/* ===== 記事グリッド ===== */
.hm-articles-wrap { max-width: 1200px; margin: 150px auto 0; padding: 0 20px 80px; }
.hm-articles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; align-items: start; }
.hm-card { background: #fff; border-radius: 4px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.07); transition: transform 0.2s, box-shadow 0.2s; display: flex; flex-direction: column; height: 100%; }
.hm-card:hover { transform: translateY(-4px); box-shadow: 0 6px 24px rgba(0,0,0,0.12); }
.hm-card-thumb { display: block; overflow: hidden; }
.hm-card-thumb img { width: 100%; height: 320px !important; object-fit: cover; display: block; transition: transform 0.3s; }
.hm-card:hover .hm-card-thumb img { transform: scale(1.04); }
.hm-card-nothumb { width: 100%; height: 320px !important; background: #f0ece4; }
.hm-card-body { padding: 16px 20px 20px; flex: 1; display: flex; flex-direction: column; }
.hm-card-date { font-size: 0.78rem; color: #999; margin: 0 0 8px; letter-spacing: 0.05em; }
.hm-card-title { font-size: 0.95rem; font-weight: 600; line-height: 1.5; margin: 0; flex: 1; }
.hm-card-title a { color: #222; text-decoration: none; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hm-card-title a:hover { color: #c9a96e; }
@media (max-width: 768px) { .hm-articles-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } }
@media (max-width: 480px) { .hm-articles-grid { grid-template-columns: 1fr; } }

/* ===== カードタグ ===== */
.hm-card-tag-list { display: flex; flex-wrap: wrap; gap: 4px; padding: 10px 12px 0; }
.hm-card-tag { background: #c9a96e !important; color: #fff !important; font-size: 0.72rem; padding: 3px 8px; border-radius: 2px; text-decoration: none !important; letter-spacing: 0.05em; }
.hm-card-tag:hover { background: #a8873d !important; color: #fff !important; }

/* ===== ページング ===== */
.hm-pagination { text-align: center; margin: 40px 0 20px; }
.hm-pagination .page-numbers { display: inline-block; padding: 8px 14px; margin: 0 3px; border: 1px solid #ddd; color: #333; text-decoration: none; font-size: 0.85rem; border-radius: 2px; }
.hm-pagination .page-numbers.current,
.hm-pagination .page-numbers:hover { background: #c9a96e; border-color: #c9a96e; color: #fff; }

/* ===== 記事内ロゴ画像縮小 ===== */
.entry-content figure.wp-block-image.aligncenter img,
.entry-content img[src*="logo"],
.entry-content img[src*="Logo"] {
    max-width: 200px !important;
    height: auto !important;
    margin: 1em auto !important;
    box-shadow: none !important;
}

/* ===== 記事内画像を16:9アスペクト比で統一 ===== */
.entry-content img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
}

/* ===== 記事内画像サイズ感統一 ===== */
.entry-content img {
    max-height: 400px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin: 1.5em auto !important;
    object-fit: unset !important;
    aspect-ratio: unset !important;
}

/* ===== 記事内画像サイズ感統一 ===== */
.entry-content img {
    max-width: 100% !important;
    max-height: 500px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin: 1.5em auto !important;
    object-fit: unset !important;
    aspect-ratio: unset !important;
}

/* ===== スライダー画像間隔 ===== */
.hm-swiper .swiper-wrapper {
    gap: 0;
}
.hm-swiper .swiper-slide {
    padding: 0 8px;
}

/* ===== スライダーテキストサイズ調整 ===== */
.hm-slide-title {
    font-size: 1.1rem !important;
}

/* ===== スライダーグラデーション強化 ===== */
.hm-slide::after {
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 50%, transparent 100%) !important;
}

/* ===== スライダーグラデーションさらに強化 ===== */
.hm-slide::after {
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.1) 100%) !important;
}

/* ===== ヘッダー影なし ===== */
.header-main {
    box-shadow: none !important;
}

/* ===== セクションタイトル ===== */
.hm-section-title {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    color: #1a1a1a;
    margin: 0 0 32px;
    padding-bottom: 12px;
    border-bottom: 2px solid #c9a96e;
}

/* ===== スマホでのHeroとサムネ間隔調整 ===== */
@media (max-width: 768px) {
    .hm-articles-wrap {
        margin-top: 60px !important;
    }
}
