
.gc-renderer{
	margin:18px 0;
	overflow:hidden;
	background:#fff;
	border:1px solid #e2e5e8;
	border-radius:18px;
	box-shadow:0 14px 34px rgba(23,25,28,.08);
}
.gc-renderer__header{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:18px;
	padding:16px 17px 13px;
}
.gc-renderer__kicker{
	margin:0 0 4px;
	color:#b98128;
	font-size:9px;
	font-weight:900;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.gc-renderer__header h3{
	margin:0;
	color:#1b1e22;
	font-size:18px;
	line-height:1.2;
}
.gc-renderer__header p:not(.gc-renderer__kicker){
	max-width:560px;
	margin:6px 0 0;
	color:#656a70;
	font-size:10px;
	line-height:1.5;
}
.gc-renderer__badge{
	flex:0 0 auto;
	padding:6px 8px;
	color:#8a5d18;
	background:#fff7e9;
	border:1px solid rgba(185,129,40,.24);
	border-radius:9px;
	font-size:8px;
	font-weight:850;
}
.gc-renderer__stage{
	position:relative;
	height:390px;
	overflow:hidden;
	background:
		radial-gradient(circle at 50% 25%,rgba(255,255,255,.96),rgba(238,240,242,.88) 46%,#dfe2e5 100%);
	border-top:1px solid #edf0f2;
	border-bottom:1px solid #e4e7e9;
	touch-action:none;
}
.gc-renderer__stage canvas{
	display:block;
	width:100%;
	height:100%;
	outline:0;
}
.gc-renderer__loading,
.gc-renderer__error{
	position:absolute;
	z-index:3;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:8px;
	color:#4f555b;
	background:rgba(244,246,247,.92);
	text-align:center;
}
.gc-renderer__loading[hidden],
.gc-renderer__error[hidden]{display:none}
.gc-renderer__loading>span{
	display:inline-block;
	width:7px;
	height:7px;
	margin:0 1px;
	background:#b98128;
	border-radius:50%;
	animation:gc-renderer-dot .8s infinite alternate;
}
.gc-renderer__loading>span:nth-child(2){animation-delay:.14s}
.gc-renderer__loading>span:nth-child(3){animation-delay:.28s}
.gc-renderer__loading strong,
.gc-renderer__error strong{font-size:11px}
.gc-renderer__error span{font-size:9px}
.gc-renderer__hint{
	position:absolute;
	z-index:2;
	right:11px;
	bottom:10px;
	padding:6px 8px;
	color:#4e545a;
	background:rgba(255,255,255,.82);
	border:1px solid rgba(220,224,227,.92);
	border-radius:9px;
	backdrop-filter:blur(5px);
	font-size:8px;
	font-weight:800;
	pointer-events:none;
}
.gc-renderer__toolbar{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:7px;
	padding:11px 13px;
}
.gc-renderer__toolbar button{
	min-height:38px;
	padding:7px 5px;
	color:#34393e;
	background:#f7f8f9;
	border:1px solid #e1e4e7;
	border-radius:9px;
	font:inherit;
	font-size:9px;
	font-weight:800;
	cursor:pointer;
}
.gc-renderer__toolbar button:hover{
	color:#8b5e1a;
	background:#fff8ec;
	border-color:rgba(185,129,40,.35);
}
.gc-renderer__meta{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:8px;
	padding:0 13px 14px;
}
.gc-renderer__meta span{
	padding:9px 10px;
	background:#f7f8f9;
	border:1px solid #e5e7e9;
	border-radius:10px;
}
.gc-renderer__meta small{
	display:block;
	color:#73787e;
	font-size:8px;
	font-weight:800;
	text-transform:uppercase;
}
.gc-renderer__meta strong{
	display:block;
	margin-top:3px;
	color:#202429;
	font-size:10px;
}
@keyframes gc-renderer-dot{
	from{transform:translateY(0);opacity:.35}
	to{transform:translateY(-4px);opacity:1}
}
@media(max-width:520px){
	.gc-renderer{margin:14px 0}
	.gc-renderer__header{padding:13px 12px 11px}
	.gc-renderer__header h3{font-size:16px}
	.gc-renderer__badge{display:none}
	.gc-renderer__stage{height:310px}
	.gc-renderer__toolbar{
		grid-template-columns:repeat(4,minmax(0,1fr));
		padding:9px 10px;
	}
	.gc-renderer__toolbar button:last-child{grid-column:1/-1}
	.gc-renderer__meta{
		grid-template-columns:1fr;
		padding:0 10px 11px;
	}
}
@media(prefers-reduced-motion:reduce){
	.gc-renderer__loading>span{animation:none}
}


/* renderer.v0.1.1 — diagnostyka ładowania */
.gc-renderer__diagnostic{
	display:block;
	max-width:460px;
	margin-top:7px;
	padding:7px 9px;
	color:#7b3a32;
	background:#fff1ef;
	border:1px solid #efcbc6;
	border-radius:8px;
	font-size:8px;
	line-height:1.45;
}


/* renderer.v0.2 — stały podgląd i kadrowanie etapów */
.gc-renderer-wrap{
	position:relative;
	z-index:5;
	margin:0 0 18px;
}

.gc-renderer-wrap .gc-renderer{
	margin-top:0;
}

.gc-renderer__focus{
	position:absolute;
	z-index:2;
	left:11px;
	bottom:10px;
	padding:6px 8px;
	color:#865a19;
	background:rgba(255,248,236,.9);
	border:1px solid rgba(185,129,40,.28);
	border-radius:9px;
	backdrop-filter:blur(5px);
	font-size:8px;
	font-weight:850;
	pointer-events:none;
}

.gc-renderer[data-gc-renderer-step="1"] .gc-renderer__stage{
	background:
		radial-gradient(circle at 50% 12%,rgba(255,255,255,.98),rgba(238,240,242,.9) 45%,#dfe2e5 100%);
}

.gc-renderer[data-gc-renderer-step="2"] .gc-renderer__stage,
.gc-renderer[data-gc-renderer-step="3"] .gc-renderer__stage{
	background:
		radial-gradient(circle at 50% 45%,rgba(255,255,255,.98),rgba(238,240,242,.9) 48%,#dfe2e5 100%);
}

@media(min-width:900px){
	.gc-renderer-wrap{
		position:sticky;
		top:8px;
	}
}

@media(max-width:520px){
	.gc-renderer-wrap{
		margin-bottom:14px;
	}

	.gc-renderer__stage{
		height:260px;
	}

	.gc-renderer__header p:not(.gc-renderer__kicker){
		display:none;
	}
}


/* renderer.v0.3 — Real Garage */
.gc-renderer__meta{
	display:none!important;
}

.gc-renderer__stage{
	height:440px;
}

.gc-renderer__toolbar{
	padding-bottom:14px;
}

.gc-renderer[data-gc-renderer-step="2"] .gc-renderer__stage{
	background:
		radial-gradient(circle at 50% 45%,rgba(255,255,255,.99),rgba(235,237,239,.92) 50%,#d6dade 100%);
}

@media(max-width:520px){
	.gc-renderer__stage{
		height:330px;
	}

	.gc-renderer__toolbar{
		padding-bottom:10px;
	}
}


/* renderer.v0.4 — professional geometry */
.gc-renderer__stage{
	height:460px;
	background:
		radial-gradient(circle at 50% 32%,rgba(255,255,255,.99),rgba(236,238,240,.96) 52%,#d6d9dc 100%);
}

.gc-renderer__stage::after{
	content:"";
	position:absolute;
	inset:auto 6% 4% 6%;
	height:15%;
	background:radial-gradient(ellipse at center,rgba(25,28,31,.22),rgba(25,28,31,0) 68%);
	filter:blur(10px);
	pointer-events:none;
}

@media(max-width:520px){
	.gc-renderer__stage{
		height:340px;
	}
}


/* renderer.v0.5 — modular GLB engine */
.gc-renderer[data-gc-renderer-fallback="1"] .gc-renderer__badge::after{
	content:" · model zastępczy";
	opacity:.65;
	font-weight:700;
}
