/* STAGGERED COLUMNS — .db-columns   (corporate-events, landing, event-service,
   wine-catering = 5)   Two equal columns separated by a full-height rule. */
/* NOT alignfull. It was, and it also carried the page wrap — but WP emits
   `.has-global-padding > .alignfull { margin-inline: calc(root-padding * -1) }`
   at (0,2,0) after this file, which beats `margin-inline: auto` (0,1,0). The
   section pinned 40px from the viewport edge instead of centring, ~233px left of
   every other section. There is no background to bleed, so the block is now a
   plain constrained child of post-content, which supplies both the 1360px width
   and the 40px inset. Hence no max-width / margin-inline / padding-inline here. */
.db-columns.wp-block-columns {
	display: flex; flex-direction: column; gap: 24px; margin-block: 0;
	padding-block: 40px;
	border-top: 1px solid var(--line2);
}
.db-columns__col { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.db-columns__col h2 { font-size: clamp(1.5rem, 6vw, 3rem); line-height: 1.08; overflow-wrap: break-word; }
.db-columns__col p { font-size: 16px; line-height: 1.75; color: var(--muted); }
.db-columns__col img { width: 100%; height: 320px; object-fit: cover; }
@media (min-width: 861px) {
	/* 96, not 120 [Figma 368:2088 padding "96px 40px"; the prototype's .dc-intro
	   agrees]. Was an average across the five instances this section used to serve. */
	.db-columns.wp-block-columns { flex-direction: row; align-items: stretch; gap: 60px; padding-block: 96px; }
	.db-columns__col { flex: 1; gap: 60px; justify-content: space-between; }
	.db-columns__col + .db-columns__col { padding-left: 60px; border-left: 1px solid var(--line); }
	/* 80/88 [Figma 368:2093], not 48. Same reason as the image band: getränke's
	   .dc-intro is the only instance left, so it takes the frame's own value. */
	.db-columns__col h2 { font-size: 5rem; line-height: 1.1; }
	/* 500, not 600 [Figma 368:2090]. This section's only remaining instance is
	   getränke's `.dc-intro` — the other four became about-pair in §9.34 — so it can
	   carry the frame's own value rather than an average of five. */
	.db-columns__col img { height: 500px; }
}

/* --- variant: contact intro  (.db-columns--contact) -----------------------
   `.ct-intro` on Kontakt is not two equal columns. It is a fixed 420px text
   column beside a flexible media column, 64px apart, with the rule on the
   BOTTOM edge rather than the top and no divider between the columns. Its
   heading also runs to 3.75rem against the base's 3rem.

   ⚠ In the prototype that media column holds a **booking-calendar iframe**
   (`#ct-calendar`, with a `data-cal-base` for month navigation). No calendar is
   integrated here, so the slot keeps the placeholder image and the embed remains
   an open integration — see the Kontakt notes in docs/BLOCK-INVENTORY.md. */
.db-columns--contact.wp-block-columns {
	border-top: 0;
	border-bottom: 1px solid var(--line2);
	gap: 32px;
}

@media (min-width: 861px) {
	.db-columns--contact.wp-block-columns { gap: 64px; align-items: flex-start; }
	.db-columns--contact .db-columns__col:first-child { flex: 0 0 420px; }
	.db-columns--contact .db-columns__col:last-child  { flex: 1 1 auto; min-width: 0; }
	/* no rule between these two columns */
	.db-columns--contact .db-columns__col + .db-columns__col { padding-left: 0; border-left: 0; }
	.db-columns--contact .db-columns__col h2 { font-size: 3.75rem; }
}
