/*!
 * Rethink — WordPress-Ergänzungen zur Mockup-CSS (rethink.css).
 */

/* Skip link */
.rc-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 10000;
}
.rc-skip:focus {
	left: 16px;
	top: 16px;
}

/* Screenreader-Helfer */
.rc-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* Breadcrumbs */
.rc-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem var(--rc-gutter, 24px);
	font-size: 0.8125rem;
	color: var(--rc-muted, #6b7280);
	max-width: var(--rc-maxw, 1240px);
	margin: 0 auto;
}
.rc-crumbs a {
	color: inherit;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}
.rc-crumbs a:hover {
	text-decoration: underline;
}
.rc-crumbs__sep {
	opacity: 0.5;
}

/* Honeypot */
.rc-hp {
	position: absolute !important;
	left: -9999px !important;
	opacity: 0;
	height: 0;
	width: 0;
	overflow: hidden;
}

/* Form-Status */
.rc-status {
	font-size: 0.8125rem;
	margin: 0.5rem 0 0;
	min-height: 1em;
}
.rc-status.is-ok { color: var(--rc-ok, #2f9e6f); }
.rc-status.is-err { color: var(--rc-err, #d64545); }

/* WordPress-Bilder responsiv */
.rc-photo,
.rc-story__photo,
.rc-world__art,
.rc-start__photo,
.rc-figure img,
.rc-archivehead__art img {
	max-width: 100%;
	height: auto;
}

/* Pagination */
.pagination,
.nav-links {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	padding: 2rem var(--rc-gutter, 24px);
}
.nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	height: 2.75rem;
	padding: 0 0.75rem;
	border-radius: 999px;
	border: 1px solid var(--rc-line, rgba(0,0,0,0.12));
	text-decoration: none;
}
.nav-links .page-numbers.current {
	background: var(--rc-ink, #1e3a5f);
	color: #fff;
}

/* Spinner in Form-Buttons */
.rc-btn.is-loading { opacity: 0.6; pointer-events: none; }

/* Auf Serverseite gerenderte, aber noch nicht initialisierte Elemente ausblenden */
[hidden] { display: none !important; }

/* Fokus-Sichtbarkeit */
:focus-visible {
	outline: 2px solid var(--rc-accent, #f26a3d);
	outline-offset: 2px;
}

/* „Coming"-Weltkarte: kleinerer, weicherer Eyebrow (1:1 zum Mockup v19). */
.rethink .rc-world--coming .rc-eyebrow {
	font-size: var(--rc-fs-xs, 0.75rem);
	color: var(--rc-ink-soft, #6b7280);
}

/* ============ Rethink Studio Overlay (WP-Ergänzungen) ============ */

.rc-studio-toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translate(-50%, 16px);
	z-index: 2147483000;
	background: var(--rc-ink, #1e3a5f);
	color: #fff;
	font: 600 13px/1.2 "DM Sans", system-ui, sans-serif;
	padding: 10px 16px;
	border-radius: 999px;
	opacity: 0;
	transition: opacity 0.25s ease, transform 0.25s ease;
	pointer-events: none;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}
.rc-studio-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

.rc-visitor-exit {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 2147483000;
	background: var(--rc-ink, #1e3a5f);
	color: #fff;
	border: 0;
	font: 600 13px/1 "DM Sans", system-ui, sans-serif;
	padding: 12px 16px;
	border-radius: 10px;
	cursor: pointer;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.rc-studio__pages { display: flex; gap: 4px; flex-wrap: wrap; }
.rc-studio__page {
	font: 600 12px/1 "DM Sans", system-ui, sans-serif;
	padding: 7px 12px;
	border: 1px solid var(--rc-ink-soft, #c7cfd6);
	border-radius: 999px;
	background: transparent;
	color: var(--rc-ink, #1e3a5f);
	cursor: pointer;
	text-transform: capitalize;
}
.rc-studio__page.is-on { background: var(--rc-ink, #1e3a5f); color: #fff; border-color: var(--rc-ink, #1e3a5f); }

.rc-studio__blocks { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.rc-studio__block {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border: 1px solid var(--rc-ink-soft, #c7cfd6);
	border-radius: 10px;
	background: #fff;
}
.rc-studio__block.is-off { opacity: 0.55; }
.rc-studio__block.is-dragging { opacity: 0.4; outline: 2px dashed var(--rc-accent, #f26a3d); outline-offset: 1px; }
.rc-studio__block.is-drop-target { box-shadow: 0 -2px 0 0 var(--rc-accent, #f26a3d); }
.rc-studio__drag { color: var(--rc-ink-soft, #8a94a0); cursor: grab; }
.rc-studio__bname { font: 700 13px/1.2 "DM Sans", system-ui, sans-serif; color: var(--rc-ink, #1e3a5f); min-width: 130px; }
.rc-studio__bwhat { flex: 1; font: 400 12px/1.3 "DM Sans", system-ui, sans-serif; color: var(--rc-ink-soft, #6b7280); }
.rc-studio__bup, .rc-studio__bdown, .rc-studio__bswitch {
	font: 600 11px/1 "DM Sans", system-ui, sans-serif;
	border: 1px solid var(--rc-ink-soft, #c7cfd6);
	background: #fff;
	color: var(--rc-ink, #1e3a5f);
	border-radius: 7px;
	padding: 5px 8px;
	cursor: pointer;
}
.rc-studio__bup:disabled, .rc-studio__bdown:disabled { opacity: 0.35; cursor: default; }
.rc-studio__bswitch { min-width: 46px; }

.rc-board__col { display: flex; flex-direction: column; gap: 8px; }
.rc-board__line { display: flex; align-items: center; gap: 8px; font: 500 13px/1.2 "DM Sans", system-ui, sans-serif; color: var(--rc-ink, #1e3a5f); }
.rc-board__line input[type="range"] { flex: 1; }
.rc-board__line output { font-weight: 700; min-width: 28px; text-align: right; }

#rc-board-menu, #rc-board-rules { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
#rc-board-menu li button, #rc-board-rules li button {
	width: 100%;
	text-align: left;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border: 1px solid var(--rc-ink-soft, #c7cfd6);
	border-radius: 9px;
	background: #fff;
	font: 600 13px/1.2 "DM Sans", system-ui, sans-serif;
	color: var(--rc-ink, #1e3a5f);
	cursor: pointer;
}
#rc-board-menu li button[aria-pressed="false"], #rc-board-rules li button[aria-pressed="false"] { opacity: 0.5; text-decoration: line-through; }
.rc-board__rname { flex: 1; }
.rc-board__rscope { font: 500 10px/1 "DM Sans", system-ui, sans-serif; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rc-ink-soft, #8a94a0); }

.rc-brandkit { display: flex; align-items: center; gap: 10px; }
.rc-brandkit__font { font: 600 14px "DM Sans", system-ui, sans-serif; color: var(--rc-ink, #1e3a5f); }
.rc-brandkit__font--serif { font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; }
.rc-brandkit__swatch { width: 20px; height: 20px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, 0.12); }

.rc-cms__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.rc-cms__list li { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 9px; background: #fff; border: 1px solid var(--rc-ink-soft, #c7cfd6); }
.rc-cms__list a { flex: 1; font: 600 13px/1.2 "DM Sans", system-ui, sans-serif; color: var(--rc-ink, #1e3a5f); text-decoration: none; }
.rc-cms__list a:hover { color: var(--rc-accent, #f26a3d); }
.rc-cms__dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; flex: none; }
.rc-cms__status { font: 600 10px/1 "DM Sans", system-ui, sans-serif; text-transform: uppercase; letter-spacing: 0.05em; color: var(--rc-ink-soft, #8a94a0); }
.rc-cms__status--publish { color: #3a7d44; }
.rc-cms__status--draft { color: #b0782a; }
.rc-cms__hint { font: 400 13px/1.4 "DM Sans", system-ui, sans-serif; color: var(--rc-ink-soft, #6b7280); }
.rc-cms__hint a { color: var(--rc-accent, #f26a3d); }
.rc-cms__texts { display: flex; flex-direction: column; gap: 10px; }
.rc-cms__texts label { display: flex; flex-direction: column; gap: 4px; font: 600 12px/1.2 "DM Sans", system-ui, sans-serif; color: var(--rc-ink, #1e3a5f); }
.rc-cms__texts input, .rc-cms__texts textarea {
	font: 400 14px/1.4 "DM Sans", system-ui, sans-serif;
	padding: 8px 10px;
	border: 1px solid var(--rc-ink-soft, #c7cfd6);
	border-radius: 8px;
	color: var(--rc-ink, #1e3a5f);
	width: 100%;
}

/* Editiermodus: subtile Umrandung für bearbeitbare Felder */
.rethink.is-studio-editing [data-edit] { outline: 1px dashed rgba(242, 106, 61, 0.7); outline-offset: 3px; cursor: text; }

/* ============ Rethink Studio — Inline-Editor (Phase 2) ============ */
.rethink .rc-sec-slot {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 28px; margin: 6px 0; border-radius: 10px;
	font-size: 18px; line-height: 1; color: #10202f;
	background: color-mix(in srgb, var(--rc-lime, #b8f24a) 24%, transparent);
	border: 1px dashed var(--rc-lime, #b8f24a);
	opacity: .55; cursor: pointer; transition: opacity .15s;
}
.rethink .rc-sec-slot:hover { opacity: 1; }

.rethink #rc-fmtbar .rc-fmtbar__sp { width: 1px; height: 18px; margin: 0 4px; background: rgba(255, 255, 255, .25); }
.rethink #rc-fmtbar .rc-fmtbar__act { display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 8px; font-size: 13px; font-weight: 700; color: #fff; cursor: pointer; }
.rethink #rc-fmtbar .rc-fmtbar__act:hover { background: rgba(255, 255, 255, .16); }

.rethink .rc-presets { left: 50%; top: 50%; transform: translate(-50%, -50%); }
.rethink .rc-secstyle { left: 50%; top: 50%; transform: translate(-50%, -50%); }

.rethink .rc-secstyle__label { margin: 12px 0 6px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--rc-lime, #b8f24a); }
.rethink .rc-secstyle__label:first-child { margin-top: 0; }
.rethink .rc-secstyle__row { display: flex; flex-wrap: wrap; gap: 8px; }
.rethink .rc-secstyle__row button { min-height: 36px; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .08); color: #fff; font-weight: 600; cursor: pointer; }
.rethink .rc-secstyle__row button.is-on, .rethink .rc-secstyle__row button[aria-pressed="true"] { background: var(--rc-lime, #b8f24a); color: #10202f; }

.rethink .rc-posepick__item.is-on, .rethink .rc-posepick__item[aria-pressed="true"] { box-shadow: 0 0 0 3px var(--rc-lime, #b8f24a); }
.rethink .rc-mediapick__item.is-on { box-shadow: inset 0 0 0 3px var(--rc-lime, #b8f24a); }
.rethink .rc-mediapick__hint { padding: 20px; text-align: center; color: #9fb6ac; font-size: 13px; }

.rethink [data-field][contenteditable] { outline: 1px dashed rgba(184, 242, 74, .55); outline-offset: 4px; border-radius: 6px; }
.rethink [data-field][contenteditable]:focus { outline-color: var(--rc-lime, #b8f24a); }

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
