/* FANZA_POST トップページ用パーツ(ステップ8)。ダーク下地＋FANZA赤で記事と統一。 */
.fp-actress-index, .fp-actress-cards, .fp-post-cards, .fp-chips, .fp-search { margin: 0 0 1.4em; }

/* --- 検索窓 --- */
.fp-search { display: flex; max-width: 480px; }
.fp-search-input {
	flex: 1; background: #1c2026; color: #e8e8ea; border: 1px solid #333a43;
	border-right: 0; border-radius: 8px 0 0 8px; padding: 11px 14px; font-size: 14px; outline: none;
}
.fp-search-input::placeholder { color: #7d858f; }
.fp-search-btn {
	background: #e0393b; color: #fff; border: 0; border-radius: 0 8px 8px 0;
	padding: 0 20px; font-size: 14px; font-weight: 500; cursor: pointer;
}
.fp-search-btn:hover { background: #c92e30; }

/* --- 50音インデックス --- */
.fp-idx-nav-wrap { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.fp-idx-nav {
	background: #1c2026; border: 1px solid #2c323a; color: #d6dbe2 !important;
	padding: 5px 13px; border-radius: 6px; font-size: 14px; text-decoration: none;
}
.fp-idx-nav:hover { border-color: #e0393b; color: #fff !important; }
.fp-idx-row { margin-bottom: 14px; }
.fp-idx-head {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	width: 100%; background: none; border: 0; border-left: 4px solid #e0393b;
	color: #fff; font-size: 15px; font-weight: 500; text-align: left; cursor: pointer;
	padding: 9px 6px 9px 8px; margin: 0 0 8px; border-radius: 0;
}
.fp-idx-caret { display: none; color: #9aa0a8; font-size: 13px; transition: transform .2s; }
/* JSありのとき: 既定で名前リストを畳み、開いた行だけ表示。キャレットも表示。 */
.fp-actress-index.fp-enh .fp-idx-caret { display: inline; }
.fp-actress-index.fp-enh .fp-idx-list { display: none; }
.fp-actress-index.fp-enh .fp-idx-row.fp-open .fp-idx-list { display: flex; }
.fp-actress-index.fp-enh .fp-idx-row.fp-open .fp-idx-caret { transform: rotate(180deg); }
.fp-idx-list { display: flex; flex-wrap: wrap; gap: 6px; }
.fp-idx-item {
	background: #20242b; color: #d6dbe2 !important; padding: 4px 11px; border-radius: 6px;
	font-size: 13px; text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
}
.fp-idx-item:hover { background: #2a2f37; color: #fff !important; }
.fp-idx-count { font-size: 11px; color: #8b929b; }

/* --- 女優カード --- */
.fp-actress-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 12px; }
.fp-acard { text-decoration: none; color: #e8e8ea !important; display: block; }
.fp-acard-thumb {
	aspect-ratio: 3 / 4; background: #23272e; border-radius: 8px; overflow: hidden; margin-bottom: 5px;
}
.fp-acard-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fp-acard-ph { display: block; width: 100%; height: 100%; }
.fp-acard-name { font-size: 13px; line-height: 1.4; }
.fp-acard-furi { font-size: 11px; color: #8b929b; }
.fp-acard-count { font-size: 11px; color: #e0706f; }

/* --- 投稿カード(新着/人気) --- */
.fp-post-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.fp-pcard { text-decoration: none; color: #e8e8ea !important; display: block; }
.fp-pcard-thumb {
	position: relative; aspect-ratio: 16 / 10; background: #23272e; border-radius: 8px;
	overflow: hidden; margin-bottom: 5px;
}
.fp-pcard-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fp-pcard-ph { display: block; width: 100%; height: 100%; }
.fp-rank {
	position: absolute; top: 6px; left: 6px; background: #e0393b; color: #fff; font-size: 12px;
	font-weight: 500; width: 22px; height: 22px; border-radius: 6px; display: flex;
	align-items: center; justify-content: center;
}
.fp-pcard-title { font-size: 13px; line-height: 1.4; }
.fp-pcard-actress { font-size: 11px; color: #8b929b; }

/* --- チップ(ジャンル/レーベル) --- */
.fp-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.fp-chip {
	background: #20242b; color: #d6dbe2 !important; padding: 5px 12px; border-radius: 6px;
	font-size: 13px; text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
}
.fp-chip:hover { background: #2a2f37; color: #fff !important; }
.fp-chip-count { font-size: 11px; color: #8b929b; }

@media (max-width: 782px) {
	.fp-actress-cards { grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); }
	.fp-post-cards { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
}

/* --- 広告バナー --- */
.fp-ad-wrap { margin: 1.4em 0; }
.fp-ad-wrap img { max-width: 100%; height: auto; }

/* --- 検索窓(強化・スマホ優先) --- */
.fp-search-wrap { margin: 0 0 1.4em; }
.fp-search--sticky { position: sticky; top: 0; z-index: 30; background: #14161a; padding: 8px 0; }
.fp-search-input { font-size: 16px; padding: 13px 14px; } /* 16px=iOSズーム防止 */
.fp-search-btn { font-size: 15px; padding: 0 22px; }
@media (max-width: 782px) {
	.fp-search-input { padding: 14px 14px; }
}

/* --- フロントページの見出し(固定ページのh2/h3)を暗背景で読めるように ---
   Cocoon既定の明るいh2帯＋明色文字で見えなくなるのを上書き。フロントページのみ。 */
.home .entry-content h2,
.home .entry-content h3 {
	background: transparent !important;
	color: #ffffff !important;
	border: 0 !important;
	border-left: 4px solid #e0393b !important;
	border-radius: 0 !important;
	padding: 4px 0 4px 12px !important;
	margin: 1.6em 0 0.8em !important;
	box-shadow: none !important;
}
