/* ===== AAMIA Member 共通フォーム (Contact Form 7 準拠デザイン) ===== */

.aamiamember-form-wrap {
	margin: 30px 0;
}
.aamiamember-form-wrap--narrow {
	max-width: 560px;
	margin: 30px auto;
}

/* ===== セクション見出し (TOPページ準拠) ===== */
.aamiamember-section-heading {
	text-align: center;
	margin: 0 0 40px;
	padding: 0;
}
.aamiamember-section-heading__en {
	display: block;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #2c2c2c;
	line-height: 1.2;
	margin-bottom: 8px;
}
.aamiamember-section-heading__ja {
	display: block;
	font-size: 0.95rem;
	color: #666;
	letter-spacing: 0.08em;
	font-weight: 500;
}
@media (max-width: 767px) {
	.aamiamember-section-heading__en {
		font-size: 1.8rem;
	}
}

/* セクション小見出し (Myページなどの中見出し) */
.aamiamember-sub-heading {
	font-size: 1.15rem;
	font-weight: 700;
	color: #2c2c2c;
	border-left: 4px solid #9ECFBC;
	padding: 4px 0 4px 14px;
	margin: 40px 0 20px;
	letter-spacing: 0.04em;
}
.aamiamember-sub-heading:first-of-type {
	margin-top: 0;
}

/* 補助テキスト */
.aamiamember-lead {
	text-align: center;
	color: #666;
	margin: 0 0 30px;
	font-size: 0.95rem;
	line-height: 1.7;
}

.aamiamember-form dl {
	margin: 0;
	padding: 0;
	border-top: 1px solid #e5e5e5;
}
.aamiamember-form dt,
.aamiamember-form dd {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #e5e5e5;
}
.aamiamember-form dt p,
.aamiamember-form dd p {
	margin: 0;
}

@media (min-width: 768px) {
	.aamiamember-form dl {
		display: flex;
		flex-wrap: wrap;
	}
	.aamiamember-form dt {
		flex: 0 0 35%;
		max-width: 35%;
		background: #f7f7f7;
		padding: 20px 20px;
		display: flex;
		align-items: center;
		font-weight: 700;
	}
	/* dt 内の p を flex にして 必須ラベルを右端に */
	.aamiamember-form dt p {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	.aamiamember-form dd {
		flex: 0 0 65%;
		max-width: 65%;
		padding: 15px 20px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.aamiamember-form dt {
		background: #f7f7f7;
		padding: 12px 16px;
		font-weight: 700;
	}
	.aamiamember-form dt p {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.aamiamember-form dd {
		padding: 12px 16px;
	}
}

.aamiamember-form .req-label {
	display: inline-block;
	background: #d63638;
	color: #fff;
	padding: 3px 12px;
	border-radius: 3px;
	font-size: 0.78em;
	margin-left: auto; /* 右寄せ */
	font-weight: 700;
	letter-spacing: 0.05em;
	flex-shrink: 0;
}

/* ラジオボタン群 (会員区分など) */
.aamiamember-form .aamiamember-radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	align-items: center;
}
.aamiamember-form .aamiamember-radio {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	margin: 0;
	font-weight: normal;
}
.aamiamember-form .aamiamember-radio input[type="radio"] {
	width: auto;
	margin: 0;
	flex-shrink: 0;
}

.aamiamember-form input[type="text"],
.aamiamember-form input[type="email"],
.aamiamember-form input[type="password"],
.aamiamember-form input[type="tel"],
.aamiamember-form input[type="number"],
.aamiamember-form select,
.aamiamember-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #c8c8c8;
	border-radius: 3px;
	font-size: 1rem;
	box-sizing: border-box;
	background: #fff;
	line-height: 1.4;
}
.aamiamember-form input[readonly] {
	background: #f3f3f3;
	color: #555;
}
.aamiamember-form input:focus,
.aamiamember-form select:focus,
.aamiamember-form textarea:focus {
	outline: none;
	border-color: #1f5fa8;
	box-shadow: 0 0 0 2px rgba(31, 95, 168, 0.15);
}

.aamiamember-help {
	font-size: 0.85rem;
	color: #777;
	margin: 6px 0 0 !important;
}
.aamiamember-error {
	color: #d63638;
	font-size: 0.85rem;
	margin: 6px 0 0 !important;
	font-weight: 600;
}

.aamiamember-alert {
	padding: 14px 18px;
	border-radius: 4px;
	margin-bottom: 24px;
}
.aamiamember-alert--error {
	background: #fdecea;
	color: #b71c1c;
	border: 1px solid #f5c2bd;
}
.aamiamember-alert--info {
	background: #e7f3fe;
	color: #1565c0;
	border: 1px solid #bedcf7;
}

/* 送信ボタン (ヘッダー「会員登録」ボタンと同トーン) */
.aamiamember-actions {
	text-align: center;
	margin: 30px 0 !important;
}
.aamiamember-button,
input.aamiamember-button,
a.aamiamember-button {
	display: inline-block;
	background: #82C9AB; /* AAMIAミント (ヘッダー会員登録ボタンと統一) */
	color: #fff !important;
	border: none;
	padding: 14px 56px;
	font-size: 1rem;
	border-radius: 999px; /* ピル形状 */
	cursor: pointer;
	font-weight: 700;
	letter-spacing: 0.08em;
	transition: filter 0.15s ease, transform 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
	text-decoration: none !important;
	line-height: 1.2;
}
.aamiamember-button:hover,
input.aamiamember-button:hover,
a.aamiamember-button:hover {
	filter: brightness(0.92);
	transform: translateY(-1px);
}

/* Myページ用 */
.aamiamember-mypage-section {
	margin-bottom: 40px;
}
.aamiamember-mypage-section h2 {
	border-left: 4px solid #1f5fa8;
	padding-left: 12px;
	font-size: 1.15rem;
	margin: 0 0 18px;
}
.aamiamember-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 16px;
	border-top: 1px solid #e5e5e5;
}
.aamiamember-table th,
.aamiamember-table td {
	padding: 12px 16px;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
	vertical-align: top;
}
.aamiamember-table th {
	background: #f7f7f7;
	width: 35%;
	font-weight: 700;
}

/* 閲覧制限CTA */
.aamiamember-restriction {
	margin: 24px 0;
}
.aamiamember-restriction__message {
	text-align: center;
	font-size: 1.05rem;
	margin-bottom: 16px;
}
.aamiamember-cta {
	border: 2px solid #1f5fa8;
	padding: 24px;
	border-radius: 6px;
	background: #f6faff;
	text-align: center;
	margin: 24px 0;
}
.aamiamember-cta__heading {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0 0 12px;
	color: #1f5fa8;
}
.aamiamember-cta__body {
	margin: 0 0 16px;
}
.aamiamember-cta__button {
	display: inline-block;
	background: #f7701b;
	color: #fff !important;
	padding: 12px 32px;
	text-decoration: none;
	border-radius: 2px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.aamiamember-cta__button:hover {
	background: #e2660d;
}

/* ===== 一覧表示時の会員限定カード (ボカシ+チップ+CTA) ===== */
.aamiamember-thumb-blur {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	line-height: 0;
}
.aamiamember-thumb-blur img {
	filter: blur(6px);
	transform: scale(1.04); /* ボカシのフチを画像内に隠す */
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Snow Monkey の figure 内では親に absolute 配置 */
.c-entry-summary__figure .aamiamember-thumb-blur,
.smb-posts__item-figure .aamiamember-thumb-blur {
	position: absolute;
	inset: 0;
}

/* 「会員限定」チップ (左上) */
.aamiamember-card-chip {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 3;
	background: #d63638;
	color: #fff;
	padding: 5px 14px;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	pointer-events: none;
}

/* 「会員申し込みはこちら →」CTAピル (中央) */
.aamiamember-card-cta-pill {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	background: #f7701b;
	color: #fff;
	padding: 10px 20px;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	pointer-events: none;
	/* テーマ側の縦書き設定や text-orientation の影響を受けないよう明示 */
	writing-mode: horizontal-tb;
	text-orientation: mixed;
	direction: ltr;
	text-align: center;
	max-width: 90%;
	width: max-content;
}

/* 横幅の狭いカードでもはみ出さないよう、サイズを段階的に縮小 */
@media (max-width: 599px) {
	.aamiamember-card-cta-pill {
		font-size: 0.78rem;
		padding: 8px 14px;
	}
}

/* CTAピル ホバー時のフィードバック (親 <a> 経由) */
.aamiamember-thumb-blur:hover .aamiamember-card-cta-pill,
a:hover .aamiamember-card-cta-pill {
	background: #e2660d;
}

/* テキスト主体の一覧 (サイドウィジェット・TOP NEW等) ではチップのみ表示 */
.aamiamember-card-chip-inline {
	display: inline-block;
	background: #d63638;
	color: #fff;
	padding: 2px 12px;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.4;
	margin-right: 8px;
	vertical-align: middle;
	white-space: nowrap;
}

/* Snow Monkey の c-entries--text 変種: チップを行頭に配置 */
.c-entries--text .aamiamember-restricted-card--inline > a {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: nowrap;
}
.c-entries--text .aamiamember-card-chip-inline {
	flex-shrink: 0;
	margin-right: 0;
}
.c-entries--text .aamiamember-restricted-card--inline .c-entry-summary {
	flex: 1;
	min-width: 0;
}

/* WP標準ウィジェット (最近の投稿等) や一般リストではタイトル前にインライン表示 */
.aamiamember-restricted-card--inline.wp-block-latest-posts__post-title,
.widget .aamiamember-card-chip-inline,
.c-widget .aamiamember-card-chip-inline {
	margin-right: 6px;
}

/* JSで付与される .aamiamember-restricted-card クラス向け一括スタイル (アイキャッチ付き) */
.aamiamember-restricted-card {
	position: relative;
}
/* サムネ用コンテナを位置基準に (チップ・CTAの定位用) */
.aamiamember-restricted-card .c-entry-summary__figure,
.aamiamember-restricted-card .smb-posts__item-figure,
.aamiamember-restricted-card .post-thumbnail,
.aamiamember-restricted-card figure {
	position: relative;
	overflow: hidden;
}
/* カード内のサムネイル画像をボカシ */
.aamiamember-restricted-card img.wp-post-image,
.aamiamember-restricted-card .c-entry-summary__figure img,
.aamiamember-restricted-card .post-thumbnail img,
.aamiamember-restricted-card figure img,
.aamiamember-restricted-card .smb-posts__item-figure img {
	filter: blur(6px) !important;
	transform: scale(1.04);
}
/* タイトル以外の本文を軽くボカシ */
.aamiamember-restricted-card .c-entry-summary__content,
.aamiamember-restricted-card .c-entry-summary__meta,
.aamiamember-restricted-card .smb-posts__item-content {
	filter: blur(2.5px);
	pointer-events: none;
	user-select: none;
	opacity: 0.7;
}
/* タイトル自体は読める状態を維持 */
.aamiamember-restricted-card .c-entry-summary__title,
.aamiamember-restricted-card .smb-posts__item-title {
	position: relative;
	z-index: 2;
}

/* ===== ヘッダー / ドロワーメニュー内のボタン (既存「無料会員登録」と統一) ===== */
.aamiamember-nav-item {
	margin-left: 10px;
	list-style: none;
	display: flex;
	align-items: center;
	align-self: center;
	height: 100%;
}
.aamiamember-nav-item > a {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	height: auto !important;
	line-height: 1 !important;
}
.aamiamember-nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 18px 28px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.04em;
	line-height: 1.2;
	transition: filter 0.15s ease, transform 0.15s ease;
	white-space: nowrap;
	text-decoration: none !important;
	min-width: 160px;
	min-height: 56px;
	box-sizing: border-box;
}
.aamiamember-nav-icon {
	flex-shrink: 0;
}
.aamiamember-nav-label {
	display: inline-block;
}

/* 役割別カラー (既存「無料会員登録」と同じトーンで統一) */
.aamiamember-nav-btn--apply {
	background: #82C9AB; /* 「無料会員登録」と同じミント */
	color: #fff !important;
}
.aamiamember-nav-btn--login {
	background: #7FB6D9; /* 同トーンの水色 */
	color: #fff !important;
}
.aamiamember-nav-btn--mypage {
	background: #E8A170; /* 同トーンの暖色 */
	color: #fff !important;
}
.aamiamember-nav-btn--logout {
	background: #B0B0B0; /* 同トーンのグレー */
	color: #fff !important;
}

/* ホバー時はわずかに濃く */
.aamiamember-nav-item > a:hover .aamiamember-nav-btn {
	filter: brightness(0.92);
	transform: translateY(-1px);
}

/* スマホのドロワーメニュー内ではフル幅・低めの高さのブロックボタンに */
@media (max-width: 1023px) {
	.c-drawer .aamiamember-nav-item,
	.l-drawer .aamiamember-nav-item {
		display: block;
		margin: 8px 16px;
		height: auto;
	}
	.c-drawer .aamiamember-nav-item > a,
	.l-drawer .aamiamember-nav-item > a {
		display: block !important;
		width: 100%;
	}
	.c-drawer .aamiamember-nav-btn,
	.l-drawer .aamiamember-nav-btn {
		display: flex;
		width: 100%;
		padding: 10px 16px;
		font-size: 0.95rem;
		min-width: 0;
		min-height: 0;
	}
}
