/*
 * Lounge Madonna - FAQ Page
 * File: madonna-faq-page.css
 */

.madonna-faqpage {
	--faq-bg:#fffaf7;
	--faq-bg-pink:#fff3f4;
	--faq-pink:#e9677e;
	--faq-pink-dark:#d9546d;
	--faq-gold:#c99a46;
	--faq-brown:#3e2b27;
	--faq-text:#5c4b47;
	--faq-muted:#8c7772;
	--faq-line:#efd8d4;
	background:var(--faq-bg);
	color:var(--faq-text);
	font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}

.madonna-faqpage *,
.madonna-faqpage *::before,
.madonna-faqpage *::after { box-sizing:border-box; }

.madonna-faqpage__container {
	width:min(calc(100% - 48px),1040px);
	margin-inline:auto;
}

/* Hero */
.madonna-faqpage__hero {
	padding:96px 0 68px;
	text-align:center;
	background:
		radial-gradient(circle at 14% 30%,rgba(233,103,126,.10),transparent 30%),
		radial-gradient(circle at 85% 15%,rgba(201,154,70,.10),transparent 28%),
		linear-gradient(180deg,#fff,#fff8f6);
	border-bottom:1px solid var(--faq-line);
}

.madonna-faqpage__eyebrow {
	margin:0 0 10px;
	color:var(--faq-gold);
	font-family:Georgia,serif;
	font-size:13px;
	letter-spacing:.25em;
}

.madonna-faqpage__title {
	margin:0;
	color:var(--faq-brown);
	font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
	font-size:clamp(38px,6vw,62px);
	font-weight:500;
	letter-spacing:.12em;
}

.madonna-faqpage__title span { color:var(--faq-pink); }

.madonna-faqpage__lead {
	margin:22px 0 0;
	color:var(--faq-muted);
	font-size:14px;
	line-height:2;
}

/* Category nav */
.madonna-faqpage__nav {
	position:sticky;
	top:106px;
	z-index:50;
	padding:14px 0;
	background:rgba(255,250,247,.94);
	border-bottom:1px solid var(--faq-line);
	backdrop-filter:blur(10px);
}

.madonna-faqpage__nav-list {
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:8px;
}

.madonna-faqpage__nav-list a {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	min-height:45px;
	padding:8px 10px;
	border:1px solid var(--faq-line);
	border-radius:999px;
	background:#fff;
	color:var(--faq-brown);
	font-size:11px;
	text-decoration:none;
	transition:.2s ease;
}

.madonna-faqpage__nav-list a span {
	color:var(--faq-pink);
	font-family:Georgia,serif;
	font-style:italic;
}

.madonna-faqpage__nav-list a:hover {
	border-color:var(--faq-pink);
	background:var(--faq-bg-pink);
	color:var(--faq-pink-dark);
}

/* Contents */
.madonna-faqpage__contents {
	padding-top:72px;
	padding-bottom:110px;
}

.madonna-faq-category {
	scroll-margin-top:170px;
	margin-bottom:88px;
}

.madonna-faq-category__head {
	display:flex;
	align-items:center;
	gap:18px;
	margin-bottom:28px;
	padding-bottom:18px;
	border-bottom:1px solid var(--faq-line);
}

.madonna-faq-category__number {
	flex:0 0 auto;
	width:56px;
	height:56px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:linear-gradient(135deg,#ef8799,var(--faq-pink-dark));
	color:#fff;
	font-family:Georgia,serif;
	font-size:18px;
	font-style:italic;
	box-shadow:0 8px 18px rgba(233,103,126,.18);
}

.madonna-faq-category__head p {
	margin:0 0 4px;
	color:var(--faq-gold);
	font-family:Georgia,serif;
	font-size:10px;
	letter-spacing:.15em;
}

.madonna-faq-category__head h2 {
	margin:0;
	color:var(--faq-brown);
	font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
	font-size:29px;
	font-weight:500;
	letter-spacing:.06em;
}

/* Accordion */
.madonna-faq-list { display:grid; gap:12px; }

.madonna-faq-item {
	border:1px solid var(--faq-line);
	border-radius:16px;
	background:rgba(255,255,255,.92);
	box-shadow:0 6px 18px rgba(79,48,43,.045);
	overflow:hidden;
}

.madonna-faq-item summary {
	position:relative;
	display:flex;
	align-items:center;
	gap:15px;
	min-height:74px;
	padding:18px 64px 18px 23px;
	color:var(--faq-brown);
	font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
	font-size:16px;
	line-height:1.7;
	cursor:pointer;
	list-style:none;
}

.madonna-faq-item summary::-webkit-details-marker { display:none; }

.madonna-faq-item summary::after {
	content:"+";
	position:absolute;
	right:24px;
	top:50%;
	transform:translateY(-50%);
	width:30px;
	height:30px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:var(--faq-bg-pink);
	color:var(--faq-pink);
	font-family:Arial,sans-serif;
	font-size:20px;
	transition:.2s ease;
}

.madonna-faq-item[open] summary::after {
	content:"−";
	background:var(--faq-pink);
	color:#fff;
}

.madonna-faq-item__q,
.madonna-faq-item__a {
	flex:0 0 auto;
	color:var(--faq-pink);
	font-family:Georgia,serif;
	font-size:22px;
	font-style:italic;
}

.madonna-faq-item__answer {
	display:flex;
	gap:15px;
	margin:0 22px;
	padding:20px 2px 24px;
	border-top:1px dashed var(--faq-line);
}

.madonna-faq-item__answer p {
	margin:0;
	color:var(--faq-text);
	font-size:13px;
	line-height:2;
}

/* Contact */
.madonna-faq-contact {
	padding:56px 32px;
	border:1px solid rgba(233,103,126,.25);
	border-radius:28px;
	background:
		radial-gradient(circle at 15% 15%,rgba(255,255,255,.8),transparent 20%),
		linear-gradient(135deg,#fff0f2,#fffaf7);
	text-align:center;
	box-shadow:0 12px 30px rgba(79,48,43,.07);
}

.madonna-faq-contact__icon {
	margin:0 0 10px;
	color:var(--faq-pink);
	font-size:30px;
}

.madonna-faq-contact h2 {
	margin:0;
	color:var(--faq-brown);
	font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
	font-size:27px;
	font-weight:500;
	line-height:1.7;
}

.madonna-faq-contact > p:not(.madonna-faq-contact__icon) {
	margin:18px 0 25px;
	color:var(--faq-muted);
	font-size:13px;
	line-height:1.9;
}

.madonna-faq-contact__button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:50px;
	padding:12px 30px;
	border-radius:999px;
	background:linear-gradient(135deg,var(--faq-pink),#ef8193);
	color:#fff !important;
	font-size:13px;
	font-weight:700;
	text-decoration:none;
	box-shadow:0 8px 20px rgba(233,103,126,.2);
}

/* Responsive */
@media (max-width:991px) {
	.madonna-faqpage__nav { top:68px; }

	.madonna-faqpage__nav-list {
		display:flex;
		overflow-x:auto;
		padding-bottom:3px;
		scrollbar-width:none;
	}

	.madonna-faqpage__nav-list::-webkit-scrollbar { display:none; }

	.madonna-faqpage__nav-list a {
		flex:0 0 auto;
		padding-inline:17px;
	}

	.madonna-faq-category { scroll-margin-top:140px; }
}

@media (max-width:767px) {
	.madonna-faqpage__container {
		width:min(calc(100% - 28px),1040px);
	}

	.madonna-faqpage__hero { padding:64px 0 48px; }
	.madonna-faqpage__title { font-size:36px; }
	.madonna-faqpage__lead { font-size:12px; }

	.madonna-faqpage__contents {
		padding-top:50px;
		padding-bottom:70px;
	}

	.madonna-faq-category { margin-bottom:62px; }
	.madonna-faq-category__head { gap:13px; }

	.madonna-faq-category__number {
		width:46px;
		height:46px;
		font-size:15px;
	}

	.madonna-faq-category__head h2 { font-size:22px; }

	.madonna-faq-item summary {
		min-height:66px;
		padding:15px 50px 15px 16px;
		gap:10px;
		font-size:14px;
	}

	.madonna-faq-item summary::after {
		right:15px;
		width:26px;
		height:26px;
		font-size:17px;
	}

	.madonna-faq-item__q,
	.madonna-faq-item__a { font-size:19px; }

	.madonna-faq-item__answer {
		gap:10px;
		margin:0 16px;
		padding:16px 0 19px;
	}

	.madonna-faq-item__answer p {
		font-size:12px;
		line-height:1.9;
	}

	.madonna-faq-contact {
		padding:38px 18px;
		border-radius:20px;
	}

	.madonna-faq-contact h2 { font-size:21px; }

	.madonna-faq-contact > p:not(.madonna-faq-contact__icon) {
		font-size:12px;
	}
}

/* =========================================================
   FAQページ 外側背景・横幅修正
========================================================= */

/* FAQページ全体の背景 */
body.page-template-page-faq {
	background: #fffaf7 !important;
}

/* Simple Plus側のmain幅・背景をリセット */
body.page-template-page-faq .madonna-faq-page {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fffaf7 !important;
}

/* FAQコンテンツ自体も全面背景に */
body.page-template-page-faq .madonna-faqpage {
	width: 100%;
	max-width: none;
	margin: 0;
	background: #fffaf7;
}