/* ==========================================================================
   Curious Mind — editor blocks
   ==========================================================================
   Everything the client writes in the block editor lands inside .prose-page.
   Core's own front-end stylesheet is dequeued, so this file is what makes a
   pasted quote, a details accordion or a button look like the rest of the shop.
   ========================================================================== */

/* The reading measure belongs to the text, not to the container — otherwise a
   full-width tile row pasted into a page gets squeezed to 66 characters. */
.prose-page { max-width: none }
.prose-page > p,
.prose-page > h2,
.prose-page > h3,
.prose-page > ul,
.prose-page > ol,
.prose-page > blockquote,
.prose-page > .wp-block-details { max-width: 66ch }

.prose-page > * + * { margin-top: 1em }
.prose-page h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 300; margin: 48px 0 16px }
.prose-page h3 { font-size: 21px; margin: 34px 0 10px }
.prose-page ul, .prose-page ol { color: var(--ink-2); font-size: 17px; line-height: 1.8; padding-left: 1.2em }
.prose-page li { margin-bottom: .4em }
.prose-page a:not(.btn) {
	color: var(--violet-deep);
	border-bottom: 1px solid color-mix(in srgb, var(--violet) 50%, transparent);
}
.prose-page a:not(.btn):hover { border-color: var(--violet-deep) }

.prose-page blockquote,
.wp-block-quote {
	margin: 34px 0; padding: 4px 0 4px 26px; border-left: 2px solid var(--violet);
	font-family: 'Fraunces', serif; font-style: italic; font-size: 20px; color: var(--ink-2);
}
.wp-block-quote cite { display: block; margin-top: 10px; font-family: 'Outfit', sans-serif; font-style: normal; font-size: 13px; color: var(--faint) }

.wp-block-image { margin: 34px 0 }
.wp-block-image img { border-radius: var(--r); box-shadow: var(--shadow-sm) }
.wp-block-separator { border: 0; border-top: 1px solid var(--line); margin: 44px 0 }

.wp-block-table { overflow-x: auto }
.wp-block-table table { width: 100%; border-collapse: collapse; font-size: 15px }
.wp-block-table th, .wp-block-table td { padding: 12px 14px; border-bottom: 1px solid var(--line-2); text-align: left }
.wp-block-table th { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--faint); font-weight: 400 }

/* Buttons written in the editor are the same object as the ones in templates. */
.wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	padding: 13px 24px; border-radius: var(--r-pill); border: 0;
	background: var(--ink); color: var(--paper); font-size: 14.5px; line-height: 1;
	box-shadow: var(--shadow-sm); transition: transform .35s var(--ease), background .3s var(--ease);
}
.wp-block-button__link:hover { background: var(--violet-deep); transform: translateY(-2px) }
.is-style-outline .wp-block-button__link { background: none; border: 1.5px solid var(--ink); color: var(--ink) }

/* ---------- the FAQ accordion ---------- */

.prose-page > .wp-block-details:first-of-type { border-top: 1px solid var(--line); margin-top: 6px }
.wp-block-details {
	border-bottom: 1px solid var(--line); margin: 0; padding: 0;
	background: none; border-radius: 0;
}
.wp-block-details summary {
	padding: 20px 40px 20px 0; cursor: pointer; list-style: none; position: relative;
	font-family: 'Fraunces', serif; font-size: 18px; font-weight: 500; color: var(--ink);
}
.wp-block-details summary::-webkit-details-marker { display: none }
.wp-block-details summary::after {
	content: ""; position: absolute; right: 8px; top: 50%; width: 9px; height: 9px;
	border-right: 1.6px solid var(--muted); border-bottom: 1.6px solid var(--muted);
	transform: translateY(-70%) rotate(45deg); transition: transform .35s var(--ease);
}
.wp-block-details[open] summary::after { transform: translateY(-30%) rotate(-135deg) }
.wp-block-details > p { padding: 0 20px 22px 0; margin: 0; color: var(--muted); max-width: 62ch }

/* ---------- tile rows pasted as HTML blocks ---------- */

.prose-page .worldgrid,
.prose-page .grid-tiles { margin-top: 26px; margin-bottom: 10px }
.prose-page .cta-band { margin-top: 56px }
