/*
Theme Name: Bensemann's Affinghausen
Theme URI: https://www.bensemann.de
Description: Block-Theme für Bensemann's Affinghausen – Gasthaus & Discothek. Legt bei der Aktivierung Startseite, Impressum und Datenschutz samt Bildern automatisch an.
Version: 1.2.0
Requires at least: 6.5
Requires PHP: 7.4
Author: Bensemann's Affinghausen
Text Domain: bensemann
License: GPL-2.0-or-later
*/

/* ---------- Grundlagen ---------- */
html { scroll-behavior: smooth; }
:where([id]) { scroll-margin-top: 90px; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}

/* Keine Lücken zwischen Header, Inhalt und Footer */
.wp-site-blocks > * { margin-block-start: 0 !important; }

/* ---------- Header ---------- */
.bense-sticky {
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .25);
}
.admin-bar .bense-sticky { top: 32px; }
@media (max-width: 782px) { .admin-bar .bense-sticky { top: 46px; } }
@media (max-width: 600px) { .admin-bar .bense-sticky { top: 0; } }

.bense-header .bense-nav .wp-block-navigation-item__content {
	text-transform: uppercase;
	letter-spacing: .14em;
	font-weight: 700;
	font-size: .85rem;
	padding: .4em 0;
	border-bottom: 2px solid transparent;
	transition: border-color .2s, color .2s;
}
.bense-header .bense-nav .wp-block-navigation-item__content:hover,
.bense-header .bense-nav .wp-block-navigation-item__content:focus {
	color: #fff;
	border-bottom-color: #fff;
}
.bense-header .bense-nav .wp-block-navigation__container { gap: clamp(1.5rem, 3vw, 2.75rem); }
.bense-nav-left { justify-content: flex-end; flex: 1 1 0; }
.bense-nav-right { justify-content: flex-start; flex: 1 1 0; }
.bense-nav-left .wp-block-navigation__container { justify-content: flex-end; }

.bense-signet { margin: 0 !important; flex: 0 0 auto; }
.bense-signet img { width: 58px; height: auto; display: block; transition: transform .2s; }
.bense-signet a:hover img { transform: scale(1.06); }

/* Mobile Navigation nur auf kleinen Bildschirmen */
.bense-nav-mobile { display: none !important; }
@media (max-width: 860px) {
	.bense-nav-left, .bense-nav-right { display: none !important; }
	.bense-nav-mobile { display: flex !important; position: absolute; right: var(--wp--preset--spacing--40); }
	.bense-header > .wp-block-group { position: relative; }
	.bense-signet img { width: 48px; }
}
.bense-nav-mobile .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--menue) !important;
	color: #fff !important;
}
.bense-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.25rem;
	text-transform: uppercase;
	letter-spacing: .1em;
}

/* ---------- Hero ---------- */
.bense-hero .bense-hero-logo { margin-inline: auto; }
.bense-hero .bense-hero-logo img {
	width: min(640px, 80vw);
	height: auto;
	filter: drop-shadow(0 4px 18px rgba(0, 0, 0, .45));
}
.bense-hero .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(29, 30, 27, .55) 0%, rgba(29, 30, 27, .25) 45%, rgba(29, 30, 27, .65) 100%) !important;
	opacity: 1 !important;
}

/* ---------- Inhalts-Sektionen ---------- */
.bense-section h2 {
	position: relative;
	padding-bottom: .6em;
}
.bense-section h2::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 64px;
	height: 3px;
	transform: translateX(-50%);
	background: var(--wp--preset--color--gruen);
	border-radius: 2px;
}

/* Bildraster: quadratische Kacheln */
.bense-grid.wp-block-gallery { gap: 8px !important; }
.bense-grid.wp-block-gallery .wp-block-image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: transform .4s ease;
}
.bense-grid.wp-block-gallery .wp-block-image { overflow: hidden; }
.bense-grid.wp-block-gallery .wp-block-image:hover img { transform: scale(1.05); }
@media (max-width: 600px) {
	.bense-grid.wp-block-gallery.columns-4 .wp-block-image { width: calc(50% - 4px) !important; }
}

/* ---------- Footer ---------- */
.bense-footer-logo img { width: 220px; height: auto; }
.bense-footer a { text-decoration: none; }
.bense-footer a:hover { text-decoration: underline; }
.bense-duty-nav .wp-block-navigation-item__content {
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: .8rem;
}
@media (max-width: 781px) {
	.bense-footer .wp-block-column { text-align: center; }
	.bense-footer-logo { margin-inline: auto; }
}

/* ---------- Inhaltsseiten (Impressum, Datenschutz) ---------- */
.bense-legal h2 { font-size: clamp(1.3rem, 2.5vw, 1.6rem); margin-top: 2.2em; }
.bense-legal h3 { font-size: 1.15rem; margin-top: 1.8em; }
.bense-legal h4 { font-size: 1rem; margin-top: 1.4em; }
.bense-legal { overflow-wrap: break-word; hyphens: auto; }
