/* Presseclub Gäste 0.4.0 */
.pcmg-public{
	--pcmg-red:#ef141d;
	--pcmg-red-dark:#cf0d16;
	--pcmg-yellow:#f5d400;
	--pcmg-pink:#f3b8c8;
	--pcmg-cream:#fbf5ed;
	--pcmg-ink:#14100e;
	background:var(--pcmg-cream);
	color:var(--pcmg-ink);
}
.pcmg-public *{box-sizing:border-box}

.pcmg-public-kicker{
	display:inline-block;
	margin-bottom:1rem;
	padding:.55rem .78rem;
	background:var(--pcmg-yellow);
	color:#111;
	font:900 .74rem/1 Montserrat,Arial,sans-serif;
	letter-spacing:.09em;
	text-transform:uppercase;
}

/* --------------------------------------------------------------------------
   Hero / Mosaik
   Die auto-fit-Spalten reagieren auf die tatsächliche Breite des Hero-Blocks
   und nicht nur auf den Viewport. Damit bleibt der Header auch in schmalen
   Theme-Containern stabil.
   -------------------------------------------------------------------------- */
.pcmg-public-hero{
	position:relative;
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));
	gap:clamp(2rem,5vw,4.75rem);
	align-items:center;
	padding:clamp(3.5rem,6vw,5.6rem) clamp(24px,6vw,72px);
	background:var(--pcmg-red);
	color:#fff;
	overflow:hidden;
	isolation:isolate;
}
.pcmg-public-hero:before{
	content:"";
	position:absolute;
	z-index:-2;
	left:-110px;
	top:-120px;
	width:310px;
	height:310px;
	border-radius:50%;
	background:rgba(255,255,255,.055);
}
.pcmg-public-hero:after{
	content:"";
	position:absolute;
	z-index:-2;
	right:-150px;
	bottom:-220px;
	width:520px;
	height:520px;
	border-radius:50%;
	background:var(--pcmg-yellow);
}
.pcmg-public-hero-copy{min-width:0;max-width:720px}
.pcmg-public-hero h1{
	margin:0;
	max-width:720px;
	font:400 clamp(3.45rem,7.2vw,7rem)/.91 Anton,Impact,sans-serif;
	letter-spacing:-.018em;
	text-transform:uppercase;
	word-break:normal;
	overflow-wrap:normal;
	hyphens:none;
}
.pcmg-public-hero-copy>p{
	max-width:660px;
	margin:1.5rem 0 0;
	font:650 clamp(1rem,1.3vw,1.16rem)/1.58 Montserrat,Arial,sans-serif;
}

.pcmg-public-hero-visual{
	position:relative;
	min-width:0;
	width:100%;
	max-width:560px;
	justify-self:end;
	padding:10px 18px 34px 0;
}
.pcmg-public-mosaic{
	display:grid;
	grid-template-columns:1.22fr .9fr .9fr;
	grid-template-rows:155px 122px 138px;
	gap:12px;
	width:100%;
}
.pcmg-public-mosaic-item{
	position:relative;
	overflow:hidden;
	min-width:0;
	border:2px solid rgba(255,255,255,.48);
	border-radius:22px;
	background:#d9c7c2;
	box-shadow:0 14px 30px rgba(74,0,4,.17);
}
.pcmg-public-mosaic-item img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.pcmg-public-mosaic-item--1{grid-column:1;grid-row:1 / span 2}
.pcmg-public-mosaic-item--2{grid-column:2;grid-row:1}
.pcmg-public-mosaic-item--3{grid-column:3;grid-row:1 / span 2}
.pcmg-public-mosaic-item--4{grid-column:2;grid-row:2 / span 2}
.pcmg-public-mosaic-item--5{grid-column:1;grid-row:3}
.pcmg-public-mosaic-item--6{grid-column:3;grid-row:3}
.pcmg-public-mosaic-item--7,
.pcmg-public-mosaic-item--8{display:none}

.pcmg-public-hero-stat{
	position:absolute;
	right:0;
	bottom:0;
	z-index:5;
	width:152px;
	aspect-ratio:1;
	border-radius:50%;
	background:#fff;
	color:var(--pcmg-red);
	display:grid;
	place-items:center;
	align-content:center;
	text-align:center;
	box-shadow:0 16px 36px rgba(59,0,3,.18);
}
.pcmg-public-hero-stat strong{font:400 3.8rem/.78 Anton,Impact,sans-serif}
.pcmg-public-hero-stat span{margin-top:.25rem;font:900 .72rem/1 Montserrat,Arial,sans-serif;letter-spacing:.05em}
.pcmg-public-hero-stat small{max-width:104px;margin-top:.55rem;font:700 .65rem/1.3 Montserrat,Arial,sans-serif;color:#554744}

/* -------------------------------------------------------------------------- */
.pcmg-public-intro{
	max-width:1250px;
	margin:0 auto;
	padding:clamp(3.5rem,6vw,6rem) 5vw;
	display:grid;
	grid-template-columns:1fr .8fr;
	gap:clamp(2rem,6vw,5rem);
	align-items:end;
}
.pcmg-public-intro h2{margin:0;font:400 clamp(3rem,5vw,5.5rem)/.9 Anton,Impact,sans-serif;text-transform:uppercase}
.pcmg-public-intro>p{margin:0;font:500 1rem/1.75 Montserrat,Arial,sans-serif}

.pcmg-public-tools{max-width:1250px;margin:0 auto 1.5rem;padding:0 5vw;display:flex;gap:1rem;justify-content:space-between}
.pcmg-public-search{flex:1;min-height:50px;padding:0 1rem;border:2px solid var(--pcmg-red);border-radius:14px;background:#fff;font:700 1rem Montserrat,Arial,sans-serif}
.pcmg-public-sort{display:flex;gap:.5rem;flex-wrap:wrap}
.pcmg-public-sort button{min-height:46px;padding:0 1rem;border:2px solid var(--pcmg-red);border-radius:999px;background:#fff;color:var(--pcmg-red);font:900 .75rem Montserrat,Arial,sans-serif;cursor:pointer}
.pcmg-public-sort button.is-active,.pcmg-public-sort button:hover{background:var(--pcmg-red);color:#fff}

.pcmg-public-grid{max-width:1250px;margin:auto;padding:0 5vw 7rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.pcmg-public-card{overflow:hidden;border:2px solid var(--pcmg-red);border-radius:26px;background:#fff;box-shadow:0 14px 35px rgba(30,15,12,.07)}
.pcmg-public-card-top{position:relative;aspect-ratio:1/1;background:var(--pcmg-pink)}
.pcmg-public-portrait{width:100%;height:100%;display:grid;place-items:center;overflow:hidden}
.pcmg-public-portrait img{width:100%;height:100%;object-fit:cover}
.pcmg-public-portrait img,.pcmg-public-placeholder-pass{display:block;width:100%;height:100%;}
.pcmg-public-portrait>span{font:400 8rem Anton,Impact,sans-serif;color:rgba(239,20,29,.42)}
.pcmg-public-count{position:absolute;right:12px;bottom:12px;z-index:8;width:62px;height:62px;border-radius:50%;background:var(--pcmg-yellow);border:2px solid var(--pcmg-red);display:grid;place-items:center;align-content:center;box-shadow:0 6px 14px rgba(30,15,12,.12)}
.pcmg-public-count strong{font:400 1.42rem/.9 Anton,Impact,sans-serif}
.pcmg-public-count span{font:900 .5rem/1.05 Montserrat,Arial,sans-serif}
.pcmg-public-card-body{padding:1.4rem}
.pcmg-public-role{display:block;margin-bottom:.35rem;color:var(--pcmg-red);font:900 .7rem Montserrat,Arial,sans-serif;text-transform:uppercase}
.pcmg-public-card h2{margin:0;font:400 2.35rem/.96 Anton,Impact,sans-serif;text-transform:uppercase}
.pcmg-public-card p{margin:.45rem 0 0;font:650 .92rem/1.45 Montserrat,Arial,sans-serif;color:#544b47}
.pcmg-public-years{display:inline-block;margin-top:1rem;padding:.38rem .58rem;border-radius:999px;background:#fff3b0;font:900 .67rem Montserrat,Arial,sans-serif}
.pcmg-public-events{margin-top:1rem;padding-top:.8rem;border-top:1px solid #eadfd7}
.pcmg-public-events summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;color:var(--pcmg-red);font:900 .8rem Montserrat,Arial,sans-serif}
.pcmg-public-events summary::-webkit-details-marker{display:none}
.pcmg-public-events summary b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--pcmg-pink)}
.pcmg-public-events>div{display:grid;gap:.55rem;margin-top:.8rem}
.pcmg-public-events a{display:grid;grid-template-columns:1fr auto;gap:.2rem .7rem;padding:.7rem;border-radius:10px;background:var(--pcmg-cream);color:#111;text-decoration:none}
.pcmg-public-events time{grid-column:1;color:var(--pcmg-red);font:800 .68rem Montserrat,Arial,sans-serif}
.pcmg-public-events a strong{grid-column:1;font:750 .82rem/1.35 Montserrat,Arial,sans-serif}
.pcmg-public-events a>span{grid-column:2;grid-row:1/3;align-self:center;color:var(--pcmg-red);font-weight:900}
.pcmg-public-website{display:inline-block;margin-top:1rem;color:var(--pcmg-red);font:900 .72rem Montserrat,Arial,sans-serif;text-decoration:none}
.pcmg-public-noresults,.pcmg-public-empty{max-width:1000px;margin:auto;padding:3rem 5vw 6rem;text-align:center;font:750 1rem/1.5 Montserrat,Arial,sans-serif}

@media(max-width:1050px){
	.pcmg-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Sobald beide Hero-Spalten nicht mehr komfortabel passen, macht auto-fit aus
   ihnen automatisch zwei Zeilen. Das Mosaik bleibt kompakt und horizontal. */
@media(max-width:900px){
	.pcmg-public-hero-visual{justify-self:start;max-width:620px;padding-right:20px}
	.pcmg-public-mosaic{grid-template-rows:140px 112px 125px}
}

@media(max-width:760px){
	.pcmg-public-hero{padding:3.3rem 24px 3.8rem}
	.pcmg-public-hero h1{font-size:clamp(3rem,14vw,4.8rem);line-height:.94}
	.pcmg-public-hero-copy>p{margin-top:1.25rem;font-size:1rem}
	.pcmg-public-hero:after{right:-240px;bottom:-250px;width:480px;height:480px}
	.pcmg-public-mosaic{grid-template-rows:122px 98px 112px;gap:9px}
	.pcmg-public-mosaic-item{border-radius:17px}
	.pcmg-public-hero-stat{width:132px}
	.pcmg-public-hero-stat strong{font-size:3.2rem}
	.pcmg-public-hero-stat span{font-size:.65rem}
	.pcmg-public-hero-stat small{font-size:.59rem;max-width:90px}
	.pcmg-public-intro{grid-template-columns:1fr;padding-left:24px;padding-right:24px;gap:2rem}
	.pcmg-public-tools{padding:0 24px;display:grid}
	.pcmg-public-sort{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}
	.pcmg-public-sort button{white-space:nowrap}
	.pcmg-public-grid{grid-template-columns:1fr;padding-left:24px;padding-right:24px}
}

@media(max-width:480px){
	.pcmg-public-hero h1{font-size:clamp(2.9rem,15vw,4.2rem)}
	.pcmg-public-hero-visual{padding:0 0 28px}
	.pcmg-public-mosaic{
		grid-template-columns:repeat(2,minmax(0,1fr));
		grid-template-rows:150px 120px 120px;
		gap:8px;
	}
	.pcmg-public-mosaic-item--1{grid-column:1;grid-row:1 / span 2}
	.pcmg-public-mosaic-item--2{grid-column:2;grid-row:1}
	.pcmg-public-mosaic-item--3{grid-column:2;grid-row:2}
	.pcmg-public-mosaic-item--4{grid-column:1;grid-row:3}
	.pcmg-public-mosaic-item--5{grid-column:2;grid-row:3}
	.pcmg-public-mosaic-item--6,
	.pcmg-public-mosaic-item--7,
	.pcmg-public-mosaic-item--8{display:none}
	.pcmg-public-hero-stat{right:-4px;bottom:-8px;width:116px}
	.pcmg-public-hero-stat strong{font-size:2.8rem}
	.pcmg-public-hero-stat small{display:none}
}

@media(prefers-reduced-motion:reduce){
	.pcmg-public-sort button{transition:none}
}


/* ==========================================================================
   0.5.1 · Echtes Mosaik mit bis zu 24 Portraits
   ========================================================================== */

/* Standard: die klassische Komposition für 4–8 Portraits. */
.pcmg-public-mosaic{
	grid-auto-flow:dense;
}

/* Ab 9 Bildern wird aus der Hero-Collage bewusst ein dichteres Mosaik. */
.pcmg-public-mosaic--dense{
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:92px;
	gap:9px;
}
.pcmg-public-mosaic--dense .pcmg-public-mosaic-item{
	display:block !important;
	grid-column:auto !important;
	grid-row:auto !important;
	border-radius:17px;
}
.pcmg-public-mosaic--dense .pcmg-public-mosaic-item:nth-child(1),
.pcmg-public-mosaic--dense .pcmg-public-mosaic-item:nth-child(7){
	grid-column:span 2 !important;
	grid-row:span 2 !important;
}
.pcmg-public-mosaic--dense .pcmg-public-mosaic-item:nth-child(4),
.pcmg-public-mosaic--dense .pcmg-public-mosaic-item:nth-child(10){
	grid-row:span 2 !important;
}

/* 13–18 Bilder: fünf Spalten, einzelne größere Ankerbilder. */
.pcmg-public-mosaic--xl{
	grid-template-columns:repeat(5,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:76px;
	gap:8px;
}
.pcmg-public-mosaic--xl .pcmg-public-mosaic-item{
	display:block !important;
	grid-column:auto !important;
	grid-row:auto !important;
	border-radius:15px;
}
.pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(1),
.pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(9){
	grid-column:span 2 !important;
	grid-row:span 2 !important;
}
.pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(5),
.pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(13){
	grid-row:span 2 !important;
}

/* 19–24 Bilder: maximale Vielfalt, sechs schmale Spalten. */
.pcmg-public-mosaic--xxl{
	grid-template-columns:repeat(6,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:64px;
	gap:7px;
}
.pcmg-public-mosaic--xxl .pcmg-public-mosaic-item{
	display:block !important;
	grid-column:auto !important;
	grid-row:auto !important;
	border-width:1px;
	border-radius:13px;
}
.pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(1),
.pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(11){
	grid-column:span 2 !important;
	grid-row:span 2 !important;
}
.pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(6),
.pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(17){
	grid-row:span 2 !important;
}

/* Bei vielen Bildern darf der visuelle Bereich etwas breiter werden. */
.pcmg-public-hero:has(.pcmg-public-mosaic--dense) .pcmg-public-hero-visual,
.pcmg-public-hero:has(.pcmg-public-mosaic--xl) .pcmg-public-hero-visual,
.pcmg-public-hero:has(.pcmg-public-mosaic--xxl) .pcmg-public-hero-visual{
	max-width:650px;
}

/* Tablet: alle gewählten Portraits bleiben sichtbar; sie werden nur kleiner. */
@media(max-width:900px){
	.pcmg-public-mosaic--dense{
		grid-template-columns:repeat(4,minmax(0,1fr)) !important;
		grid-auto-rows:82px;
	}
	.pcmg-public-mosaic--xl{
		grid-template-columns:repeat(5,minmax(0,1fr)) !important;
		grid-auto-rows:66px;
	}
	.pcmg-public-mosaic--xxl{
		grid-template-columns:repeat(6,minmax(0,1fr)) !important;
		grid-auto-rows:56px;
	}
}

/* Mobile: auch hier keine Bilder mehr pauschal ausblenden. */
@media(max-width:480px){
	.pcmg-public-mosaic--dense,
	.pcmg-public-mosaic--xl,
	.pcmg-public-mosaic--xxl{
		grid-template-rows:none !important;
		gap:6px;
	}
	.pcmg-public-mosaic--dense{
		grid-template-columns:repeat(3,minmax(0,1fr)) !important;
		grid-auto-rows:76px;
	}
	.pcmg-public-mosaic--xl{
		grid-template-columns:repeat(4,minmax(0,1fr)) !important;
		grid-auto-rows:62px;
	}
	.pcmg-public-mosaic--xxl{
		grid-template-columns:repeat(4,minmax(0,1fr)) !important;
		grid-auto-rows:56px;
	}
	.pcmg-public-mosaic--dense .pcmg-public-mosaic-item,
	.pcmg-public-mosaic--xl .pcmg-public-mosaic-item,
	.pcmg-public-mosaic--xxl .pcmg-public-mosaic-item{
		display:block !important;
		border-radius:10px;
	}
}


/* ==========================================================================
   0.5.4 · Namen sauber umbrechen + neutraler Portrait-Platzhalter
   ========================================================================== */

/*
 * Namen dürfen nur zwischen vollständigen Namensbestandteilen umbrechen.
 * Theme-/Browser-Hyphenation wird für diesen Bereich bewusst neutralisiert.
 */
.pcmg-public-card h2.pcmg-public-name{
	word-break:normal !important;
	overflow-wrap:normal !important;
	hyphens:none !important;
	-webkit-hyphens:none !important;
	text-wrap:wrap;
}

.pcmg-public-name-word{
	display:inline-block;
	max-width:100%;
	white-space:nowrap;
	word-break:normal !important;
	overflow-wrap:normal !important;
	hyphens:none !important;
	-webkit-hyphens:none !important;
}

/*
 * Platzhalter nach Variante 4:
 * bewusst als Presseclub-Gastausweis gestaltet statt als künstliches Portrait.
 */
.pcmg-public-placeholder-pass{
	position:relative;
	width:100%;
	height:100%;
	overflow:hidden;
	background:
		linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,0) 55%),
		var(--p);
}

.pcmg-public-placeholder-pass:before{
	content:"";
	position:absolute;
	inset:auto -18% -42% auto;
	width:68%;
	aspect-ratio:1;
	border-radius:50%;
	background:rgba(239,20,29,.09);
}

.pcmg-pass-lanyard{
	position:absolute;
	z-index:1;
	left:50%;
	top:-17%;
	width:34px;
	height:48%;
	background:var(--r);
	transform:translateX(-50%) rotate(-1deg);
	clip-path:polygon(18% 0,82% 0,68% 100%,32% 100%);
}

.pcmg-pass-ring{
	position:absolute;
	z-index:2;
	left:50%;
	top:14%;
	width:36px;
	height:36px;
	border:8px solid #171313;
	border-radius:50%;
	transform:translate(-50%,-50%);
	background:transparent;
}

.pcmg-pass-card{
	position:absolute;
	z-index:3;
	left:50%;
	top:51%;
	width:min(58%,190px);
	aspect-ratio:.72;
	padding:12px;
	border-radius:12px;
	background:var(--c);
	box-shadow:0 13px 28px rgba(80,0,5,.16);
	transform:translate(-50%,-50%) rotate(-7deg);
	display:grid;
	grid-template-rows:auto 1fr auto;
	gap:8px;
}

.pcmg-pass-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:8px;
	color:#111;
}

.pcmg-pass-head strong{
	font:400 clamp(.48rem,1vw,.68rem)/.92 Anton,Impact,sans-serif;
	letter-spacing:.02em;
	text-align:left;
}

.pcmg-pass-lines{
	display:grid;
	gap:4px;
	width:32px;
	padding-top:1px;
}

.pcmg-pass-lines i{
	display:block;
	height:3px;
	border-radius:999px;
	background:#111;
	transform:rotate(-2deg);
}

.pcmg-pass-photo{
	display:grid;
	place-items:center;
	min-height:0;
	border-radius:7px;
	background:#e8bec9;
}

.pcmg-pass-photo svg{
	width:56%;
	height:auto;
	fill:none;
	stroke:#fff;
	stroke-width:7;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.pcmg-pass-band{
	margin:-1px -12px -12px;
	min-height:38px;
	padding:7px 11px 6px;
	background:var(--y);
	color:#111;
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-radius:0 0 12px 12px;
}

.pcmg-pass-band strong{
	font:400 clamp(.85rem,2.1vw,1.45rem)/1 Anton,Impact,sans-serif;
	letter-spacing:.03em;
}

.pcmg-pass-band span{
	font:900 1rem/1 Montserrat,Arial,sans-serif;
}

@media(max-width:480px){
	.pcmg-pass-card{
		width:min(62%,170px);
		padding:10px;
		gap:6px;
	}
	.pcmg-pass-band{
		margin:-1px -10px -10px;
		min-height:34px;
		padding:6px 9px;
	}
}


/* ==========================================================================
   0.5.6 · Quadratische Portraitflächen + Badge über Bild
   ========================================================================== */

/* Gästekarten nutzen jetzt bewusst ein quadratisches Bildformat.
   Das funktioniert für Hochformat-Portraits wie auch für Platzhalter deutlich ruhiger. */
.pcmg-public-card-top{aspect-ratio:1/1;}

/* Der gelbe Besuchs-Badge liegt immer über Portrait oder Platzhalterkarte. */
.pcmg-public-count{z-index:8;}


/* ==========================================================================
   0.5.7 · Besuchs-Badge bewusst zurückhaltender
   ========================================================================== */
.pcmg-public-count{
	width:62px;
	height:62px;
	right:12px;
	bottom:12px;
	border-width:2px;
}
.pcmg-public-count strong{
	font-size:1.42rem;
}
.pcmg-public-count span{
	font-size:.5rem;
}

@media(max-width:480px){
	.pcmg-public-count{
		width:56px;
		height:56px;
		right:10px;
		bottom:10px;
	}
	.pcmg-public-count strong{
		font-size:1.28rem;
	}
	.pcmg-public-count span{
		font-size:.46rem;
	}
}


/* ==========================================================================
   0.6.0 · Hero an statische Presseclub-Seiten angeglichen
   ========================================================================== */

/*
 * Der Gäste-Hero folgt jetzt bewusst derselben Bildsprache wie Über uns,
 * Mitglied werden und Kontakt: roter Verlauf, pinker Kreis oben rechts,
 * gelber Kreis unten rechts und ein kleiner weißer Infobadge.
 */
.pcmg-public-hero{
	position:relative;
	display:block;
	min-height:clamp(390px,47vw,560px);
	padding:clamp(54px,6.1vw,76px) clamp(34px,6.2vw,78px) clamp(50px,5.8vw,72px);
	overflow:hidden;
	background:linear-gradient(108deg,#ff111b 0%,var(--pcmg-red) 56%,#dc0b15 100%);
	color:#fff;
	isolation:isolate;
}

.pcmg-public-hero:before,
.pcmg-public-hero:after{
	content:none !important;
	display:none !important;
}

.pcmg-public-hero-copy{
	position:relative;
	z-index:3;
	width:min(66%,760px);
	max-width:none;
}

.pcmg-public-hero h1{
	max-width:none;
	margin:clamp(18px,2vw,25px) 0 clamp(16px,1.7vw,22px);
	font-size:clamp(4rem,8.25vw,7.9rem);
	line-height:.94;
	letter-spacing:-.02em;
}

.pcmg-public-hero-copy>p{
	max-width:min(82%,610px);
	margin:0;
	font-size:clamp(1rem,1.7vw,1.3rem);
	line-height:1.55;
	font-weight:600;
}

.pcmg-public-hero-pink{
	position:absolute;
	z-index:1;
	right:-4%;
	top:-10%;
	width:27%;
	aspect-ratio:1;
	border-radius:50%;
	background:#f2a9ca;
}

.pcmg-public-hero-yellow{
	position:absolute;
	z-index:1;
	right:6%;
	bottom:-32%;
	width:31%;
	aspect-ratio:1;
	border-radius:50%;
	background:var(--pcmg-yellow);
}

.pcmg-public-hero-stat{
	position:absolute;
	z-index:4;
	right:9%;
	top:12%;
	bottom:auto;
	width:clamp(92px,11vw,122px);
	aspect-ratio:1;
	border-radius:50%;
	background:#fff;
	color:var(--pcmg-red);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	transform:rotate(6deg);
	box-shadow:0 12px 30px rgba(80,0,0,.15);
}

.pcmg-public-hero-stat strong{
	font:400 clamp(2.2rem,3.2vw,3.5rem)/.84 Anton,Impact,sans-serif;
}

.pcmg-public-hero-stat span{
	margin-top:.2rem;
	font:900 clamp(.58rem,.8vw,.76rem)/1 Montserrat,Arial,sans-serif;
	letter-spacing:.05em;
}

.pcmg-public-hero-stat small{
	display:block;
	max-width:none;
	margin-top:.36rem;
	color:var(--pcmg-red);
	font:800 clamp(.46rem,.62vw,.58rem)/1.05 Montserrat,Arial,sans-serif;
	letter-spacing:.06em;
}

/* --------------------------------------------------------------------------
   Mosaik: eigener Bereich direkt unter dem Hero
   -------------------------------------------------------------------------- */
.pcmg-public-mosaic-section{
	background:var(--pcmg-cream);
	padding:clamp(38px,5vw,66px) 5vw clamp(34px,4.7vw,60px);
}

.pcmg-public-mosaic-shell{
	max-width:1250px;
	margin:0 auto;
}

.pcmg-public-mosaic-head{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:24px;
	margin-bottom:clamp(18px,2.2vw,28px);
}

.pcmg-public-mosaic-head .pcmg-public-kicker{
	margin:0;
	flex:0 0 auto;
}

.pcmg-public-mosaic-head p{
	max-width:560px;
	margin:0;
	color:#544b47;
	font:650 clamp(.92rem,1.05vw,1rem)/1.5 Montserrat,Arial,sans-serif;
	text-align:right;
}

/* Im separaten Bereich darf das Mosaik die verfügbare Breite ausnutzen. */
.pcmg-public-mosaic-section .pcmg-public-mosaic{
	width:100%;
	max-width:none;
}

/* 4–8 Portraits: kompakte Magazin-Collage. */
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic{
	grid-template-columns:repeat(4,minmax(0,1fr));
	grid-template-rows:repeat(2,clamp(150px,16vw,220px));
	gap:12px;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item{
	display:block !important;
	grid-column:auto !important;
	grid-row:auto !important;
	border-radius:20px;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item:nth-child(1),
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item:nth-child(6){
	grid-column:span 2 !important;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic-item{
	margin:0;
	border-color:rgba(239,20,29,.18);
	box-shadow:0 12px 28px rgba(44,20,15,.08);
}

.pcmg-public-mosaic-section .pcmg-public-mosaic-item img{
	object-position:center 28%;
}

/* Bisherige Hero-spezifische Breiten- und Positionierungslogik neutralisieren. */
.pcmg-public-hero-visual{
	display:none !important;
}

/* Intro rückt etwas näher an das Mosaik heran. */
.pcmg-public-mosaic-section + .pcmg-public-intro{
	padding-top:clamp(36px,4.4vw,54px);
}

@media(max-width:900px){
	.pcmg-public-hero{
		min-height:520px;
		padding:52px 24px 48px;
	}
	.pcmg-public-hero-copy{
		width:100%;
		max-width:100%;
		padding-right:112px;
	}
	.pcmg-public-hero h1{
		margin:22px 0 18px;
		font-size:clamp(3.7rem,10vw,5.3rem);
	}
	.pcmg-public-hero-copy>p{
		max-width:88%;
		font-size:15px;
	}
	.pcmg-public-hero-stat{
		right:22px;
		top:22px;
		width:90px;
		height:90px;
	}
	.pcmg-public-hero-stat strong{
		font-size:2.55rem;
	}
	.pcmg-public-hero-stat span{
		font-size:.57rem;
	}
	.pcmg-public-hero-stat small{
		font-size:.44rem;
	}
	.pcmg-public-hero-pink{
		right:-90px;
		top:75px;
		width:230px;
	}
	.pcmg-public-hero-yellow{
		right:-65px;
		bottom:-85px;
		width:260px;
	}
	.pcmg-public-mosaic-head{
		align-items:flex-start;
		flex-direction:column;
		gap:12px;
	}
	.pcmg-public-mosaic-head p{
		max-width:680px;
		text-align:left;
	}
}

@media(max-width:620px){
	.pcmg-public-hero{
		min-height:500px;
	}
	.pcmg-public-hero-copy{
		padding-right:0;
	}
	.pcmg-public-hero h1{
		padding-right:0;
		font-size:clamp(3.1rem,15vw,4.35rem);
	}
	.pcmg-public-hero-copy>p{
		max-width:82%;
	}
	.pcmg-public-hero-stat{
		top:auto;
		right:20px;
		bottom:28px;
		width:82px;
		height:82px;
	}
	.pcmg-public-hero-pink{
		top:-60px;
		right:-92px;
		width:220px;
	}
	.pcmg-public-hero-yellow{
		right:-82px;
		bottom:-95px;
		width:245px;
	}
	.pcmg-public-mosaic-section{
		padding-left:24px;
		padding-right:24px;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic--classic{
		grid-template-columns:repeat(2,minmax(0,1fr));
		grid-template-rows:none;
		grid-auto-rows:135px;
		gap:8px;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item:nth-child(1),
	.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item:nth-child(6){
		grid-column:auto !important;
	}
}


/* ==========================================================================
   0.6.1 · Hero-Headline kleiner und mit Kontakt vereinheitlicht
   ========================================================================== */

.pcmg-public-hero h1{
	font-size:clamp(3.65rem,7.15vw,6.95rem);
	line-height:.94;
}

@media(max-width:900px){
	.pcmg-public-hero h1{
		font-size:clamp(3.35rem,8.8vw,4.85rem);
	}
}

@media(max-width:620px){
	.pcmg-public-hero h1{
		font-size:clamp(2.85rem,13.2vw,3.95rem);
	}
}


/* ==========================================================================
   0.6.2 · Hero-Typografie exakt wie Theme 0.22.0
   ========================================================================== */

.pcmg-public-hero-copy{
	width:min(74%,860px) !important;
	max-width:none !important;
}

.pcmg-public-hero h1{
	max-width:none !important;
	margin:clamp(18px,2vw,25px) 0 clamp(16px,1.7vw,22px) !important;
	font-family:Anton,Impact,sans-serif !important;
	font-size:clamp(3.65rem,7.15vw,6.95rem) !important;
	font-weight:400 !important;
	line-height:.94 !important;
	letter-spacing:-.02em !important;
	word-break:normal !important;
	overflow-wrap:normal !important;
	hyphens:none !important;
	-webkit-hyphens:none !important;
	text-wrap:wrap !important;
}

.pcmg-public-hero-copy>p{
	max-width:min(82%,610px) !important;
	margin:0 !important;
	font-family:Montserrat,Arial,sans-serif !important;
	font-size:clamp(1rem,1.7vw,1.3rem) !important;
	font-weight:600 !important;
	line-height:1.55 !important;
	word-break:normal !important;
	overflow-wrap:normal !important;
	hyphens:none !important;
	-webkit-hyphens:none !important;
	text-wrap:pretty !important;
}

.pcmg-public-hero .pcmg-public-kicker{
	min-height:auto !important;
	padding:.55rem .75rem !important;
	font:900 .72rem/1 Montserrat,Arial,sans-serif !important;
	letter-spacing:.1em !important;
}

@media(max-width:900px){
	.pcmg-public-hero-copy{
		width:100% !important;
		max-width:100% !important;
		padding-right:112px;
	}

	.pcmg-public-hero h1{
		margin:22px 0 18px !important;
		font-size:clamp(3.35rem,8.8vw,4.85rem) !important;
	}

	.pcmg-public-hero-copy>p{
		max-width:88% !important;
		font-size:15px !important;
	}
}

@media(max-width:620px){
	.pcmg-public-hero-copy{
		padding-right:0 !important;
	}

	.pcmg-public-hero h1{
		max-width:100% !important;
		font-size:clamp(2.85rem,13.2vw,3.95rem) !important;
	}

	.pcmg-public-hero-copy>p{
		max-width:92% !important;
	}
}


/* ==========================================================================
   0.6.3 · Gäste-Mosaik quadratbetont
   ========================================================================== */

/*
 * Portraits liegen überwiegend hochkant oder quadratisch vor.
 * Deshalb keine künstlich breiten Querformat-Kacheln mehr:
 * sichtbare Portraitflächen sind grundsätzlich 1:1.
 */
.pcmg-public-mosaic-section .pcmg-public-mosaic{
	display:grid !important;
	grid-auto-flow:dense;
	align-items:start;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic-item{
	display:block !important;
	grid-column:auto !important;
	grid-row:auto !important;
	aspect-ratio:1 / 1 !important;
	min-width:0;
	min-height:0;
	overflow:hidden;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic-item img{
	width:100%;
	height:100%;
	aspect-ratio:1 / 1;
	object-fit:cover;
	object-position:center 24%;
}

/* 4–8 Portraits */
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic{
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:auto !important;
	gap:12px;
}

/* 9–12 Portraits */
.pcmg-public-mosaic-section .pcmg-public-mosaic--dense{
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:auto !important;
	gap:10px;
}

/* 13–18 Portraits */
.pcmg-public-mosaic-section .pcmg-public-mosaic--xl{
	grid-template-columns:repeat(5,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:auto !important;
	gap:9px;
}

/* 19–24 Portraits */
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl{
	grid-template-columns:repeat(6,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:auto !important;
	gap:8px;
}

/* Frühere Querformat-/Span-Akzente neutralisieren. */
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item:nth-child(n),
.pcmg-public-mosaic-section .pcmg-public-mosaic--dense .pcmg-public-mosaic-item:nth-child(n),
.pcmg-public-mosaic-section .pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(n),
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(n){
	grid-column:span 1 !important;
	grid-row:span 1 !important;
}

/* Etwas Collage-Charakter ohne ungünstige Portraitausschnitte. */
.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(5n+2){
	transform:translateY(4px);
}
.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(7n+4){
	transform:translateY(-3px);
}

/* Tablet */
@media(max-width:900px){
	.pcmg-public-mosaic-section .pcmg-public-mosaic--classic,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--dense{
		grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xl,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl{
		grid-template-columns:repeat(5,minmax(0,1fr)) !important;
	}
}

/* Mobile: ebenfalls quadratisch, nur weniger Spalten. */
@media(max-width:620px){
	.pcmg-public-mosaic-section .pcmg-public-mosaic--classic,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--dense{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xl,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl{
		grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic-item{
		transform:none !important;
	}
}

/* ==========================================================================
   0.6.4 · Gäste-Mosaik mit stärkerem Collage-Charakter
   Orientierung: quadratbetont wie im Home-Modul, aber mit mehr Dynamik.
   ========================================================================== */

/*
 * Die vorherige 0.6.3-Variante war sehr geordnet, aber fast zu rasterartig.
 * Jetzt wieder mehr Collage: kleine und große Quadrate plus ausgewählte
 * Hochformate als vertikale Akzente.
 */
.pcmg-public-mosaic-section .pcmg-public-mosaic{
	display:grid !important;
	grid-auto-flow:dense;
	align-items:stretch;
	width:100%;
	max-width:none;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic-item{
	display:block !important;
	grid-column:span 1 !important;
	grid-row:span 1 !important;
	aspect-ratio:auto !important;
	margin:0;
	min-width:0;
	min-height:0;
	overflow:hidden;
	border-color:rgba(239,20,29,.18);
	box-shadow:0 12px 28px rgba(44,20,15,.08);
	border-radius:22px;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic-item img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 24%;
}

/* 4–8 Bilder */
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic{
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	grid-auto-rows:clamp(88px,8.6vw,126px) !important;
	gap:12px;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item:nth-child(1),
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item:nth-child(6){
	grid-column:span 2 !important;
	grid-row:span 2 !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item:nth-child(3),
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item:nth-child(7){
	grid-row:span 2 !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic .pcmg-public-mosaic-item:nth-child(8){
	grid-column:span 2 !important;
}

/* 9–12 Bilder */
.pcmg-public-mosaic-section .pcmg-public-mosaic--dense{
	grid-template-columns:repeat(5,minmax(0,1fr)) !important;
	grid-auto-rows:clamp(72px,6.9vw,102px) !important;
	gap:10px;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--dense .pcmg-public-mosaic-item:nth-child(1),
.pcmg-public-mosaic-section .pcmg-public-mosaic--dense .pcmg-public-mosaic-item:nth-child(8){
	grid-column:span 2 !important;
	grid-row:span 2 !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--dense .pcmg-public-mosaic-item:nth-child(4),
.pcmg-public-mosaic-section .pcmg-public-mosaic--dense .pcmg-public-mosaic-item:nth-child(10){
	grid-row:span 2 !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--dense .pcmg-public-mosaic-item:nth-child(6){
	grid-column:span 2 !important;
}

/* 13–18 Bilder */
.pcmg-public-mosaic-section .pcmg-public-mosaic--xl{
	grid-template-columns:repeat(6,minmax(0,1fr)) !important;
	grid-auto-rows:clamp(58px,5.7vw,86px) !important;
	gap:9px;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(1),
.pcmg-public-mosaic-section .pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(10){
	grid-column:span 2 !important;
	grid-row:span 2 !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(4),
.pcmg-public-mosaic-section .pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(13),
.pcmg-public-mosaic-section .pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(16){
	grid-row:span 2 !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--xl .pcmg-public-mosaic-item:nth-child(7){
	grid-column:span 2 !important;
}

/* 19–24 Bilder */
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl{
	grid-template-columns:repeat(7,minmax(0,1fr)) !important;
	grid-auto-rows:clamp(48px,4.7vw,72px) !important;
	gap:8px;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl .pcmg-public-mosaic-item{
	border-radius:18px;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(1),
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(11),
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(18){
	grid-column:span 2 !important;
	grid-row:span 2 !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(5),
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(14),
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(21){
	grid-row:span 2 !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl .pcmg-public-mosaic-item:nth-child(8){
	grid-column:span 2 !important;
}

/* Dezente lebendige Versätze wie bei einer Collage. */
.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(5n+2){
	transform:translateY(4px);
}
.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(6n+4){
	transform:translateY(-3px);
}

/* Tablet */
@media(max-width:900px){
	.pcmg-public-mosaic-section .pcmg-public-mosaic--classic,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--dense{
		grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xl{
		grid-template-columns:repeat(5,minmax(0,1fr)) !important;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl{
		grid-template-columns:repeat(6,minmax(0,1fr)) !important;
	}
}

/* Mobile: weiterhin collageartig, aber lesbar und stabil. */
@media(max-width:620px){
	.pcmg-public-mosaic-section .pcmg-public-mosaic--classic,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--dense,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xl,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl{
		grid-template-columns:repeat(3,minmax(0,1fr)) !important;
		grid-auto-rows:82px !important;
		gap:8px;
	}

	.pcmg-public-mosaic-section .pcmg-public-mosaic-item{
		transform:none !important;
		border-radius:16px;
	}

	.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(n){
		grid-column:span 1 !important;
		grid-row:span 1 !important;
	}

	.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(1),
	.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(5),
	.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(10){
		grid-column:span 2 !important;
		grid-row:span 2 !important;
	}

	.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(3),
	.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(7),
	.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(12){
		grid-row:span 2 !important;
	}
}


/* ==========================================================================
   0.7.0 · Smart Random Mosaic
   ========================================================================== */

/*
 * The PHP layer now assigns weighted random shape classes.
 * Earlier nth-child placement rules are neutralized here so the class-based
 * smart layout is authoritative.
 */
.pcmg-public-mosaic-section .pcmg-public-mosaic{
	display:grid !important;
	grid-auto-flow:dense !important;
	align-items:stretch;
	width:100%;
	max-width:none;
}

/* Density controls only the number of columns / basic row unit. */
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic{
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:clamp(88px,8.6vw,126px) !important;
	gap:12px;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic--dense{
	grid-template-columns:repeat(5,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:clamp(72px,6.9vw,102px) !important;
	gap:10px;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic--xl{
	grid-template-columns:repeat(6,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:clamp(58px,5.7vw,86px) !important;
	gap:9px;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl{
	grid-template-columns:repeat(7,minmax(0,1fr)) !important;
	grid-template-rows:none !important;
	grid-auto-rows:clamp(48px,4.7vw,72px) !important;
	gap:8px;
}

/* Neutralize every previous nth-child geometry rule. */
.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(n){
	display:block !important;
	grid-column:span 1 !important;
	grid-row:span 1 !important;
	aspect-ratio:auto !important;
	transform:none;
	min-width:0;
	min-height:0;
	overflow:hidden;
}

/* Weighted random formats. */
.pcmg-public-mosaic-section .pcmg-public-mosaic-item--square{
	grid-column:span 1 !important;
	grid-row:span 1 !important;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic-item--large-square{
	grid-column:span 2 !important;
	grid-row:span 2 !important;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic-item--portrait{
	grid-column:span 1 !important;
	grid-row:span 2 !important;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic-item--wide{
	grid-column:span 2 !important;
	grid-row:span 1 !important;
}

/* Keep all portrait material usable regardless of tile shape. */
.pcmg-public-mosaic-section .pcmg-public-mosaic-item img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 24%;
}

/* Subtle random-looking rhythm without changing the actual grid geometry. */
.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(4n+2){
	border-radius:16px 24px 20px 18px;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(5n+3){
	border-radius:24px 18px 24px 16px;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic-item:nth-child(6n+1){
	border-radius:20px 16px 24px 22px;
}

/* Tablet: retain the format classes, merely reduce column count. */
@media(max-width:900px){
	.pcmg-public-mosaic-section .pcmg-public-mosaic--classic,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--dense{
		grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xl{
		grid-template-columns:repeat(5,minmax(0,1fr)) !important;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl{
		grid-template-columns:repeat(6,minmax(0,1fr)) !important;
	}
}

/* Mobile: preserve dynamic square / portrait / large-square rhythm.
 * Wide tiles are converted to large squares to avoid tiny landscape crops.
 */
@media(max-width:620px){
	.pcmg-public-mosaic-section .pcmg-public-mosaic--classic,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--dense,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xl,
	.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl{
		grid-template-columns:repeat(3,minmax(0,1fr)) !important;
		grid-auto-rows:82px !important;
		gap:8px;
	}

	.pcmg-public-mosaic-section .pcmg-public-mosaic-item--wide{
		grid-column:span 2 !important;
		grid-row:span 2 !important;
	}

	.pcmg-public-mosaic-section .pcmg-public-mosaic-item--portrait{
		grid-column:span 1 !important;
		grid-row:span 2 !important;
	}

	.pcmg-public-mosaic-section .pcmg-public-mosaic-item--large-square{
		grid-column:span 2 !important;
		grid-row:span 2 !important;
	}

	.pcmg-public-mosaic-section .pcmg-public-mosaic-item--square{
		grid-column:span 1 !important;
		grid-row:span 1 !important;
	}
}


/* ==========================================================================
   0.7.1 · Smart Random Mosaic – Formatklassen wirklich wirksam
   ========================================================================== */

/*
 * Fix: Die allgemeine nth-child-Neutralisierung aus 0.7.0 war spezifischer
 * als die neuen Formatklassen und hat deshalb große Quadrate / Hochformate /
 * Querformate wieder auf 1x1 zurückgesetzt.
 *
 * Die folgenden Regeln sind absichtlich spezifischer und stehen zuletzt.
 */
.pcmg-public-mosaic-section .pcmg-public-mosaic .pcmg-public-mosaic-item.pcmg-public-mosaic-item--square{
	grid-column:span 1 !important;
	grid-row:span 1 !important;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic .pcmg-public-mosaic-item.pcmg-public-mosaic-item--large-square{
	grid-column:span 2 !important;
	grid-row:span 2 !important;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic .pcmg-public-mosaic-item.pcmg-public-mosaic-item--portrait{
	grid-column:span 1 !important;
	grid-row:span 2 !important;
}

.pcmg-public-mosaic-section .pcmg-public-mosaic .pcmg-public-mosaic-item.pcmg-public-mosaic-item--wide{
	grid-column:span 2 !important;
	grid-row:span 1 !important;
}

/* Noch mehr sichtbare Dynamik: größere Rastereinheiten bei mittleren Mengen. */
.pcmg-public-mosaic-section .pcmg-public-mosaic--classic{
	grid-auto-rows:clamp(96px,9.2vw,136px) !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--dense{
	grid-auto-rows:clamp(78px,7.5vw,110px) !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--xl{
	grid-auto-rows:clamp(64px,6.1vw,92px) !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic--xxl{
	grid-auto-rows:clamp(52px,5vw,76px) !important;
}

/* Unterschiedliche Rundungen verstärken den Collage-Eindruck dezent. */
.pcmg-public-mosaic-section .pcmg-public-mosaic-item--large-square{
	border-radius:26px !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic-item--portrait{
	border-radius:18px 26px 20px 22px !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic-item--wide{
	border-radius:24px 18px 24px 18px !important;
}
.pcmg-public-mosaic-section .pcmg-public-mosaic-item--square{
	border-radius:18px !important;
}

/* Mobile: Formatlogik ausdrücklich erhalten. */
@media(max-width:620px){
	.pcmg-public-mosaic-section .pcmg-public-mosaic .pcmg-public-mosaic-item.pcmg-public-mosaic-item--square{
		grid-column:span 1 !important;
		grid-row:span 1 !important;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic .pcmg-public-mosaic-item.pcmg-public-mosaic-item--large-square{
		grid-column:span 2 !important;
		grid-row:span 2 !important;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic .pcmg-public-mosaic-item.pcmg-public-mosaic-item--portrait{
		grid-column:span 1 !important;
		grid-row:span 2 !important;
	}
	.pcmg-public-mosaic-section .pcmg-public-mosaic .pcmg-public-mosaic-item.pcmg-public-mosaic-item--wide{
		grid-column:span 2 !important;
		grid-row:span 2 !important;
	}
}
