/**
 * Groetjes van Sinterklaas - responsive rules.
 * Desktop 1200px+ (base), tablet 768-1199px, mobile below 768px.
 */

html, body { overflow-x: clip; }
img, iframe, video { max-width: 100%; }

/* ---------- Tablet ---------- */
@media (max-width: 1199px) {
	:root { --gvs-section-y: 88px; --gvs-header-h: 76px; }
	.gvs-grid--4, .gvs-grid--5 { grid-template-columns: repeat(2, 1fr); }
	.gvs-grid--3 { grid-template-columns: repeat(2, 1fr); }
	.gvs-hero { min-height: 680px; }
	.gvs-hero__inner { grid-template-columns: 1fr 1fr; }
	.gvs-footer__grid { grid-template-columns: 1fr 1fr; }
	.gvs-split { gap: 40px; }
	.gvs-alarm__inner { gap: 36px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	:root { --gvs-section-y: 56px; --gvs-header-h: 68px; }
	body { font-size: 1rem; }
	.admin-bar.gvs-has-hero .site-header { top: 46px; }
	.gvs-container { padding-inline: 20px; }

	.gvs-grid--2, .gvs-grid--3, .gvs-grid--4, .gvs-grid--5 { grid-template-columns: 1fr; }
	.gvs-split, .gvs-single-event, .gvs-contact, .gvs-alarm__inner { grid-template-columns: 1fr; gap: 32px; }
	.gvs-split--reverse .gvs-split__media { order: 0; }
	.gvs-section__title { margin-bottom: 32px; }

	/* Hero: copy first, image below; the characters never overlap the text */
	.gvs-hero { min-height: 640px; padding: calc(var(--gvs-header-h) + 32px) 0 120px; }
	.gvs-hero__inner { grid-template-columns: 1fr; gap: 24px; text-align: left; }
	.gvs-hero__media { min-height: 0; }
	.gvs-hero__img { max-width: 360px; margin-bottom: -110px; }
	.gvs-hero__skyline { height: 100px; }
	.gvs-page-hero { padding: calc(var(--gvs-header-h) + 32px) 0 110px; }
	.gvs-gold-glow { right: -20%; }

	.gvs-actions { flex-direction: column; }
	.gvs-actions .gvs-button, .gvs-next-event__row .gvs-button, .gvs-alarm .gvs-button,
	.gvs-cta .gvs-button, .gvs-service-card .gvs-button, .gvs-form__submit .gvs-button { width: 100%; }

	.gvs-next-event__card { margin-top: -56px; padding: 26px 22px; }
	.gvs-next-event__row { gap: 20px; }
	.gvs-event-card { padding: 20px; gap: 16px; }
	.gvs-date-block { width: 66px; }
	.gvs-date-block__day { font-size: 1.9rem; }

	.gvs-alarm { padding-block: 64px; }
	.gvs-alarm__qr img, .gvs-alarm__qr-placeholder { width: 180px; }
	.gvs-pepernoot--3, .gvs-pepernoot--6 { display: none; }

	.gvs-cta { padding: 72px 0 130px; }
	.gvs-form__grid { grid-template-columns: 1fr; }
	.gvs-footer__grid { grid-template-columns: 1fr; gap: 32px; padding-block: 48px 32px; }
	.gvs-footer__bottom-inner { flex-direction: column; }
	.gvs-footer__bottom a { margin: 0 18px 0 0; }
	.gvs-lightbox__prev, .gvs-lightbox__next { top: auto; bottom: 16px; }
}
