/* Cookie consent banner — fixed bottom bar, slides up when revealed by main.js. */

.zgb-cookie {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 1000;
	background: var(--zgb-ink);
	color: var(--zgb-cream);
	box-shadow: 0 -10px 40px -12px rgba(0, 0, 0, .5);
	transform: translateY(110%);
	transition: transform var(--zgb-dur) var(--zgb-ease-out);
}
.zgb-cookie.is-visible { transform: none; }
.zgb-cookie[hidden] { display: none; }

.zgb-cookie__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--zgb-space-4);
	flex-wrap: wrap;
	padding-block: var(--zgb-space-3);
}

.zgb-cookie__text {
	margin: 0;
	flex: 1 1 360px;
	font-size: var(--zgb-fs-sm);
	line-height: 1.5;
	color: rgba(247, 240, 230, .85);
}
.zgb-cookie__link {
	color: var(--zgb-green-soft);
	text-decoration: underline;
	white-space: nowrap;
}
.zgb-cookie__link:hover { color: #fff; }

.zgb-cookie__actions {
	display: flex;
	gap: var(--zgb-space-3);
	flex: 0 0 auto;
}
.zgb-cookie__btn {
	padding: 0.5em 1.25em;
	font-size: var(--zgb-fs-sm);
}

@media (max-width: 560px) {
	.zgb-cookie__inner { flex-direction: column; align-items: stretch; justify-content: flex-start; text-align: center; }
	.zgb-cookie__text { flex: 0 1 auto; }   /* in a column, flex-basis is height — keep it content-sized */
	.zgb-cookie__actions { justify-content: center; }
	.zgb-cookie__btn { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
	.zgb-cookie { transition: none; }
}
