/*
Theme Name: De Grond der Dingen
Theme URI: https://degrondderdingen.be
Description: Aangepast blockthema voor De Grond der Dingen — een stadsproject van ARSENAAL/LAZARUS en Museum Hof van Busleyden (Mechelen). Groen, aarde, en cultureel erfgoed.
Version: 1.0
Author: De Grond der Dingen
License: GPL v2 or later
Text Domain: dgdd
Tags: block-theme, full-site-editing, custom-colors, custom-fonts, culture
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
*/

/* Brand wordmark */
.brand-badge {
	display: inline-block;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	letter-spacing: 0.01em;
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.15;
}
.brand-badge .brand-badge__sub {
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 500;
	color: var(--wp--preset--color--text-muted);
	letter-spacing: 0.12em;
	font-size: var(--wp--preset--font-size--xs);
	text-transform: uppercase;
	margin-top: 2px;
}

/* Section eyebrow */
.section-eyebrow {
	font-size: var(--wp--preset--font-size--sm) !important;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent) !important;
	font-family: var(--wp--preset--font-family--sans) !important;
}

/* Card style */
.dgdd-card {
	background-color: var(--wp--preset--color--bg-soft);
	border-left: 3px solid var(--wp--preset--color--accent);
	padding: var(--wp--preset--spacing--40);
	border-radius: 2px;
}

/* Accent divider */
.is-style-accent-divider {
	border: 0;
	height: 2px;
	background: linear-gradient(to right, transparent 0%, var(--wp--preset--color--accent) 50%, transparent 100%);
	margin: var(--wp--preset--spacing--50) 0;
	max-width: 200px;
}

/* Headings — serif */
h1, h2, h3, h4,
.wp-block-post-title,
.wp-block-heading {
	font-family: var(--wp--preset--font-family--serif);
	line-height: 1.2;
	color: var(--wp--preset--color--text);
}

h1, .wp-block-post-title {
	font-weight: 600;
	letter-spacing: -0.005em;
}

/* Body */
body {
	font-family: var(--wp--preset--font-family--sans);
	line-height: 1.7;
	color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--bg);
}

p { max-width: 68ch; }

/* Links */
a {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}
a:hover {
	color: var(--wp--preset--color--accent-dark);
	text-decoration-thickness: 2px;
}

/* Buttons */
.wp-block-button__link {
	font-weight: 600;
	letter-spacing: 0.02em;
	border-radius: 2px;
	padding: 14px 30px;
	font-family: var(--wp--preset--font-family--sans);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--sm);
	text-transform: uppercase;
}
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--accent);
	background: transparent;
	color: var(--wp--preset--color--accent);
}
.wp-block-button__link:hover {
	transform: translateY(-1px);
	transition: transform 0.15s ease;
}

/* Featured image */
.wp-block-post-featured-image img {
	border-radius: 4px;
}

/* Header */
header.wp-block-template-part {
	background: var(--wp--preset--color--bg);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* Footer */
footer.wp-block-template-part {
	background-color: var(--wp--preset--color--text);
	color: var(--wp--preset--color--bg);
	border-top: 4px solid var(--wp--preset--color--accent);
}
footer.wp-block-template-part h1,
footer.wp-block-template-part h2,
footer.wp-block-template-part h3,
footer.wp-block-template-part p,
footer.wp-block-template-part a {
	color: var(--wp--preset--color--bg) !important;
}
footer.wp-block-template-part a:hover {
	color: var(--wp--preset--color--accent-light) !important;
}

/* Navigation */
.wp-block-navigation a {
	text-decoration: none;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--sm);
	letter-spacing: 0.02em;
}
.wp-block-navigation a:hover {
	color: var(--wp--preset--color--accent);
}

/* Hero */
.dgdd-hero {
	background: linear-gradient(180deg, var(--wp--preset--color--bg-tint) 0%, var(--wp--preset--color--bg-soft) 100%);
	padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--40);
	text-align: center;
	position: relative;
	overflow: hidden;
}
.dgdd-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 20% 30%, rgba(45,95,63,0.06) 0%, transparent 40%),
	                  radial-gradient(circle at 80% 70%, rgba(184,90,62,0.05) 0%, transparent 40%);
	pointer-events: none;
}
.dgdd-hero > * { position: relative; z-index: 1; }
.dgdd-hero h1 {
	font-size: var(--wp--preset--font-size--3xl);
	max-width: 20ch;
	margin-inline: auto;
	color: var(--wp--preset--color--text);
}
.dgdd-hero p {
	max-width: 55ch;
	margin-inline: auto;
	font-size: var(--wp--preset--font-size--lg);
	color: var(--wp--preset--color--text-secondary);
}

/* Prose blocks */
.dgdd-prose {
	max-width: 720px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
}

/* Pull quote / callout */
.dgdd-callout {
	border-top: 2px solid var(--wp--preset--color--accent);
	border-bottom: 2px solid var(--wp--preset--color--accent);
	padding: var(--wp--preset--spacing--50) 0;
	margin: var(--wp--preset--spacing--50) 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--xl);
	font-style: italic;
	line-height: 1.4;
	text-align: center;
	color: var(--wp--preset--color--accent-dark);
}

/* Ultima block */
.dgdd-ultima {
	background: var(--wp--preset--color--bg-tint);
	border-radius: 4px;
	padding: var(--wp--preset--spacing--50);
	border: 1px solid var(--wp--preset--color--border);
}
.dgdd-ultima .section-eyebrow {
	margin-bottom: var(--wp--preset--spacing--30);
}
