/* ============================================================
 *  Coco Style for JIN:R
 *  ギャルの爆速レシピ・cocoさんの世界観で JIN:R を上書き
 * ============================================================ */

:root {
	--coco-pink:        #d63680;
	--coco-pink-deep:   #b02868;
	--coco-pink-pale1:  #ffd9ea;
	--coco-pink-pale2:  #ffeef6;
	--coco-pink-pale3:  #ffe9f3;
	--coco-pink-vivid:  #ffc2dd;
	--coco-cream1:      #fff7ee;
	--coco-cream2:      #fff6d9;
	--coco-yellow:      #ffd23e;
	--coco-text:        #4a2c24;
	--coco-text-soft:   #7a5648;
	--coco-line:        #f3d8e3;
	--coco-bg:          #fffafc;
	--coco-shadow-soft: 0 6px 18px rgba(214, 54, 128, .08);
	--coco-shadow-card: 0 12px 28px rgba(214, 54, 128, .14);
	--coco-radius:      18px;
}

/* ====== BODY / 全体背景 ====== */
body {
	background:
		radial-gradient(ellipse at top, #ffeef6 0%, #fffafc 60%) no-repeat !important;
	color: var(--coco-text) !important;
}
body, body * {
	font-family: 'Hiragino Maru Gothic ProN', 'Quicksand', 'Yu Gothic', sans-serif;
}

/* ====== ヘッダー：和紙のような透過＋ピンク下線 ====== */
.l-header,
.l-header__inner,
header.l-header,
.p-fixedHeader {
	background: rgba(255, 250, 252, .92) !important;
	border-bottom: 2px solid var(--coco-pink-pale1) !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

/* サイトロゴ：丸＋ピンク枠 */
.l-header__logo img,
.c-header__logo img,
.l-header img.custom-logo,
.p-header__logo img {
	border-radius: 50% !important;
	border: 2px solid var(--coco-pink) !important;
	box-shadow: var(--coco-shadow-soft);
	background: #fff;
}

/* グローバルナビ：ホバーで下線ピンク */
.c-gnav__item a,
.l-gnav__item a,
.c-gnav a,
nav a {
	color: var(--coco-text) !important;
	font-weight: 700;
	transition: color .25s, border-color .25s !important;
}
.c-gnav__item a:hover,
.l-gnav__item a:hover,
.c-gnav a:hover,
nav a:hover {
	color: var(--coco-pink) !important;
}

/* ====== 記事カード（一覧） ====== */
.p-postList__item,
.p-postCard,
.p-entry-card,
article.post,
.c-cardBox,
.p-postList > li {
	background: #fff !important;
	border: 1px solid var(--coco-line) !important;
	border-radius: var(--coco-radius) !important;
	box-shadow: var(--coco-shadow-soft) !important;
	overflow: hidden;
	transition: transform .25s, box-shadow .25s !important;
}
.p-postList__item:hover,
.p-postCard:hover,
.p-entry-card:hover,
article.post:hover,
.c-cardBox:hover,
.p-postList > li:hover {
	transform: translateY(-4px) !important;
	box-shadow: var(--coco-shadow-card) !important;
	border-color: var(--coco-pink-pale1) !important;
}

/* カテゴリーラベル：ピンクの丸タグに */
.p-postList__cat,
.p-postCard__cat,
.c-cat,
.c-categoryLabel,
.cat-label,
.p-entry-card__cat,
.entry-cat {
	background: var(--coco-pink-pale2) !important;
	color: var(--coco-pink-deep) !important;
	border: none !important;
	border-radius: 99px !important;
	font-weight: 800 !important;
	padding: .2rem .8rem !important;
	font-size: .72rem !important;
	letter-spacing: .02em;
}

/* 記事タイトル：ホバーでピンク */
.p-postList__title,
.p-postCard__title,
.p-entry-card__title,
article h2,
article h3 {
	font-weight: 900 !important;
	color: var(--coco-text) !important;
}
.p-postList__title a:hover,
.p-postCard__title a:hover,
.p-entry-card__title a:hover,
article h2 a:hover,
article h3 a:hover {
	color: var(--coco-pink) !important;
}

/* メタ情報の日付・コメント数 */
.p-postList__meta,
.p-postCard__meta,
.p-entry-card__meta,
.entry-meta {
	color: var(--coco-text-soft) !important;
	font-size: .82rem;
}

/* ====== 個別記事の本文 ====== */
.p-entry,
.p-singlePost,
.l-main article {
	background: #fff !important;
	border-radius: var(--coco-radius) !important;
	border: 1px solid var(--coco-line) !important;
	box-shadow: var(--coco-shadow-soft) !important;
}

/* 見出し h2：ピンクの左ボーダー＋淡ピンク背景 */
.p-entry h2:not([class*="p-"]):not([class*="c-"]),
.p-singlePost h2,
article .entry-content h2 {
	background: var(--coco-pink-pale2) !important;
	border-left: 6px solid var(--coco-pink) !important;
	color: var(--coco-text) !important;
	padding: .55rem 1.1rem !important;
	border-radius: 6px !important;
	font-weight: 900 !important;
	line-height: 1.5 !important;
}

/* h3：ピンクの点線下線 */
.p-entry h3:not([class*="p-"]):not([class*="c-"]),
.p-singlePost h3,
article .entry-content h3 {
	color: var(--coco-pink-deep) !important;
	border-bottom: 2px dotted var(--coco-pink-pale1) !important;
	padding-bottom: .3rem !important;
	font-weight: 800 !important;
}

/* 本文リンク：ピンクの下線 */
.p-entry a:not(.c-button):not(.wp-block-button__link),
article .entry-content a:not(.c-button):not(.wp-block-button__link) {
	color: var(--coco-pink) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--coco-pink) !important;
	text-decoration-thickness: 1.5px !important;
	text-underline-offset: 3px;
}

/* 引用ブロック */
.p-entry blockquote,
article blockquote,
.wp-block-quote {
	background: var(--coco-pink-pale2) !important;
	border-left: 4px solid var(--coco-pink) !important;
	border-radius: 8px !important;
	padding: 1rem 1.2rem !important;
	color: var(--coco-text-soft) !important;
}

/* コード（インライン） */
.p-entry code,
article code:not(pre code) {
	background: var(--coco-pink-pale2) !important;
	color: var(--coco-pink-deep) !important;
	padding: .15rem .5rem !important;
	border-radius: 4px;
	font-size: .9em;
}

/* ====== ボタン全般 ====== */
.c-button,
.wp-block-button__link,
button.button,
input[type="submit"] {
	background: var(--coco-pink) !important;
	border-color: var(--coco-pink) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
	letter-spacing: .03em;
	transition: background .2s, transform .2s !important;
}
.c-button:hover,
.wp-block-button__link:hover,
button.button:hover,
input[type="submit"]:hover {
	background: var(--coco-pink-deep) !important;
	border-color: var(--coco-pink-deep) !important;
	transform: translateY(-2px);
}

/* ====== サイドバー・ウィジェット ====== */
.l-sidebar .c-widget,
.l-sidebar aside,
aside.widget {
	background: #fff !important;
	border: 1px solid var(--coco-line) !important;
	border-radius: var(--coco-radius) !important;
	box-shadow: var(--coco-shadow-soft) !important;
}
.c-widget__title,
.widget-title,
.widget h3 {
	border-bottom: 3px solid var(--coco-pink) !important;
	padding-bottom: .5rem !important;
	font-weight: 900 !important;
	color: var(--coco-text) !important;
}

/* JIN:Rプロフィールウィジェットを淡ピンク背景に */
.p-profile,
.p-profileWidget,
[class*="profile-style"],
.jinr_profile,
.c-profileBox {
	background: linear-gradient(160deg, var(--coco-pink-pale2), var(--coco-cream1)) !important;
	border-radius: var(--coco-radius) !important;
	padding: 1.4rem 1.2rem !important;
}
.p-profile img,
.p-profileWidget img,
.jinr_profile img {
	border-radius: 50% !important;
	border: 3px solid var(--coco-pink) !important;
	box-shadow: var(--coco-shadow-soft);
}

/* SNSアイコン（プロフィール下） */
.p-profile__sns a,
.jinr_profile__sns a,
.c-snsList a {
	background: var(--coco-pink) !important;
	color: #fff !important;
}
.p-profile__sns a:hover,
.jinr_profile__sns a:hover {
	background: var(--coco-pink-deep) !important;
}

/* ====== ページネーション ====== */
.c-pagination a,
.c-pagination span,
.wp-pagenavi a,
.wp-pagenavi span {
	background: #fff !important;
	border: 1px solid var(--coco-line) !important;
	color: var(--coco-text) !important;
	border-radius: 10px !important;
	font-weight: 800 !important;
}
.c-pagination a:hover,
.wp-pagenavi a:hover {
	background: var(--coco-pink-pale2) !important;
	border-color: var(--coco-pink) !important;
	color: var(--coco-pink) !important;
}
.c-pagination .current,
.wp-pagenavi .current {
	background: var(--coco-pink) !important;
	border-color: var(--coco-pink) !important;
	color: #fff !important;
}

/* ====== フッター ====== */
.l-footer,
footer.l-footer {
	background: linear-gradient(160deg, var(--coco-pink-pale1), var(--coco-pink-pale3)) !important;
	color: var(--coco-text) !important;
}
.l-footer a,
footer a {
	color: var(--coco-text) !important;
}
.l-footer a:hover {
	color: var(--coco-pink-deep) !important;
}
.l-footer__copy {
	color: var(--coco-text-soft) !important;
}

/* ====== 検索フォーム ====== */
.c-searchForm input[type="search"],
.search-form input[type="search"],
input.search-field {
	border-radius: 10px !important;
	border: 1px solid var(--coco-line) !important;
	background: var(--coco-bg) !important;
}
.c-searchForm button,
.search-form button {
	background: var(--coco-pink) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
}

/* ====== タグ ====== */
.tag-cloud-link,
.c-tag,
.p-entry__tag {
	background: var(--coco-pink-pale2) !important;
	color: var(--coco-pink-deep) !important;
	border-radius: 99px !important;
	border: none !important;
}
.tag-cloud-link:hover {
	background: var(--coco-pink) !important;
	color: #fff !important;
}

/* ====== コメント欄 ====== */
.comment-body,
.p-comment {
	background: var(--coco-pink-pale2) !important;
	border-radius: 12px !important;
	border: none !important;
}
.comment-author,
.fn {
	color: var(--coco-pink-deep) !important;
	font-weight: 700 !important;
}

/* ====== 補正：JIN:R特有の青系を抑える ====== */
[class*="-blue"],
[class*="--blue"] {
	color: var(--coco-pink) !important;
}

/* ====== モバイル：ハンバーガーメニュー ====== */
.p-spMenu__toggle,
.menu-toggle {
	color: var(--coco-pink) !important;
}

/* ====== JIN:R デモプリセットの壊れた表示を抑える ====== */
.shortcode-error,
.jinr_profile-fallback {
	display: none !important;
}
