@charset "utf-8";

/* ==============================================
   FAQ トグルブロック — Figma デザイン準拠
============================================== */

.wp-block-sensing-faq-item {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	transition: border-color 0.2s;
}

.wp-block-sensing-faq-item:hover {
	border-color: #CFFF04;
}

/* ---- 質問部分 ---- */

.wp-block-sensing-faq-item .faq-item__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 20px 24px;
	margin: 0;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	font-family: inherit;
	-webkit-appearance: none;
	appearance: none;
}

.wp-block-sensing-faq-item .faq-item__question:focus-visible {
	outline: 2px solid #CFFF04;
	outline-offset: -2px;
}

.wp-block-sensing-faq-item .faq-item__question-text {
	font-size: 16px;
	font-weight: 700;
	color: #0A1628;
	line-height: 1.625;
	flex: 1;
}

/* H2/H3 タグ選択時のスタイルリセット */
.wp-block-sensing-faq-item h2.faq-item__question-text,
.wp-block-sensing-faq-item h3.faq-item__question-text {
	font-size: 16px;
	font-weight: 700;
	color: #0A1628;
	line-height: 1.625;
	margin: 0;
	padding: 0;
	border: none;
}

/* シェブロンアイコン（CSS三角形） */
.wp-block-sensing-faq-item .faq-item__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	transition: transform 0.3s ease-in-out;
}

.wp-block-sensing-faq-item .faq-item__icon svg {
	fill: #6B7280;
	transition: transform 0.3s ease-in-out;
}

/* 開いている状態 */
.wp-block-sensing-faq-item.is-open > .faq-item__question > .faq-item__icon {
	transform: rotate(180deg);
}

/* ---- 回答部分 ---- */

.wp-block-sensing-faq-item .faq-item__answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-in-out;
	background: #F9FAFB;
}

.wp-block-sensing-faq-item .faq-item__answer-inner {
	padding: 20px 24px;
	border-top: 1px solid #E5E7EB;
}

/* 回答内のテキストスタイル */
.wp-block-sensing-faq-item .faq-item__answer-inner p {
	font-size: 16px;
	line-height: 1.625;
	color: #4B5563;
	margin: 0 0 12px;
}

.wp-block-sensing-faq-item .faq-item__answer-inner p:last-child {
	margin-bottom: 0;
}

.wp-block-sensing-faq-item .faq-item__answer-inner ul,
.wp-block-sensing-faq-item .faq-item__answer-inner ol {
	margin: 8px 0;
	padding-left: 24px;
}

/* ---- エディター専用 ---- */

/* エディター内では常に展開表示 */
.editor-styles-wrapper .wp-block-sensing-faq-item .faq-item__answer,
.block-editor-block-list__layout .wp-block-sensing-faq-item .faq-item__answer {
	max-height: none;
	overflow: visible;
}

/* エディター内のRichText質問テキスト中央揃え */
.wp-block-sensing-faq-item .faq-item__question .block-editor-rich-text__editable {
	display: flex;
	align-items: center;
	min-height: 26px;
}

/* エディター内のInnerBlocks幅確保 */
.wp-block-sensing-faq-item .faq-item__answer .block-editor-inner-blocks {
	width: 100%;
}

.wp-block-sensing-faq-item .faq-item__answer .block-editor-block-list__layout {
	padding: 0;
}

/* エディタープレイスホルダー */
.wp-block-sensing-faq-item .faq-item__answer .block-editor-block-list__layout:empty::after {
	content: '回答を入力…';
	color: #9CA3AF;
	font-size: 14px;
	padding: 8px 0;
}

/* ---- レスポンシブ ---- */

@media screen and (max-width: 640px) {
	.wp-block-sensing-faq-item .faq-item__question {
		padding: 16px 20px;
	}

	.wp-block-sensing-faq-item .faq-item__answer-inner {
		padding: 16px 20px;
	}

	.wp-block-sensing-faq-item .faq-item__question-text {
		font-size: 15px;
	}
}
