/*
Theme Name: Porthun & Thiede
Theme URI: https://www.pt-systemhaus.de
Author: Porthun & Thiede Systemhaus
Author URI: https://www.pt-systemhaus.de
Description: Markenkonformes Full-Site-Editing Block-Theme für das Systemhaus Porthun & Thiede (Netzwerklösungen · TK-Anlagen · Softwareentwicklung). Farbwelt PT Rot #ED1C24 / PT Grün #003319, Hausschrift Futura. Nachbau der Website pt-systemhaus.de in Gutenberg – modern aufbereitet.
Version: 1.1.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pt-systemhaus
Tags: full-site-editing, block-templates, business, custom-colors, custom-logo, block-patterns
*/

/*
 * Layout & Farben kommen aus theme.json. Diese Datei ergänzt den modernen
 * Feinschliff: Karten, Schatten, Hover, Verläufe, sanfte Scroll-Animationen.
 * Alle Bewegungen respektieren prefers-reduced-motion.
 */

/* ---------- Grundlagen ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Anker-Ziele nicht unter den fixierten Header schieben */
:target { scroll-margin-top: 90px; }

/* Fokus in Markenrot */
:where(a, button, input, textarea, select, .wp-block-button__link):focus-visible {
	outline: 3px solid var(--wp--preset--color--pt-red);
	outline-offset: 3px;
	border-radius: 3px;
}

/* ---------- Header / Navigation ---------- */
.pt-header {
	position: sticky;
	top: 0;
	z-index: 100;
	backdrop-filter: saturate(1.1) blur(6px);
	background: rgba(255, 255, 255, .9) !important;
}
.wp-block-navigation .wp-block-navigation-item__content {
	transition: color .18s ease;
}
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--pt-red);
}
/* „Fernwartung" als rote Pille hervorheben */
.pt-nav-cta .wp-block-navigation-item__content {
	background: var(--wp--preset--color--pt-red);
	color: #fff !important;
	padding: .5rem 1.1rem;
	border-radius: 999px;
	transition: background-color .2s ease, transform .15s ease;
}
.pt-nav-cta .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--pt-green);
	transform: translateY(-1px);
}

/* ---------- Buttons ---------- */
.wp-block-button__link {
	transition: background-color .2s ease, transform .15s ease, box-shadow .2s ease;
	box-shadow: 0 6px 16px rgba(237, 28, 36, .18);
}
.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 51, 25, .22);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	box-shadow: none;
	border-width: 2px;
}

/* ---------- Karten ---------- */
.is-style-pt-card {
	border-radius: 14px;
	overflow: clip;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .06);
	transition: transform .25s ease, box-shadow .25s ease;
}
.is-style-pt-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 40px rgba(0, 51, 25, .15);
}
.is-style-pt-card img { transition: transform .5s ease; }
.is-style-pt-card:hover img { transform: scale(1.04); }

/* Icon-Kreise in den Leistungs-Karten */
.pt-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 16px;
	background: linear-gradient(135deg, rgba(237, 28, 36, .10), rgba(0, 51, 25, .08));
	margin-bottom: .4rem;
}

/* ---------- Roter Zierstrich unter Überschriften ---------- */
.is-style-pt-underline { position: relative; padding-bottom: .6rem; }
.is-style-pt-underline::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 64px; height: 4px;
	background: var(--wp--preset--color--pt-red);
	border-radius: 2px;
}
.has-text-align-center.is-style-pt-underline::after { left: 50%; transform: translateX(-50%); }

/* ---------- Hero ---------- */
.wp-block-cover.alignfull { border-radius: 0; }
.wp-block-cover h1 { text-wrap: balance; }
/* zusätzlicher Verlauf für Textkontrast unten */
.pt-hero .wp-block-cover__background { background-blend-mode: multiply; }

/* ---------- Partner-Logoband ---------- */
.pt-logo-band img {
	filter: grayscale(1);
	opacity: .7;
	transition: filter .25s ease, opacity .25s ease, transform .25s ease;
	max-height: 52px;
	width: auto;
}
.pt-logo-band img:hover {
	filter: grayscale(0);
	opacity: 1;
	transform: translateY(-2px);
}

/* ---------- Kontaktformular ---------- */
.pt-contact-form input:focus,
.pt-contact-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--pt-red) !important;
	box-shadow: 0 0 0 3px rgba(237, 28, 36, .15);
}
.pt-contact-form button:hover { background: var(--wp--preset--color--pt-green) !important; }

/* ---------- Scroll-Reveal ---------- */
.pt-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .6s ease, transform .6s ease;
	will-change: opacity, transform;
}
.pt-reveal.is-visible { opacity: 1; transform: none; }

/* ---------- Listen mit Häkchen ---------- */
.pt-check-list { list-style: none; padding-left: 0; }
.pt-check-list li {
	position: relative;
	padding-left: 1.9rem;
	margin-bottom: .55rem;
}
.pt-check-list li::before {
	content: "";
	position: absolute;
	left: 0; top: .15em;
	width: 1.25rem; height: 1.25rem;
	background: var(--wp--preset--color--pt-red);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ---------- Reduced Motion ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.is-style-pt-card,
	.wp-block-button__link,
	.pt-reveal,
	.pt-logo-band img,
	.is-style-pt-card img {
		transition: none !important;
	}
	.pt-reveal { opacity: 1; transform: none; }
	.is-style-pt-card:hover,
	.wp-block-button__link:hover { transform: none; }
}
