/*
Theme Name: Rümpel Fritz 2026
Theme URI: https://www.ruempel-fritz.de/
Author: Ergebnisreich
Description: Block-Theme für ruempel-fritz.de nach dem freigegebenen Entwurf. Schlank gebaut: keine Builder-Laufzeit, keine Karussell-Bibliothek, Schriften lokal.
Version: 0.1.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
License: proprietär
Text Domain: rf2026
*/

/* ==========================================================================
   Grundraster
   Der Entwurf arbeitet mit einem 1200er-Container und 36px Rand. Alles
   andere kommt aus theme.json — hier steht nur, was sich als Token nicht
   ausdrücken lässt.
   ========================================================================== */

.rf-wrap {
	width: min(1200px, calc(100% - 72px));
	margin-inline: auto;
}

@media (max-width: 1000px) {
	.rf-wrap { width: calc(100% - 36px); }
}

/* ==========================================================================
   Kopfbereich
   ========================================================================== */

/* Klebt am oberen Rand. Das Sticky gehoert an die aeussere Huelle des
   Template-Parts — auf dem inneren Container greift es nicht. */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 10;
}

.rf-header {
	background: var(--wp--preset--color--weiss);
	box-shadow: 0 1px 0 #0000000c;
}

.rf-header .rf-nav {
	min-height: 94px;
	gap: 24px;
	align-items: center;
	flex-wrap: nowrap;
}

.rf-header .wp-block-site-logo img {
	height: 74px;
	width: auto;
	max-width: 175px;
	object-fit: contain;
}

.rf-header .rf-mainnav a {
	font-size: var(--wp--preset--font-size--klein);
	font-weight: 500;
}

.rf-header .rf-button-klein .wp-block-button__link {
	font-size: var(--wp--preset--font-size--klein);
	padding: 13px 18px;
	gap: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
}

@media (max-width: 1000px) {
	.rf-header .rf-nav { min-height: 77px; gap: 12px; }
	.rf-header .wp-block-site-logo img { height: 58px; }
}

/* ==========================================================================
   Fußbereich
   ========================================================================== */

.rf-footer {
	background: var(--wp--preset--color--grau);
	border-top: 1px solid var(--wp--preset--color--linie);
	padding-top: 44px;
}

.rf-footer .rf-footer-top {
	display: grid;
	grid-template-columns: 1.05fr .9fr 1fr 1.4fr;
	gap: 32px;
	align-items: start;
}

.rf-footer h3 {
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0;
	font-weight: 700;
	margin: 0 0 20px;
}

.rf-footer-brand .wp-block-site-logo img {
	width: 145px;
	height: auto;
	object-fit: contain;
	object-position: left center;
}

.rf-footer-brand p {
	font-size: 14px;
	margin: 15px 0 0;
	color: var(--wp--preset--color--gedimmt);
	line-height: 1.6;
}

.rf-footer-brand .rf-footer-address { font-size: 13px; }

/* Linklisten im Fuß sehen aus wie Links, nicht wie Aufzählungen. */
.rf-footer .rf-linkliste {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rf-footer .rf-linkliste li { margin: 0 0 12px; }

.rf-footer .rf-linkliste a {
	font-size: 14px;
	color: var(--wp--preset--color--gedimmt);
}

.rf-footer-contact {
	background: var(--wp--preset--color--weiss);
	padding: 23px;
	border-radius: 6px;
	border-top: 3px solid var(--wp--preset--color--rot);
	min-width: 0;
}

.rf-footer-contact h3 { margin-bottom: 12px; }

.rf-footer-contact .rf-footer-phone {
	font-size: 25px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 7px;
	white-space: nowrap;
}

.rf-footer-contact .rf-footer-mail {
	font-size: 14px;
	margin: 0 0 20px;
}

.rf-footer-contact .wp-block-button__link {
	font-size: 14px;
	padding: 13px 16px;
	gap: 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 13px;
}

.rf-footer-contact .rf-footer-whatsapp {
	font-size: 12px;
	margin: 0 0 10px;
}

.rf-footer-contact .rf-footer-whatsapp a { text-decoration: underline; }

.rf-footer-contact .rf-footer-central {
	font-size: 12px;
	margin: 0;
	color: var(--wp--preset--color--gedimmt);
}

.rf-footer .rf-footer-bottom {
	border-top: 1px solid var(--wp--preset--color--linie);
	padding: 22px 0;
	margin-top: 35px;
	font-size: 12px;
	color: var(--wp--preset--color--gedimmt);
}

.rf-footer .rf-footer-bottom p { margin: 0; }
.rf-footer .rf-rechtliches { gap: 25px; }

@media (max-width: 1000px) {
	.rf-footer .rf-footer-top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 40px;
	}
}

@media (max-width: 650px) {
	.rf-footer .rf-footer-top { grid-template-columns: 1fr; gap: 28px; }
	.rf-footer .rf-footer-bottom { flex-direction: column; gap: 13px; align-items: flex-start; }
}
