/* Masalmint Flipbook — vitrin + cinematic overlay + StPageFlip styles */

:root {
	--fb-bg:#0E0A06;
	--fb-paper:#FBF7F0;
	--fb-paper-warm:#F3EBDC;
	--fb-ink:#1A1814;
	--fb-ink-soft:#3A3530;
	--fb-ink-mute:#6B6660;
	--fb-teal:#2D6A5F;
	--fb-teal-deep:#1F4D45;
	--fb-gold:#C5A55B;
	--fb-line:rgba(26,24,20,0.10);
}

/* ─── SHELF (vitrin, 3D kitap mockup, hover'da kapak açılır) ──── */
.mm-shelf {
	position:relative;
	padding:clamp(80px,9vw,140px) 0 clamp(120px,12vw,180px);
	background:
		radial-gradient(ellipse at 50% 40%, rgba(45,106,95,0.08) 0%, transparent 65%),
		linear-gradient(180deg, var(--fb-paper) 0%, var(--fb-paper-warm) 100%);
	overflow:hidden;
}
.mm-shelf-inner {
	max-width:1240px;
	margin:0 auto;
	padding:0 clamp(20px,4vw,48px);
}
.mm-shelf-grid {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:clamp(40px, 5vw, 80px);
	align-items:end;
	margin-top:64px;
	perspective:2200px;
	perspective-origin:50% 30%;
}

.mm-shelf-book {
	cursor:pointer;
	display:block;
	text-decoration:none;
	color:inherit;
	position:relative;
	background:transparent;
	border:0;
	padding:0;
	text-align:left;
	width:100%;
	transform-style:preserve-3d;
	transition:transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
.mm-shelf-book:hover { transform:translateY(-6px); }
.mm-shelf-book:focus-visible { outline:2px solid var(--fb-teal); outline-offset:10px; border-radius:6px; }

/* 3D KİTAP — 4 katman: pages (arka sayfa stack) / spine / cover (önde, hover'da döner) / shadow */
.mm-shelf-frame {
	position:relative;
	aspect-ratio:3/4;
	transform-style:preserve-3d;
	transition:transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
	margin:0;
}
.mm-shelf-book:hover .mm-shelf-frame { transform:rotateY(-3deg); }

/* SAYFA STACK — arkada krem rengi kâğıt, kenarları görünür */
.mm-shelf-frame::before {
	content:'';
	position:absolute;
	inset:1px 4px 3px 6px;
	background:
		repeating-linear-gradient(90deg,
			#FBF7F0 0px,
			#FBF7F0 2px,
			#E6DDC9 2px,
			#E6DDC9 3px),
		linear-gradient(135deg, #F3EBDC 0%, #E1D5BD 100%);
	background-size:100% 100%, 100% 100%;
	border-radius:1px 4px 4px 1px;
	box-shadow:
		inset 2px 0 0 rgba(0,0,0,0.05),
		inset -1px 0 0 rgba(197,165,91,0.20);
	transform:translateZ(-2px);
	z-index:1;
}

/* ALT GÖLGE — kitabın altına yere düşen yumuşak gölge */
.mm-shelf-frame::after {
	content:'';
	position:absolute;
	left:-6%;
	right:-6%;
	bottom:-22px;
	height:32px;
	background:radial-gradient(ellipse at center, rgba(45,106,95,0.32) 0%, transparent 70%);
	filter:blur(8px);
	transition:opacity 600ms ease, transform 600ms ease;
	z-index:0;
}
.mm-shelf-book:hover .mm-shelf-frame::after { opacity:0.6; transform:scaleX(1.05); }

/* SPINE — kitabın sırtı, sol kenarda altın altın */
.mm-shelf-spine {
	position:absolute;
	left:0; top:0; bottom:0;
	width:10px;
	background:
		linear-gradient(90deg,
			rgba(0,0,0,0.42) 0%,
			rgba(0,0,0,0.22) 30%,
			transparent 100%),
		linear-gradient(180deg,
			rgba(197,165,91,0.40) 0%,
			rgba(197,165,91,0.18) 50%,
			rgba(197,165,91,0.40) 100%);
	border-radius:4px 0 0 4px;
	z-index:3;
	pointer-events:none;
	transform:translateZ(0.5px);
}

/* COVER (ön kapak) — hover'da sol kenardan açılır */
.mm-shelf-cover {
	position:absolute;
	inset:0;
	border-radius:2px 8px 8px 2px;
	overflow:hidden;
	transform-origin:left center;
	transform:rotateY(0deg) translateZ(1px);
	transition:transform 900ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 600ms ease;
	box-shadow:
		0 1px 0 rgba(0,0,0,0.05),
		3px 0 0 rgba(0,0,0,0.05),
		6px 0 0 rgba(0,0,0,0.04),
		0 30px 60px -28px rgba(45,106,95,0.50);
	z-index:4;
	background:#1A1814;
}
.mm-shelf-book:hover .mm-shelf-cover {
	transform:rotateY(-52deg) translateZ(1px);
	box-shadow:
		0 1px 0 rgba(0,0,0,0.10),
		0 40px 90px -20px rgba(0,0,0,0.55);
}
.mm-shelf-img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	backface-visibility:hidden;
}
/* COVER'in arka yüzü — açıldığında görünür, krem kağıt */
.mm-shelf-cover::after {
	content:'';
	position:absolute;
	inset:0;
	background:
		linear-gradient(90deg, rgba(0,0,0,0.18) 0%, transparent 30%),
		linear-gradient(135deg, #FBF7F0 0%, #F0E7D2 100%);
	transform:rotateY(180deg);
	backface-visibility:hidden;
	z-index:1;
}

/* COVER TİPOGRAFİ OVERLAY — masal kitap kapağı tasarımı (MASALMINT + name + tema + bir varmış) */
.mm-shelf-cover-content {
	position:absolute;
	inset:0;
	z-index:2;
	padding:24px 22px;
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	color:var(--fb-paper);
	pointer-events:none;
}
/* Yumuşak koyu vignette overlay (illüstrasyon üzerinde okuma kontrastı) */
.mm-shelf-cover-content::before {
	content:'';
	position:absolute;
	inset:0;
	background:
		linear-gradient(180deg,
			rgba(20,40,35,0.55) 0%,
			rgba(20,40,35,0.10) 35%,
			rgba(20,40,35,0.15) 55%,
			rgba(20,40,35,0.78) 100%);
	z-index:0;
	pointer-events:none;
}
/* Altın foil çerçeve */
.mm-shelf-cover-content::after {
	content:'';
	position:absolute;
	inset:14px 12px;
	border:1px solid rgba(197,165,91,0.45);
	border-radius:3px;
	box-shadow:
		inset 0 0 0 1px rgba(197,165,91,0.10),
		inset 0 0 24px rgba(0,0,0,0.18);
	z-index:1;
	pointer-events:none;
}

.mm-shelf-cover-content > * { position:relative; z-index:2; }

.mm-shelf-cv-top {
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
	margin-top:6px;
}
.mm-shelf-cv-marque {
	font-family:'Inter Tight', system-ui, sans-serif;
	font-size:0.62rem;
	letter-spacing:0.42em;
	text-transform:uppercase;
	color:var(--fb-gold);
	font-weight:600;
	text-shadow:0 1px 4px rgba(0,0,0,0.55);
	padding-left:0.42em;
}
.mm-shelf-cv-orn {
	font-size:0.78rem;
	color:var(--fb-gold);
	letter-spacing:0.5em;
	opacity:0.92;
	text-shadow:0 1px 4px rgba(0,0,0,0.55);
	padding-left:0.5em;
}

.mm-shelf-cv-mid {
	margin-top:auto;
	margin-bottom:auto;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
	padding:0 4px;
}
.mm-shelf-cv-name {
	font-family:'Caveat', cursive;
	font-size:clamp(1.9rem, 3.4vw, 2.6rem);
	font-weight:600;
	color:var(--fb-paper);
	line-height:1;
	text-shadow:
		0 0 18px rgba(255,253,247,0.22),
		0 2px 0 rgba(0,0,0,0.28),
		0 4px 14px rgba(0,0,0,0.45);
}
.mm-shelf-cv-tag {
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	font-size:clamp(0.82rem, 1vw, 0.95rem);
	color:var(--fb-paper);
	opacity:0.94;
	font-variation-settings:"opsz" 14;
	text-shadow:0 2px 6px rgba(0,0,0,0.55);
	line-height:1.3;
}

.mm-shelf-cv-foot {
	margin-top:auto;
	margin-bottom:8px;
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	font-size:0.72rem;
	letter-spacing:0.06em;
	color:var(--fb-gold);
	opacity:0.92;
	text-shadow:0 1px 4px rgba(0,0,0,0.55);
}

/* Üst köşelerde altın foil corner flourish */
.mm-shelf-cv-top::before,
.mm-shelf-cv-top::after {
	content:'';
	position:absolute;
	top:6px;
	width:18px;
	height:18px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%23C5A55B' stroke-width='0.9' stroke-linecap='round'><path d='M2 9 Q2 2 9 2 M2 5 Q2 3 5 3'/><circle cx='3.4' cy='3.4' r='0.7' fill='%23C5A55B'/></svg>");
	background-size:contain;
	background-repeat:no-repeat;
	opacity:0.85;
	pointer-events:none;
}
.mm-shelf-cv-top::before { left:6px; }
.mm-shelf-cv-top::after  { right:6px; transform:scaleX(-1); }

/* "Kitabı aç" hint — hover'da kapağın açıldığı tarafta belirir */
.mm-shelf-hover-hint {
	position:absolute;
	top:50%;
	left:55%;
	transform:translate(-50%, -50%) translateZ(2px);
	z-index:2;
	opacity:0;
	transition:opacity 500ms ease 200ms;
	pointer-events:none;
	text-align:center;
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	color:var(--fb-ink-soft);
}
.mm-shelf-hover-hint span {
	display:inline-block;
	padding:8px 18px;
	background:rgba(251,247,240,0.92);
	border:1px solid rgba(197,165,91,0.35);
	border-radius:24px;
	font-size:0.85rem;
	letter-spacing:0.04em;
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	box-shadow:0 4px 16px rgba(45,106,95,0.18);
}
.mm-shelf-book:hover .mm-shelf-hover-hint { opacity:1; }

/* ─── HERO MODIFIER (anasayfa hero stage'de tek büyük marka kitabı) ────── */
.mm-v2-hero-stage-3d {
	perspective:2400px;
	perspective-origin:50% 35%;
}
.mm-shelf-book-hero {
	width:clamp(300px, 42vw, 460px);
	max-width:100%;
}
.mm-shelf-book-hero .mm-shelf-frame {
	aspect-ratio:4 / 5.5;
}
.mm-shelf-book-hero .mm-shelf-cv-marque {
	font-size:0.78rem;
	letter-spacing:0.46em;
	font-weight:600;
}
.mm-shelf-book-hero .mm-shelf-cv-orn {
	font-size:0.88rem;
	letter-spacing:0.55em;
}
.mm-shelf-book-hero .mm-shelf-cv-foot {
	font-size:0.82rem;
	letter-spacing:0.10em;
}
.mm-shelf-book-hero .mm-shelf-cover-content {
	padding:38px 30px 32px;
}
.mm-shelf-book-hero .mm-shelf-cover-content::after {
	inset:22px 16px;
}
.mm-shelf-book-hero .mm-shelf-spine {
	width:14px;
}

/* Hero kapak başlığı: "Senin masalın." (kitap tanıtımı tipografisi) */
.mm-shelf-book-hero .mm-shelf-cv-mid {
	gap:18px;
}
.mm-shelf-cv-hero-title {
	font-family:'Fraunces', Georgia, serif;
	font-weight:500;
	font-size:clamp(2.2rem, 4vw, 3.2rem);
	line-height:0.95;
	letter-spacing:-0.005em;
	color:var(--fb-paper);
	margin:0;
	font-variation-settings:"opsz" 144;
	text-shadow:
		0 0 22px rgba(255,253,247,0.22),
		0 2px 0 rgba(0,0,0,0.30),
		0 4px 16px rgba(0,0,0,0.50);
	transition: opacity 240ms ease, transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}
.mm-shelf-cv-hero-title em {
	font-style:italic;
	color:var(--fb-paper);
}
.mm-shelf-cv-hero-sub {
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	font-size:clamp(0.84rem, 1.05vw, 1rem);
	line-height:1.45;
	color:var(--fb-paper);
	opacity:0.94;
	font-variation-settings:"opsz" 14;
	text-shadow:0 2px 6px rgba(0,0,0,0.55);
	margin:0;
	max-width:80%;
}

/* Hero'da kapağı biraz daha az açıp daha şık göster */
.mm-shelf-book-hero:hover .mm-shelf-cover {
	transform:rotateY(-48deg) translateZ(1px);
}

.mm-shelf-meta {
	margin-top:24px;
	display:flex;
	flex-direction:column;
	gap:6px;
	text-align:left;
}
.mm-shelf-tag {
	font-family:'Inter Tight', system-ui, sans-serif;
	font-size:0.7rem;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--fb-ink-mute);
}
.mm-shelf-title {
	font-family:'Fraunces', Georgia, serif;
	font-weight:500;
	font-style:italic;
	font-size:clamp(1.3rem, 1.8vw, 1.7rem);
	line-height:1.15;
	color:var(--fb-ink);
	margin:0;
	font-variation-settings:"opsz" 36;
}
.mm-shelf-summary {
	font-family:'Fraunces', Georgia, serif;
	font-size:0.96rem;
	line-height:1.55;
	color:var(--fb-ink-soft);
	margin:4px 0 0;
	font-variation-settings:"opsz" 14;
}

@media (max-width:900px) {
	.mm-shelf-grid { grid-template-columns:1fr; gap:48px; max-width:380px; margin-left:auto; margin-right:auto; }
}

/* ─── OVERLAY (cinematic lightbox) ─────────────────────────────── */
.mm-fb-overlay {
	position:fixed;
	inset:0;
	z-index:9999;
	background:radial-gradient(ellipse at center, rgba(20,16,10,0.92) 0%, rgba(8,6,4,0.98) 80%);
	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.45s ease, visibility 0.45s ease;
	padding:24px 16px 100px;
}
.mm-fb-overlay.is-open { opacity:1; visibility:visible; }

.mm-fb-close {
	position:absolute;
	top:24px;
	right:24px;
	background:rgba(255,255,255,0.08);
	border:1px solid rgba(255,255,255,0.18);
	color:#FBF7F0;
	width:44px;
	height:44px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition:background 0.25s ease, transform 0.25s ease;
	z-index:10;
}
.mm-fb-close:hover { background:rgba(255,255,255,0.18); transform:rotate(90deg); }

.mm-fb-stage {
	flex:1;
	width:100%;
	max-width:1100px;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:0;
}
.mm-fb-book {
	display:block;
	margin:0 auto;
	opacity:0;
	transition:opacity 400ms ease 100ms;
}
.mm-fb-book.is-ready { opacity:1; }

/* ─── INTERNAL PAGES ───────────────────────────────────────────── */
.mm-fb-page {
	background:var(--fb-paper);
	box-shadow:inset 0 0 0 1px rgba(26,24,20,0.06);
	overflow:hidden;
}

/* Front cover */
.mm-fb-page-cover-front {
	background:linear-gradient(135deg, var(--fb-teal-deep) 0%, var(--fb-teal) 100%);
}
.mm-fb-cover-inner {
	width:100%;
	height:100%;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	position:relative;
	color:var(--fb-paper);
	padding:32px;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
}
.mm-fb-cover-fade {
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 30%, rgba(0,0,0,0.0) 50%, rgba(0,0,0,0.75) 100%);
	z-index:1;
}
.mm-fb-cover-text {
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	gap:6px;
}
.mm-fb-cover-mark {
	font-family:'Inter Tight', sans-serif;
	font-size:0.68rem;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:rgba(255,255,255,0.78);
}
.mm-fb-cover-title {
	font-family:'Fraunces', Georgia, serif;
	font-weight:600;
	font-style:italic;
	font-size:clamp(1.6rem, 4vw, 2.4rem);
	line-height:1.05;
	margin:0;
	color:#FBF7F0;
	font-variation-settings:"opsz" 144;
	text-shadow:0 2px 14px rgba(0,0,0,0.35);
}
.mm-fb-cover-sub {
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	font-size:0.94rem;
	color:rgba(255,255,255,0.82);
	margin-top:4px;
}

/* Back cover */
.mm-fb-page-cover-back {
	background:linear-gradient(135deg, var(--fb-teal-deep) 0%, #14302C 100%);
}
.mm-fb-back-inner {
	width:100%;
	height:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:32px;
	color:var(--fb-paper);
	gap:14px;
}
.mm-fb-back-mono {
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	font-size:4rem;
	color:var(--fb-gold);
	font-variation-settings:"opsz" 144;
}
.mm-fb-back-note {
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	font-size:0.95rem;
	margin:0;
	opacity:0.92;
}
.mm-fb-back-fine {
	font-family:'Inter Tight', sans-serif;
	font-size:0.78rem;
	letter-spacing:0.05em;
	margin:0;
	opacity:0.6;
}

/* Image page (sol sayfa, illüstrasyon) */
.mm-fb-page-image { background:var(--fb-paper-warm); }
.mm-fb-img-frame {
	width:100%;
	height:100%;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	position:relative;
}

/* Speech bubble overlay — okuma bilmeyen çocuk için karakter sesi */
.mm-fb-speech-overlay {
	position:absolute;
	top:18px;
	left:18px;
	right:18px;
	z-index:3;
	display:flex;
	justify-content:flex-start;
	pointer-events:none;
	animation:mm-fb-speech-in 600ms cubic-bezier(0.22,1,0.36,1) 400ms both;
}
@keyframes mm-fb-speech-in {
	from { opacity:0; transform:translateY(-6px) scale(0.96); }
	to   { opacity:1; transform:translateY(0) scale(1); }
}
.mm-fb-speech-bubble {
	position:relative;
	max-width:72%;
	background:rgba(251,247,240,0.96);
	border:1px solid rgba(197,165,91,0.45);
	border-radius:14px 14px 14px 4px;
	padding:10px 14px 8px;
	box-shadow:
		0 2px 0 rgba(0,0,0,0.04),
		0 8px 22px -10px rgba(45,106,95,0.40);
	backdrop-filter:blur(4px);
	-webkit-backdrop-filter:blur(4px);
}
.mm-fb-speech-bubble::before {
	content:'';
	position:absolute;
	bottom:-7px;
	left:18px;
	width:12px;
	height:12px;
	background:rgba(251,247,240,0.96);
	border-right:1px solid rgba(197,165,91,0.45);
	border-bottom:1px solid rgba(197,165,91,0.45);
	transform:rotate(45deg);
}
.mm-fb-speech-what {
	font-family:'Caveat', cursive;
	font-size:clamp(1.05rem, 1.5vw, 1.35rem);
	color:var(--fb-ink);
	line-height:1.2;
	margin:0;
	font-weight:500;
}
.mm-fb-speech-who {
	display:block;
	font-family:'Inter Tight', system-ui, sans-serif;
	font-size:0.62rem;
	letter-spacing:0.16em;
	text-transform:uppercase;
	color:var(--fb-gold);
	margin-top:6px;
}

/* Text page'deki speech echo (italic blockquote) */
.mm-fb-text-speech {
	position:relative;
	margin:14px 0 8px;
	padding:10px 14px 8px 24px;
	background:linear-gradient(180deg, rgba(197,165,91,0.06) 0%, transparent 100%);
	border-left:2px solid var(--fb-gold);
	border-radius:0 6px 6px 0;
}
.mm-fb-text-speech-mark {
	position:absolute;
	top:4px;
	left:8px;
	font-family:'Fraunces', Georgia, serif;
	font-size:1.4rem;
	line-height:1;
	color:var(--fb-gold);
	opacity:0.55;
}
.mm-fb-text-speech p {
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	font-size:clamp(0.86rem, 1vw, 0.95rem);
	line-height:1.5;
	color:var(--fb-ink);
	margin:0;
	font-variation-settings:"opsz" 14;
}
.mm-fb-text-speech cite {
	display:block;
	font-family:'Inter Tight', system-ui, sans-serif;
	font-style:normal;
	font-size:0.62rem;
	letter-spacing:0.16em;
	text-transform:uppercase;
	color:var(--fb-gold);
	margin-top:6px;
}

/* Text page (sağ sayfa, hikaye metni) */
.mm-fb-page-text {
	background:
		radial-gradient(ellipse at top right, rgba(197,165,91,0.06) 0%, transparent 60%),
		var(--fb-paper);
}
.mm-fb-text-inner {
	width:100%;
	height:100%;
	padding:28px 28px 24px;
	display:flex;
	flex-direction:column;
	gap:10px;
	position:relative;
}
/* Boş alanı doldurmak için subtle altın watermark — closure ve climax dışında */
.mm-fb-page-text:not([data-layout^="closure"]):not([data-layout^="climax"]) .mm-fb-text-inner::after {
	content:'❦';
	position:absolute;
	bottom:18px;
	left:50%;
	transform:translateX(-50%);
	font-size:1.1rem;
	color:var(--fb-gold);
	opacity:0.22;
	pointer-events:none;
}

/* Header bar: 03 ──── / 08 */
.mm-fb-text-head {
	display:flex;
	align-items:center;
	gap:10px;
	font-family:'Inter Tight', sans-serif;
	font-size:0.68rem;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--fb-ink-mute);
	margin-bottom:4px;
}
.mm-fb-text-rule {
	flex:1;
	height:1px;
	background:linear-gradient(90deg, var(--fb-gold) 0%, transparent 100%);
	opacity:0.55;
}
.mm-fb-text-of { color:var(--fb-gold); opacity:0.7; }
.mm-fb-page-num {
	font-family:'Inter Tight', sans-serif;
	font-size:0.7rem;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--fb-ink-mute);
	font-weight:600;
}

.mm-fb-text-title {
	font-family:'Fraunces', Georgia, serif;
	font-weight:500;
	font-style:italic;
	font-size:clamp(1.1rem, 1.5vw, 1.4rem);
	line-height:1.2;
	color:var(--fb-ink);
	margin:0 0 6px;
	font-variation-settings:"opsz" 36;
	letter-spacing:-0.005em;
}

/* Body container: density-aware font + leading */
.mm-fb-text-body-wrap {
	flex:1 1 auto;
	overflow:hidden;
	min-height:0;
}
.mm-fb-text-body {
	font-family:'Fraunces', Georgia, serif;
	font-size:clamp(0.86rem, 0.98vw, 0.96rem);
	line-height:1.55;
	color:var(--fb-ink-soft);
	margin:0;
	font-variation-settings:"opsz" 14;
	text-align:left;
	hyphens:auto;
	-webkit-hyphens:auto;
}
.mm-fb-page-text[data-density="short"] .mm-fb-text-body {
	font-size:clamp(0.98rem, 1.12vw, 1.08rem);
	line-height:1.68;
	text-align:justify;
	hyphens:auto;
}
.mm-fb-page-text[data-density="medium"] .mm-fb-text-body {
	font-size:clamp(0.92rem, 1.05vw, 1.02rem);
	line-height:1.6;
	text-align:justify;
	hyphens:auto;
}
.mm-fb-page-text[data-density="long"] .mm-fb-text-body {
	font-size:clamp(0.88rem, 1vw, 0.96rem);
	line-height:1.55;
	text-align:justify;
	hyphens:auto;
}

.mm-fb-text-mark {
	margin-top:8px;
	font-family:'Caveat', cursive;
	font-size:0.85rem;
	color:var(--fb-teal);
	text-align:right;
	opacity:0.78;
}

/* SOUND WORD OVERLAY — onomatopoeia, illüstrasyon altında karikatür efekti */
.mm-fb-sound-overlay {
	position:absolute;
	bottom:24px;
	right:24px;
	z-index:3;
	pointer-events:none;
	animation:mm-fb-sound-in 700ms cubic-bezier(0.34, 1.56, 0.64, 1) 600ms both;
}
@keyframes mm-fb-sound-in {
	from { opacity:0; transform:rotate(-3deg) scale(0.6); }
	to   { opacity:1; transform:rotate(-3deg) scale(1); }
}
.mm-fb-sound-word {
	display:inline-block;
	font-family:'Caveat', cursive;
	font-weight:700;
	font-size:clamp(1.6rem, 2.8vw, 2.4rem);
	line-height:1;
	color:var(--fb-gold);
	background:rgba(251,247,240,0.92);
	border:2px solid var(--fb-gold);
	border-radius:20px;
	padding:6px 18px 4px;
	transform:rotate(-3deg);
	box-shadow:
		3px 4px 0 rgba(45,106,95,0.18),
		0 8px 24px -8px rgba(45,106,95,0.40);
	text-shadow:1px 1px 0 rgba(255,253,247,0.8);
	letter-spacing:0.02em;
}

/* ═══════════════════════════════════════════════════════════════
   8-SPREAD LAYOUT BLUEPRINT (deep-research bulgularına göre)
   Endüstri standardı 32-sayfa picture book pacing → 8 spread özetlenmiş
   Beat haritası: intro(1) → discovery(2-3) → rising(4) → climax(5-6) → resolution(7) → closure(8)
   Her layout görünür biçimde farklı tipografi, kompozisyon, kenar boşluğu, atmosfer
   ═══════════════════════════════════════════════════════════════ */

/* ━━━━ INTRO (Spread 1) — Sakin tanışma ━━━━━━━━━━━━━━━━━━━ */
/* Karakter ve sahne tanıtımı, image yarı dolu (Sendak: küçük başlangıç),
   geniş krem kenar, başlık ortalanmış italic, body soft */
.mm-fb-page-image[data-layout^="intro"] .mm-fb-img-frame {
	background-size:88% auto;
	background-color:var(--fb-paper-warm);
	background-blend-mode:normal;
	box-shadow:inset 0 0 0 1px rgba(197,165,91,0.18);
}
.mm-fb-page-text[data-layout^="intro"] .mm-fb-text-inner {
	padding:46px 38px 32px;
	background:radial-gradient(ellipse at top, rgba(197,165,91,0.05) 0%, transparent 70%);
}
.mm-fb-page-text[data-layout^="intro"] .mm-fb-text-title {
	font-size:clamp(1.35rem, 1.85vw, 1.7rem);
	text-align:center;
	margin-top:8px;
}
.mm-fb-page-text[data-layout^="intro"] .mm-fb-text-title::after {
	content:'';
	display:block;
	width:32px;
	height:1.5px;
	background:var(--fb-gold);
	margin:14px auto 4px;
	opacity:0.6;
}
.mm-fb-page-text[data-layout^="intro"] .mm-fb-text-body {
	text-indent:1.6em;
	font-size:clamp(0.96rem, 1.1vw, 1.06rem) !important;
	line-height:1.68 !important;
}

/* ━━━━ DISCOVERY-DIALOGUE (Spread 2) — Diyalog ağırlıklı (Mo Willems) ━━━━ */
.mm-fb-page-image[data-layout*="dialogue"] .mm-fb-img-frame {
	background-size:cover;
	background-position:center;
}
.mm-fb-page-image[data-layout*="dialogue"] .mm-fb-speech-bubble {
	max-width:78%;
	padding:14px 20px 12px;
}
.mm-fb-page-image[data-layout*="dialogue"] .mm-fb-speech-what {
	font-size:clamp(1.25rem, 1.8vw, 1.55rem);
	font-weight:600;
}
.mm-fb-page-text[data-layout*="dialogue"] .mm-fb-text-speech {
	margin:14px 0;
	padding:14px 16px 12px 26px;
	background:linear-gradient(180deg, rgba(197,165,91,0.10) 0%, rgba(197,165,91,0.02) 100%);
	border-left:3px solid var(--fb-gold);
}
.mm-fb-page-text[data-layout*="dialogue"] .mm-fb-text-speech p {
	font-size:clamp(1rem, 1.18vw, 1.12rem);
	font-style:italic;
	font-weight:500;
}

/* ━━━━ DISCOVERY-VERTICAL (Spread 2 alt) — Dikey hareket ━━━━━ */
.mm-fb-page-image[data-layout="discovery-vertical"] .mm-fb-img-frame,
.mm-fb-page-image[data-layout="rising-vertical"] .mm-fb-img-frame,
.mm-fb-page-image[data-layout="departure-vertical"] .mm-fb-img-frame {
	background-size:auto 105%;
	background-position:center top;
}

/* ━━━━ RISING (Spread 3-4) — Enerji yükselir, sound word vurgulu ━━━━ */
/* Tam ekran image (Sendak progressive scaling), sound word büyük + dramatik açı */
.mm-fb-page-image[data-layout^="rising"] .mm-fb-img-frame {
	background-size:cover;
	background-position:center;
}
.mm-fb-page-image[data-layout^="rising"] .mm-fb-sound-word {
	font-size:clamp(2.2rem, 3.6vw, 3rem);
	transform:rotate(-6deg) scale(1.05);
	box-shadow:4px 5px 0 rgba(45,106,95,0.22), 0 10px 28px -8px rgba(45,106,95,0.50);
}
.mm-fb-page-image[data-layout="rising-fullbleed"] .mm-fb-speech-overlay { top:14px; left:14px; right:14px; }
.mm-fb-page-image[data-layout="rising-fullbleed"] .mm-fb-img-frame {
	background-size:cover;
}
.mm-fb-page-text[data-layout^="rising"] .mm-fb-text-inner {
	background:linear-gradient(180deg, rgba(232,184,158,0.06) 0%, transparent 50%);
}
.mm-fb-page-text[data-layout^="rising"] .mm-fb-text-title {
	color:var(--fb-teal-deep);
	font-size:clamp(1.25rem, 1.7vw, 1.55rem);
}
.mm-fb-page-text[data-layout="rising-warm"] .mm-fb-text-inner {
	background:radial-gradient(ellipse at top left, rgba(232,184,158,0.12) 0%, transparent 60%);
}

/* ━━━━ CLIMAX (Spread 5-6) — Zirve, dramatik full-bleed (Sendak) ━━━━ */
/* Image tam dolu, başlık büyük, body uzun, "an" dondurulmuş hissi */
.mm-fb-page-image[data-layout^="climax"] .mm-fb-img-frame {
	background-size:cover;
	background-position:center;
}
.mm-fb-page-image[data-layout^="climax"]::after {
	content:'';
	position:absolute;
	inset:0;
	background:radial-gradient(ellipse at center, transparent 40%, rgba(20,40,35,0.18) 100%);
	pointer-events:none;
	z-index:1;
}
.mm-fb-page-image[data-layout="climax-action"] .mm-fb-sound-word {
	font-size:clamp(2.4rem, 4vw, 3.2rem);
	transform:rotate(-8deg) scale(1.08);
}
.mm-fb-page-text[data-layout^="climax"] .mm-fb-text-inner {
	padding:32px 30px 28px;
	background:radial-gradient(ellipse at top right, rgba(45,106,95,0.06) 0%, transparent 60%);
}
.mm-fb-page-text[data-layout^="climax"] .mm-fb-text-title {
	font-size:clamp(1.4rem, 2vw, 1.85rem) !important;
	color:var(--fb-teal-deep);
	font-weight:600;
	font-style:italic;
	margin-bottom:10px;
}
.mm-fb-page-text[data-layout^="climax"] .mm-fb-text-title::before {
	content:'';
	display:block;
	width:48px;
	height:2px;
	background:linear-gradient(90deg, var(--fb-gold) 0%, transparent 100%);
	margin-bottom:10px;
}

/* ━━━━ INTIMATE-CLOSEUP (Spread 5/6 alt) — Yakın çekim, sıcak ━━━━ */
.mm-fb-page-image[data-layout="intimate-closeup"] .mm-fb-img-frame,
.mm-fb-page-image[data-layout="dialogue-intimate"] .mm-fb-img-frame {
	background-size:112% auto;
	background-position:center 30%;
}
.mm-fb-page-text[data-layout="intimate-closeup"] .mm-fb-text-inner,
.mm-fb-page-text[data-layout="dialogue-intimate"] .mm-fb-text-inner {
	padding:40px 44px 32px;
}
.mm-fb-page-text[data-layout="intimate-closeup"] .mm-fb-text-body,
.mm-fb-page-text[data-layout="dialogue-intimate"] .mm-fb-text-body {
	max-width:88%;
}

/* ━━━━ RESOLUTION (Spread 7) — Yumuşak iniş, soft gold halo ━━━━ */
.mm-fb-page-image[data-layout^="resolution"] .mm-fb-img-frame {
	background-size:cover;
	background-position:center;
}
.mm-fb-page-image[data-layout^="resolution"]::before {
	content:'';
	position:absolute;
	inset:0;
	background:radial-gradient(ellipse at bottom center, rgba(197,165,91,0.18) 0%, transparent 55%);
	pointer-events:none;
	z-index:1;
}
.mm-fb-page-text[data-layout^="resolution"] .mm-fb-text-inner {
	background:
		radial-gradient(ellipse at bottom right, rgba(45,106,95,0.06) 0%, transparent 60%),
		linear-gradient(180deg, var(--fb-paper) 0%, rgba(243,235,220,0.5) 100%);
	padding:36px 34px 30px;
}
.mm-fb-page-text[data-layout^="resolution"] .mm-fb-text-title {
	font-size:clamp(1.2rem, 1.6vw, 1.5rem);
	color:var(--fb-teal-deep);
}

/* ━━━━ CLOSURE (Spread 8) — Final, epilog, ornament ━━━━━━━ */
.mm-fb-page-image[data-layout^="closure"] .mm-fb-img-frame {
	background-size:90% auto;
	background-color:var(--fb-paper);
	box-shadow:inset 0 0 0 1px rgba(197,165,91,0.25);
}
.mm-fb-page-image[data-layout^="closure"]::after {
	content:'❦';
	position:absolute;
	bottom:18px;
	right:24px;
	font-size:1.8rem;
	color:var(--fb-gold);
	opacity:0.60;
	z-index:2;
}
.mm-fb-page-text[data-layout^="closure"] .mm-fb-text-inner {
	padding:48px 40px 34px;
	background:
		radial-gradient(ellipse at top, rgba(197,165,91,0.05) 0%, transparent 70%),
		var(--fb-paper);
	text-align:center;
}
.mm-fb-page-text[data-layout^="closure"] .mm-fb-text-inner::before {
	content:'❦';
	display:block;
	font-size:1.6rem;
	color:var(--fb-gold);
	opacity:0.55;
	margin-bottom:14px;
}
.mm-fb-page-text[data-layout^="closure"] .mm-fb-text-title {
	font-style:italic;
	color:var(--fb-teal-deep);
	text-align:center;
	font-size:clamp(1.3rem, 1.7vw, 1.55rem);
}
.mm-fb-page-text[data-layout^="closure"] .mm-fb-text-body {
	text-align:center;
	font-style:italic;
	max-width:84%;
	margin:0 auto;
}
.mm-fb-page-text[data-layout^="closure"] .mm-fb-text-mark {
	text-align:center;
	margin-top:16px;
}

/* ━━━━ FULLBLEED MODIFIER (görsel taşma) ━━━━━━━━━━━━━━━━━━━ */
.mm-fb-page-image[data-layout*="fullbleed"] .mm-fb-img-frame {
	background-size:cover;
}

/* ━━━━ ACTION SOUND BOOST ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.mm-fb-page-image[data-layout*="action"] .mm-fb-sound-word {
	font-size:clamp(2.2rem, 3.8vw, 2.9rem);
	transform:rotate(-7deg) scale(1.05);
}

/* ━━━━ CAREFUL (yavaş, dikkatli moment) ━━━━━━━━━━━━━━━━━━━ */
.mm-fb-page-image[data-layout*="careful"] .mm-fb-img-frame {
	background-size:cover;
}
.mm-fb-page-image[data-layout*="careful"] .mm-fb-sound-word {
	font-size:clamp(1.4rem, 2.2vw, 1.9rem);
	transform:rotate(-2deg) scale(0.95);
	opacity:0.92;
}

/* End page (CTA) */
.mm-fb-page-end {
	background:linear-gradient(160deg, var(--fb-paper) 0%, var(--fb-paper-warm) 100%);
}
.mm-fb-end-inner {
	width:100%;
	height:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:32px;
	gap:18px;
}
.mm-fb-end-mark {
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	font-size:1.4rem;
	color:var(--fb-gold);
	letter-spacing:0.04em;
}
.mm-fb-end-quote {
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	font-size:clamp(0.95rem, 1.15vw, 1.1rem);
	line-height:1.55;
	color:var(--fb-ink);
	margin:0;
	max-width:280px;
}
.mm-fb-end-cta {
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:10px 18px;
	background:var(--fb-teal);
	color:#FFF;
	text-decoration:none;
	border-radius:4px;
	font-family:'Inter Tight', sans-serif;
	font-size:0.86rem;
	letter-spacing:0.02em;
	transition:background 0.25s ease, transform 0.25s ease;
}
.mm-fb-end-cta:hover { background:var(--fb-teal-deep); transform:translateY(-1px); }

/* ─── CONTROLS (alt çubuk) ─────────────────────────────────────── */
.mm-fb-controls {
	position:absolute;
	bottom:28px;
	left:50%;
	transform:translateX(-50%);
	display:flex;
	align-items:center;
	gap:18px;
	background:rgba(26,24,20,0.78);
	border:1px solid rgba(255,255,255,0.12);
	border-radius:32px;
	padding:8px 12px;
	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);
	color:var(--fb-paper);
}
.mm-fb-btn {
	background:rgba(255,255,255,0.08);
	border:1px solid rgba(255,255,255,0.15);
	color:#FBF7F0;
	width:38px;
	height:38px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition:background 0.25s ease, transform 0.18s ease;
}
.mm-fb-btn:hover { background:rgba(255,255,255,0.18); }
.mm-fb-btn:active { transform:scale(0.94); }
.mm-fb-meta {
	display:flex;
	flex-direction:column;
	align-items:center;
	min-width:140px;
}
.mm-fb-title {
	font-family:'Fraunces', Georgia, serif;
	font-style:italic;
	font-size:0.95rem;
	color:#FBF7F0;
	font-variation-settings:"opsz" 24;
}
.mm-fb-counter {
	font-family:'Inter Tight', sans-serif;
	font-size:0.75rem;
	letter-spacing:0.1em;
	color:rgba(251,247,240,0.7);
	margin-top:2px;
}

/* ─── HINT (4 sn) ──────────────────────────────────────────────── */
.mm-fb-hint {
	position:absolute;
	top:24px;
	left:50%;
	transform:translateX(-50%);
	background:rgba(26,24,20,0.7);
	color:rgba(251,247,240,0.85);
	font-family:'Inter Tight', sans-serif;
	font-size:0.78rem;
	letter-spacing:0.03em;
	padding:8px 16px;
	border-radius:24px;
	border:1px solid rgba(255,255,255,0.12);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	opacity:1;
	transition:opacity 0.6s ease;
}
.mm-fb-hint.is-fade { opacity:0; pointer-events:none; }

@media (max-width:640px) {
	.mm-fb-overlay { padding:60px 8px 90px; }
	.mm-fb-close { top:12px; right:12px; }
	.mm-fb-text-inner { padding:24px 20px; }
	.mm-fb-controls { gap:12px; padding:6px 10px; }
	.mm-fb-meta { min-width:100px; }
	.mm-fb-title { font-size:0.85rem; }
}
