/* FANZA 人妻特化 - 人妻テーマカラー・ヘッダー固定・CTA強調 */
:root {
  --married-primary: #8B1538;
  --married-primary-dark: #6B0F2A;
  --married-accent: #c41e3a;
  --married-bg: #faf6f7;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; font-size: 14px; line-height: 1.6; color: #333; background: var(--married-bg); }
.main { max-width: 1200px; margin: 0 auto; padding: 12px 16px; background: #fff; min-height: 60vh; }

.site-header { position: sticky; top: 0; z-index: 100; background: var(--married-primary); color: #fff; padding: 10px 16px; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.header-inner a { color: #fff; text-decoration: none; font-weight: bold; }
.global-nav { margin-top: 8px; font-size: 13px; }
.global-nav a { color: rgba(255,255,255,.9); text-decoration: none; margin-right: 12px; }
.global-nav a:hover { color: #fff; }

.breadcrumb { font-size: 12px; margin-bottom: 12px; color: #666; }
.breadcrumb a { color: var(--married-primary); text-decoration: none; }
.breadcrumb-sep { margin: 0 6px; }
.breadcrumb-current { color: #333; }

h1 { font-size: 1.5rem; margin: 0 0 12px; border-bottom: 1px solid #eee; padding-bottom: 8px; }
h2 { font-size: 1.2rem; margin: 20px 0 10px; }
.updated { font-size: 12px; color: #666; margin-bottom: 16px; }

/* Grid: 画像比率 2:3 統一・object-fit cover・タイトル2行省略・スマホ2列PC最大6列 */
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; }
.card { width: 100%; position: relative; }
.card-link { text-decoration: none; color: inherit; display: block; }
.card img.card-img { width: 100%; aspect-ratio: 2/3; object-fit: cover; border-radius: 8px; display: block; }
.card-title { font-size: 13px; margin: 8px 0 0; font-weight: normal; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-actress, .card-date { font-size: 11px; color: #666; margin: 2px 0 0; }
.card-btn { display: inline-block; margin-top: 6px; padding: 8px 14px; background: var(--married-accent); color: #fff; text-decoration: none; border-radius: 6px; font-size: 12px; font-weight: bold; box-shadow: 0 2px 4px rgba(0,0,0,.2); }
.card-btn:hover { background: var(--married-primary-dark); }
.card-btn-cta { font-weight: bold; }
.card-price { font-size: 11px; color: var(--married-primary); margin: 2px 0 0; font-weight: bold; }

/* お気に入りボタン（カード内右上・localStorage連携） */
.fav-btn { position: absolute; top: 8px; right: 8px; z-index: 2; cursor: pointer; font-size: 20px; color: #ccc; background: rgba(255,255,255,0.9); border-radius: 50%; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; padding: 0; border: none; }
.fav-btn:hover { color: #999; }
.fav-btn.active { color: #ff3366; }
.fav-message { margin: 12px 0; color: #666; font-size: 13px; }

.actress-card .card-title, .tag-card .card-title { -webkit-line-clamp: 1; }
.actress-grid .card, .tag-grid .card { min-height: auto; }
.card-count { font-size: 11px; color: #666; }

/* 作品詳細・大CTA・価格・セール */
.item-detail .item-mainimg { width: 100%; max-width: 320px; aspect-ratio: 2/3; object-fit: cover; border-radius: 8px; }
.item-meta { margin: 4px 0; }
.item-price { font-weight: bold; color: var(--married-primary); }
.cta { margin: 12px 0; }
.cta-top { margin-bottom: 12px; }
.btn-primary { display: inline-block; padding: 14px 28px; background: var(--married-accent); color: #fff; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 16px; box-shadow: 0 3px 8px rgba(139,21,56,.35); }
.btn-primary:hover { background: var(--married-primary-dark); }
.btn-cta-fixed { min-width: 200px; text-align: center; }
.sale-badge { display: inline-block; margin-left: 8px; padding: 2px 8px; background: var(--married-accent); color: #fff; font-size: 12px; border-radius: 4px; }
.related-actress-links { list-style: none; padding: 0; }
.related-actress-links li { margin: 6px 0; }
.related-actress-links a { color: var(--married-primary); text-decoration: none; font-weight: bold; }
.related-actress-links a:hover { text-decoration: underline; }
.related-tags { margin: 8px 0; }
.related-tags a { color: var(--married-primary); text-decoration: none; margin-right: 8px; }
.related-tags a:hover { text-decoration: underline; }
.tag-combo-links { list-style: none; padding: 0; }
.tag-combo-links li { margin: 6px 0; }
.tag-combo-links a { color: var(--married-primary); text-decoration: none; font-weight: bold; }

/* ページャー */
.pager { margin: 20px 0; }
.pager-inner { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pager-prev, .pager-next { padding: 6px 12px; background: #eee; border-radius: 4px; text-decoration: none; color: #333; }
.pager-prev:hover, .pager-next:hover { background: #ddd; }
.pager-nums a { display: inline-block; padding: 6px 10px; margin: 0 2px; text-decoration: none; color: var(--married-primary); border-radius: 4px; }
.pager-nums a:hover { background: #eee; }
.pager-current { background: var(--married-primary); color: #fff !important; }

.tag-links { list-style: none; padding: 0; }
.tag-links li { margin: 4px 0; }
.tag-links a { color: var(--married-primary); text-decoration: none; }
.list-slug { list-style: none; padding: 0; }
.list-slug li { margin: 6px 0; }
.list-slug a { color: var(--married-primary); text-decoration: none; }

/* 女優一覧タブ */
.actress-tabs { margin: 16px 0; display: flex; gap: 8px; }
.actress-tab { padding: 8px 16px; background: #eee; color: #333; text-decoration: none; border-radius: 6px; font-weight: bold; }
.actress-tab:hover { background: #ddd; }
.actress-tab.active { background: var(--married-primary); color: #fff; }
.actress-tab-content { margin-top: 12px; }

.site-footer { max-width: 1200px; margin: 0 auto; padding: 16px; text-align: center; font-size: 12px; color: #666; border-top: 1px solid #eee; }

/* レスポンシブ: スマホ2列・PC最大6列 */
@media (max-width: 600px) {
  .grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .card-title { font-size: 12px; }
}
@media (min-width: 900px) {
  .grid { grid-template-columns: repeat(6, 1fr); }
}
