/*
Theme Name:        HS Immo
Theme URI:         https://www.hertel-immo.com/
Author:            Schneider & Liska Webservice
Author URI:        https://sl-webservice.de
Description:       Persönliches, warmes Block-Theme für Immobilienvermittlung in Heidelberg und Umgebung. Gutenberg-first (Full Site Editing nach WordPress-7-Stand), DSGVO-konform, ohne externe Abhängigkeiten.
Requires at least: 7.0
Tested up to:      7.0
Requires PHP:      8.2
Version:           1.3.85
License:           GNU General Public License v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       hs-immo
Tags:              block-theme, full-site-editing, real-estate, accessibility-ready, translation-ready
*/

/*
 * Hinweis: Die meisten Designtokens werden über theme.json (Schema v3)
 * gesetzt und stehen als CSS Custom Properties (--wp--preset--color--*,
 * etc.) global zur Verfügung. Diese Datei enthält nur ergänzende
 * Frontend-Styles, die sich nicht sauber über theme.json abbilden lassen.
 *
 * Block-spezifisches CSS liegt jeweils bei den Blocks unter /blocks
 * und wird nur dort geladen, wo der Block vorkommt.
 */

/* -------------------------------------------------------------------------
 * 1. Grundlegende Lesbarkeit & Rhythmus
 * ---------------------------------------------------------------------- */

:root {
	--hs-radius-sm: 12px;
	--hs-radius-md: 16px;
	--hs-radius-lg: 24px;
	--hs-shadow-soft: 0 6px 24px rgba(60, 42, 33, 0.08);
	--hs-shadow-card: 0 2px 12px rgba(60, 42, 33, 0.06);
	--hs-transition: 200ms ease;
}

body.hs-immo {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Schmale, weiche Trennlinien im Stil der Marke */
.hs-immo hr.wp-block-separator:not(.is-style-dots) {
	border: none;
	height: 1px;
	background: var(--wp--preset--color--border, #ece3d8);
	opacity: 1;
}

/* -------------------------------------------------------------------------
 * 2. Buttons – weiche Radien, ruhige Hover-Reaktion
 * ---------------------------------------------------------------------- */

.hs-immo .wp-block-button__link {
	border-radius: var(--hs-radius-md);
	transition: transform var(--hs-transition), box-shadow var(--hs-transition), background-color var(--hs-transition);
}

.hs-immo .wp-block-button__link:hover,
.hs-immo .wp-block-button__link:focus-visible {
	transform: translateY(-1px);
	box-shadow: var(--hs-shadow-soft);
}

/* -------------------------------------------------------------------------
 * 3. Sichtbarer Fokus (Accessibility-Floor)
 * ---------------------------------------------------------------------- */

.hs-immo a:focus-visible,
.hs-immo button:focus-visible,
.hs-immo .wp-block-button__link:focus-visible,
.hs-immo input:focus-visible,
.hs-immo textarea:focus-visible,
.hs-immo select:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent, #b07d3f);
	outline-offset: 2px;
}

/* -------------------------------------------------------------------------
 * 4. Skip-Link
 * ---------------------------------------------------------------------- */

.hs-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 0.75rem 1.25rem;
	background: var(--wp--preset--color--base, #faf6f0);
	color: var(--wp--preset--color--contrast, #3c2a21);
	border-radius: 0 0 var(--hs-radius-sm) 0;
	box-shadow: var(--hs-shadow-soft);
	text-decoration: none;
}

.hs-skip-link:focus {
	left: 0;
}

/* -------------------------------------------------------------------------
 * 5. Bilder – sanfte Radien als Markenmerkmal
 * ---------------------------------------------------------------------- */

.hs-immo .wp-block-image img,
.hs-immo figure.wp-block-image {
	border-radius: var(--hs-radius-md);
}

/* -------------------------------------------------------------------------
 * 6. Reduced motion respektieren
 * ---------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.hs-immo *,
	.hs-immo *::before,
	.hs-immo *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
