/* Anamnese-Modal (#32, Joe-Spec 02.08.2026) — zweistufig:
 * Ebene 1 Link-Auswahl, Ebene 2 Bogen als Iframe DARUEBER. */

.pst-am { position: fixed; inset: 0; z-index: 900; display: flex; align-items: center; justify-content: center; padding: 24px; }
.pst-am[hidden] { display: none; }
.pst-am--frame { z-index: 920; } /* Ebene 2 liegt ueber Ebene 1 */

.pst-am__overlay { position: absolute; inset: 0; background: rgba(38,35,28,.55); }

.pst-am__panel {
	position: relative; width: 100%; max-width: 480px;
	background: #fff; border-radius: 0;
	box-shadow: 0 24px 64px rgba(38,35,28,.28);
	padding: 32px;
}
.pst-am__x {
	position: absolute; top: 14px; right: 14px;
	width: 38px; height: 38px; padding: 0; display: flex; align-items: center; justify-content: center;
	background: transparent; border: 1px solid var(--pst-sand-200, #EAE3D3); color: var(--pst-ink-600, #55524B); cursor: pointer;
	transition: border-color .2s ease, color .2s ease;
}
.pst-am__x:hover { border-color: var(--pst-gold-500, #CBAE6B); color: var(--pst-ink-900, #262626); }
.pst-am__x:focus-visible { outline: 2px solid var(--pst-gold-500, #CBAE6B); outline-offset: 2px; }
.pst-am__x svg { width: 18px; height: 18px; }

/* Doppelklasse gegen Kit-h3-Regel (bekannte Falle, Doc 19) */
.pst-am__title.pst-am__title { font: 700 24px/1.2 var(--font-brand); color: var(--pst-ink-900, #262626); margin: 0 32px 6px 0; }
.pst-am__sub { font-size: 15px; color: var(--pst-ink-600, #55524B); margin: 0 0 22px; }

.pst-am__list { display: flex; flex-direction: column; gap: 10px; }
/* Joe 03.08: KEIN Weiss-in-Weiss mit 1px-Kontur — die drei Boegen als
 * satte Farbflaechen: Erwachsene GOLD, Kinder ab 10 gedecktes ORANGE,
 * Kinder unter 10 gedaempftes VIOLETT (warme, zur Gold-Palette passende
 * Toene; weisser Text auf Orange/Violett >= 4.5:1). Icon + Pfeil folgen
 * der Textfarbe (currentColor). */
.pst-am__link {
	display: flex; align-items: center; gap: 14px; width: 100%; text-align: left;
	padding: 16px 18px; border: 0; cursor: pointer;
	font: 700 16px/1.3 var(--font-brand);
	transition: background .2s ease, transform .15s ease;
}
.pst-am__list .pst-am__link:nth-child(1) { background: var(--pst-gold-500, #CBAE6B); color: var(--pst-ink-900, #262626); }
.pst-am__list .pst-am__link:nth-child(1):hover { background: var(--pst-gold-600, #B3954F); }
.pst-am__list .pst-am__link:nth-child(2) { background: #B35F26; color: #fff; }
.pst-am__list .pst-am__link:nth-child(2):hover { background: #9F5320; }
.pst-am__list .pst-am__link:nth-child(3) { background: #7B5E7D; color: #fff; }
.pst-am__list .pst-am__link:nth-child(3):hover { background: #6B506D; }
.pst-am__link:hover { transform: translateY(-1px); }
.pst-am__link:focus-visible { outline: 2px solid var(--pst-ink-900, #262626); outline-offset: 2px; }
.pst-am__link-ico {
	flex: none; width: 30px; height: 30px; background: currentColor;
	-webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center;
}
.pst-am__link-pfeil { flex: none; width: 16px; height: 16px; margin-left: auto; color: inherit; }

/* ── Ebene 2: Bogen-Iframe ── */
.pst-am__panel--frame {
	max-width: min(960px, 94vw); height: min(88vh, 1000px);
	display: flex; flex-direction: column; padding: 0; overflow: hidden;
}
.pst-am__framehead {
	display: flex; align-items: center; gap: 16px;
	padding: 14px 64px 14px 20px; border-bottom: 1px solid var(--pst-sand-200, #EAE3D3);
	background: var(--pst-sand-50, #FBF9F5);
}
.pst-am__frametitle { font: 700 16px/1.2 var(--font-brand); color: var(--pst-ink-900, #262626); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pst-am__newtab { flex: none; margin-left: auto; font-size: 14px; font-weight: 600; color: var(--pst-gold-800, #7D6529); }
.pst-am__x--frame { top: 10px; right: 12px; background: #fff; }
.pst-am__framebody { position: relative; flex: 1; min-height: 0; }
.pst-am__iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #fff; }
.pst-am__spinner {
	position: absolute; top: 50%; left: 50%; width: 34px; height: 34px; margin: -17px 0 0 -17px;
	border: 3px solid var(--pst-sand-200, #EAE3D3); border-top-color: var(--pst-gold-500, #CBAE6B);
	border-radius: 50%; animation: pst-am-spin .8s linear infinite;
}
@keyframes pst-am-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pst-am__spinner { animation: none; } .pst-am__link { transition: none; } }

@media (max-width: 640px) {
	.pst-am { padding: 12px; }
	.pst-am__panel { padding: 24px 20px; }
	.pst-am__panel--frame { height: 94vh; max-width: 100%; }
	.pst-am__newtab { display: none; }
}

/* 03.08 HARTFIX (Joe: Icons unsichtbar — Box mass 0px breit): display +
 * Masse mit hoeherer Spezifitaet ans Dateiende, unabhaengig davon was
 * frueher in der Kaskade kollidiert. inline-block sichert width auch
 * ausserhalb eines Flex-Kontexts. */
.pst-am__list .pst-am__link { display: flex; align-items: center; gap: 14px; }
.pst-am__list .pst-am__link .pst-am__link-ico { display: inline-block; flex: none; width: 30px; height: 30px; }
.pst-am__list .pst-am__link .pst-am__link-pfeil { flex: none; margin-left: auto; }
