/*
Theme Name: Jukujo Affiliate Theme Light CMS PRO
Theme URI: https://example.com/jukujo-theme-light-cms-pro
Author: ChatGPT
Author URI: https://example.com
Description: 白ベース／更新しやすい構成（CPT＋ドラッグ並び替え＋ブロック＋オプションページ＋OGP/構造化データ）
Version: 2.2.0
Text Domain: jukujo-light-cms-pro
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: responsive-layout, custom-logo, custom-menu, block-styles
*/

/* ====== 基本 ====== */
:root{
  --bg:#fff; --text:#1a1a1a; --muted:#5a5a5a; --border:#e6e6e6;
  --card:#fff; --primary:#c03a3a; --primary-dark:#9a2d2d;
  --accent:#ffedd5; --shadow:0 10px 24px rgba(20,20,20,.08);
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);
  font-family:"Noto Sans JP","Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1.8;}
img{max-width:100%;height:auto;}

/* コンテナ＆見出し */
.container{max-width:1200px;margin:32px auto;padding:0 16px;}
h1,h2,h3{line-height:1.35;margin:0 0 .6em;}
.section-title{margin:0 0 10px;font-size:clamp(20px,3vw,26px);color:var(--primary-dark);}
.subtle{color:var(--muted);}

/* ====== ヘッダー＆ナビ ====== */
.site-header{position:relative;min-height:42vh;display:grid;place-items:center;
  text-align:center;border-bottom:1px solid var(--border);}
.site-header .hero{position:absolute;inset:0;background:url(assets/images/hero.jpg) center/cover no-repeat;opacity:.85;z-index:1;}
.site-header .inner{position:relative;z-index:2;padding:48px 16px;backdrop-filter:saturate(130%) blur(2px);}
.site-title{font-size:clamp(28px,4vw,44px);margin:0 0 6px;color:var(--primary-dark);}
.site-tagline{font-size:clamp(14px,1.8vw,18px);color:var(--muted);margin:0;}
.navbar{background:#fff;border-bottom:1px solid var(--border);}
.navbar .wrap{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;min-height:56px;}
/* メニューの箇条書き(・)を消して横並びに */
.menu,.menu ul{list-style:none;margin:0;padding:0;}
.menu{display:flex;flex-wrap:wrap;gap:6px 10px;}
.menu li{margin:0;}
.menu a{display:inline-block;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--text);}
.menu a:hover{background:#f6f6f6;}

.breadcrumbs{max-width:1200px;margin:16px auto 0;padding:0 16px;font-size:14px;color:#666;}
.breadcrumbs a{color:inherit;text-decoration:none;}
.breadcrumbs a:hover{text-decoration:underline;}

/* ====== グリッド＆カード ====== */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;}
.card{grid-column:span 6;background:var(--card);border:1px solid var(--border);
  border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(20,20,20,.12);}
.card img{width:100%;display:block;aspect-ratio:3/2;object-fit:cover;}
.card .content{padding:18px 18px 22px;}
.card h2,.card h3{margin:.1em 0 .4em;color:var(--primary-dark);}
.badge{display:inline-block;margin-right:8px;padding:2px 8px;font-size:12px;color:var(--primary-dark);background:var(--accent);border-radius:999px;}
.cta{display:inline-block;background:var(--primary);color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:700;box-shadow:0 6px 16px rgba(192,58,58,.25);}
.cta:hover{background:var(--primary-dark);}
@media (max-width:900px){.card{grid-column:span 12;}}

/* ====== ランキングを見栄え良く（画像の巨大化を防止） ====== */
section.grid .card{grid-column:span 12;}
.rank-card{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start;}
.rank-card img{aspect-ratio:auto;object-fit:cover;height:100%;max-height:360px;}
.rank-card .content{padding:0;}
@media (max-width:900px){.rank-card{grid-template-columns:1fr;} .rank-card img{max-height:260px;}}

/* ====== 表 ====== */
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow);}
.table{width:100%;border-collapse:collapse;min-width:720px;}
.table th,.table td{padding:12px 14px;border-bottom:1px solid #eee;text-align:left;}
.table th{background:#fafafa;font-weight:700;}

/* ====== フッター ====== */
.footer{background:#fff;color:#666;padding:28px 16px;text-align:center;border-top:1px solid var(--border);margin-top:48px;}

/* ====== TOP用（front-page） ====== */
.front-hero{position:relative;min-height:48vh;display:grid;place-items:center;text-align:center;border-bottom:1px solid var(--border);}
.front-hero::before{content:"";position:absolute;inset:0;background:url(assets/images/hero.jpg) center/cover no-repeat;opacity:.88;}
.front-hero .inner{position:relative;z-index:1;padding:48px 16px;backdrop-filter:saturate(130%) blur(2px);}
.front-hero h1{margin:0 0 6px;font-size:clamp(28px,4vw,44px);color:var(--primary-dark);}
.front-hero p{margin:0 0 16px;color:var(--muted);}
.front-hero .cta{display:inline-block;background:var(--primary);color:#fff;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700;}
.front-hero .cta:hover{background:var(--primary-dark);}
.front-cards{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:24px;}
.front-cards .card{grid-column:span 6;}
@media (max-width:900px){.front-cards .card{grid-column:span 12;}}

.btns{display:flex;gap:10px;flex-wrap:wrap}
.cta.outline{background:#fff;color:var(--primary-dark);border:1px solid var(--primary-dark);box-shadow:none}
.cta.outline:hover{background:#fef2f2}
.rank-card a.thumb{display:block}
.rank-card h2 a{color:var(--primary-dark);text-decoration:none}
.rank-card h2 a:hover{text-decoration:underline}

.btns{display:flex;gap:10px;flex-wrap:wrap}
.cta.outline{background:#fff;color:var(--primary-dark);border:1px solid var(--primary-dark);box-shadow:none}
.cta.outline:hover{background:#fef2f2}
.rank-card a.thumb{display:block}
.rank-card h2 a{color:var(--primary-dark);text-decoration:none}
.rank-card h2 a:hover{text-decoration:underline}

/* ===== 単体ページ用（ranking_item） ===== */
.detail-head{margin:18px 0 10px;}
.detail-title{margin:.2em 0 .2em;font-size:clamp(22px,3.4vw,30px);color:var(--primary-dark);}
.detail-grid{display:grid;grid-template-columns:420px 1fr;gap:24px;align-items:start;margin:16px 0 24px;}
.detail-thumb img{width:100%;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow);}
.detail-side .lead{font-weight:500;margin:0 0 12px;}
.meta-table{display:grid;grid-template-columns:1fr;gap:8px;margin:10px 0 16px;}
.meta-table > div{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;}
.post-nav{display:flex;justify-content:space-between;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border);}
@media (max-width:900px){
  .detail-grid{grid-template-columns:1fr;}
}
.btns{display:flex;gap:10px;flex-wrap:wrap}
.cta.outline{background:#fff;color:var(--primary-dark);border:1px solid var(--primary-dark);box-shadow:none}
.cta.outline:hover{background:#fef2f2}

/* ==== 女優レビュー単体 ==== */
.profile-grid{display:grid;grid-template-columns:420px 1fr;gap:24px;align-items:start;margin:16px 0 24px;}
.profile-thumb img{width:100%;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow);}
.profile-side .lead{font-weight:500;margin:0 0 12px;}
.profile-table{display:grid;grid-template-columns:1fr;gap:8px;margin:10px 0 16px;}
.profile-table > div{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;}
@media (max-width:900px){ .profile-grid{grid-template-columns:1fr;} }

.actress-list{columns:2; column-gap:24px; padding-left:18px;}
@media (max-width:900px){ .actress-list{columns:1;} }
.chips a{text-decoration:none; color:inherit;}

/* 投稿の単体ページ体裁 */
.detail-head{margin:18px 0 10px;}
.detail-title{margin:.2em 0 .2em;font-size:clamp(22px,3.4vw,30px);color:var(--primary-dark);}
.detail-thumb img{width:100%;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow);margin:12px 0 18px;}
.detail-body p{margin:0 0 1.1em;}
.post-nav{display:flex;justify-content:space-between;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border);}

.card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.front-cards .card{background:#fff}
