/* =========================================================
   DREXLERFOTOGRAFIE – TEMPLATES & PATTERNS
   ========================================================= */

.df-template-wide .wp-block-post-content,
.df-template-no-title .wp-block-post-content,
.df-template-minimal .wp-block-post-content {
	width: 100%;
}

.df-template-landing,
.df-template-canvas {
	min-height: 70vh;
}

.df-template-landing > .wp-block-post-content,
.df-template-canvas > .wp-block-post-content {
	margin-block-start: 0;
}

.df-sidebar-layout {
	gap: clamp(2.5rem, 6vw, 6rem);
}

.df-sidebar {
	position: sticky;
	top: calc(var(--df-header-height-compact) + 2rem);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid var(--df-line);
	background: rgba(255, 255, 255, 0.025);
}

.df-sidebar .wp-block-navigation__container {
	align-items: stretch;
	width: 100%;
	gap: 0;
}

.df-sidebar .wp-block-navigation-item {
	width: 100%;
	border-top: 1px solid var(--df-line);
}

.df-sidebar .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.9rem 0;
	color: var(--df-off-white);
	text-decoration: none;
}

.df-site-header-minimal {
	background: rgba(8, 11, 15, 0.92);
}

.df-minimal-contact .wp-block-button__link {
	border-color: var(--df-line-strong);
	color: var(--df-white);
}

.df-footer-minimal {
	padding: 1.5rem clamp(1.25rem, 3vw, 2rem);
	border-top: 1px solid var(--df-line);
	background: var(--df-ink);
	color: rgba(255, 255, 255, 0.55);
}

.df-footer-minimal .wp-block-group {
	gap: 1rem 2rem;
}

.df-footer-minimal p,
.df-footer-minimal .wp-block-shortcode,
.df-footer-minimal .df-copyright {
	margin: 0;
	font-size: 0.75rem;
}

.df-footer-minimal a {
	color: rgba(255, 255, 255, 0.72);
}

.df-prefooter-cta {
	padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 3vw, 2rem);
	border-top: 1px solid var(--df-line);
	background: var(--df-surface);
}

.df-prefooter-cta-inner {
	gap: 2rem 4rem;
}

.df-prefooter-cta h2,
.df-prefooter-cta p {
	margin-top: 0;
}

.df-pattern-hero,
.df-pattern-section,
.df-pattern-cta {
	padding-right: clamp(1.25rem, 3vw, 2rem);
	padding-left: clamp(1.25rem, 3vw, 2rem);
}

.df-pattern-hero {
	min-height: min(940px, 100svh);
	padding-top: clamp(9rem, 16vw, 13rem);
	padding-bottom: clamp(3rem, 7vw, 6rem);
}

.df-pattern-hero-grid {
	gap: clamp(2rem, 6vw, 6rem);
}

.df-pattern-eyebrow {
	margin: 0 0 1rem !important;
	color: var(--df-blue-soft);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	line-height: 1.4;
	text-transform: uppercase;
}

.df-pattern-display {
	max-width: 1050px;
	margin: 0 !important;
	font-size: clamp(3.2rem, 8.3vw, 8.7rem) !important;
	font-weight: 620;
	letter-spacing: -0.065em;
	line-height: 0.88;
}

.df-pattern-lead {
	color: var(--df-muted);
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.7;
}

.df-pattern-media-placeholder {
	display: grid;
	min-height: clamp(260px, 38vw, 590px);
	margin-top: clamp(3rem, 8vw, 7rem) !important;
	place-items: center;
	border: 1px solid var(--df-line);
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.045), rgba(47, 140, 255, 0.08));
	color: rgba(255, 255, 255, 0.45);
}

.df-pattern-media-placeholder p,
.df-pattern-project-card p {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.df-pattern-section {
	padding-top: clamp(5rem, 10vw, 10rem);
	padding-bottom: clamp(5rem, 10vw, 10rem);
}

.df-pattern-section-head {
	align-items: end !important;
	gap: 2rem 5rem;
	margin-bottom: clamp(3rem, 7vw, 6rem) !important;
}

.df-pattern-heading {
	max-width: 900px;
	margin: 0 !important;
	font-size: clamp(2.7rem, 6vw, 6.5rem) !important;
	font-weight: 620;
	letter-spacing: -0.06em;
	line-height: 0.94;
}

.df-pattern-section-copy {
	max-width: 420px;
	margin: 0 !important;
	color: var(--df-muted);
}

.df-pattern-services {
	gap: 1px;
	background: var(--df-line);
}

.df-pattern-service-card {
	padding: clamp(2rem, 5vw, 4.5rem);
	background: var(--df-surface);
}

.df-pattern-service-card h3 {
	font-size: clamp(2rem, 4vw, 4rem);
}

.df-pattern-service-card > p:not(.df-pattern-number, .df-pattern-link) {
	max-width: 520px;
	color: var(--df-muted);
}

.df-pattern-number {
	color: var(--df-blue-soft);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.14em;
}

.df-pattern-link a {
	color: var(--df-white);
	font-size: 0.85rem;
	font-weight: 750;
	text-decoration: none;
}

.df-pattern-projects {
	background: #0c1015;
}

.df-pattern-project-grid {
	gap: clamp(1.5rem, 4vw, 4rem);
}

.df-pattern-project-card {
	display: grid;
	min-height: clamp(260px, 32vw, 520px);
	place-items: center;
	border: 1px solid var(--df-line);
	background: linear-gradient(145deg, var(--df-surface-light), #0d1218);
	color: rgba(255, 255, 255, 0.4);
}

.df-pattern-project-card-tall {
	min-height: clamp(420px, 54vw, 780px);
}

.df-pattern-project-card-small {
	min-height: clamp(180px, 20vw, 300px);
	margin-top: clamp(2rem, 5vw, 4rem) !important;
}

.df-pattern-cta {
	padding-top: clamp(5rem, 10vw, 10rem);
	padding-bottom: clamp(5rem, 10vw, 10rem);
	background: radial-gradient(circle at 85% 10%, rgba(47, 140, 255, 0.2), transparent 36%), var(--df-surface);
}

.df-pattern-cta .wp-block-columns {
	gap: clamp(2rem, 7vw, 7rem);
}

@media (max-width: 781px) {
	.df-sidebar {
		position: static;
	}

	.df-pattern-hero {
		min-height: auto;
	}

	.df-pattern-display {
		font-size: clamp(3rem, 14vw, 5.7rem) !important;
	}

	.df-pattern-services {
		gap: 1px;
	}
}
