/*
Theme Name: Schuhbidu Child
Template: hemingway
Version: 1.1.0
Description: Child-Theme von Hemingway mit individuellen Anpassungen fuer Schuhbidu (u.a. regionale Landing Pages).
Author: Steinseifers Kommunikationswerkstatt
Author URI: https://steinseifers.de
*/

/* Deploy-Test */

/* Global */

body,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
	color: #000;
}

.wp-element-button,
.wp-block-button__link {
	font-weight: 700;
}

.page-template-template-landingpage .wp-block-button__link {
	background: #F6891F;
	color: #fff;
	border-radius: 4px;
	transition: background-color 0.18s ease, color 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease;
	}
	.page-template-template-landingpage .wp-block-button__link:hover {
		background: #fff;
		color: #E1372B;
		transform: translateY(-2px);
		box-shadow: 0 4px 10px rgba(0,0,0,0.2);
	}

/* Landingpage-Template */

.page-template-template-landingpage {
	}
	.page-template-template-landingpage .header.section {
		height: clamp(220px, 40vw, 520px) !important;
	}
	.page-template-template-landingpage .header.section:before,
	.page-template-template-landingpage .header.section:after {
		font-size: clamp(15px, 3vw, 39px) !important;
		text-shadow: clamp(2px, 0.3vw, 4px) clamp(2px, 0.3vw, 4px) 5px rgba(0,0,0,0.2) !important;
	}
	.page-template-template-landingpage .header.section:before {
		left: clamp(20px, 5vw, 65px) !important;
		bottom: clamp(40px, 10vw, 130px) !important;
		margin: 0 !important;
		padding: 0 clamp(16px, 4vw, 52px) 0.5rem clamp(16px, 4vw, 52px) !important;
	}
	.page-template-template-landingpage .header.section:after {
		left: 0 !important;
		bottom: clamp(20px, 5vw, 65px) !important;
		margin: 0 !important;
		padding: 0 clamp(28px, 7vw, 91px) 0.5rem clamp(28px, 7vw, 91px) !important;
	}
	.page-template-template-landingpage .blog-logo img {
		height: clamp(70px, 12vw, 250px);
		width: auto;
		max-width: 100%;
		filter: drop-shadow(0 6px 12px rgba(0,0,0,0.85));
	}
	.page-template-template-landingpage .credits.section {
		display: none;
	}
	.page-template-template-landingpage .menu-item--back a {
		text-transform: none;
		font-weight: 700;
		font-size: 18px;
	}
	.page-template-template-landingpage .wrapper {
		margin-top: 0;
	}
	.page-template-template-landingpage .lp-title,
	.page-template-template-landingpage .lp-intro,
	.page-template-template-landingpage .lp-usp-section,
	.page-template-template-landingpage .lp-route,
	.page-template-template-landingpage .lp-gallery,
	.page-template-template-landingpage .lp-contact,
	.page-template-template-landingpage .lp-cta {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

/* Landingpage: generische Verhaltensklassen */

.lp-tilt {
	display: block;
	}
	.lp-tilt img {
		border: 16px solid #fff;
		box-shadow: 0 20px 40px rgba(0,0,0,0.35);
	}

.lp-lightbox-overlay {
	display: flex;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.85);
	align-items: center;
	justify-content: center;
	padding: 40px;
	z-index: 10000;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease;
	}
	.lp-lightbox-overlay.is-open {
		opacity: 1;
		visibility: visible;
	}
	.lp-lightbox-overlay img {
		transform: scale(0.96);
		transition: transform 0.2s ease;
		max-width: 90%;
		max-height: 90%;
		box-shadow: 0 20px 50px rgba(0,0,0,0.5);
	}
	.lp-lightbox-overlay.is-open img {
		transform: scale(1);
	}

.lp-brand-slider {
	margin-top: 56px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
	}
	.lp-brand-slider .lp-brand-slider-track {
		display: flex;
		align-items: center;
		gap: 48px;
		width: max-content;
		will-change: transform;
		}
		.lp-brand-slider .lp-brand-slider-track.is-playing {
			animation: lp-brand-scroll 70s linear infinite;
		}
		.lp-brand-slider .lp-brand-slider-track figure.wp-block-image {
			flex: 0 0 auto !important;
			width: auto !important;
			max-width: none !important;
			margin: 0;
			}
			.lp-brand-slider .lp-brand-slider-track img {
				flex: 0 0 30px !important;
				height: 30px !important;
				width: auto !important;
				display: block;
				filter: grayscale(100%);
				opacity: 0.6;
			}

@keyframes lp-brand-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

.lp-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.7s ease, transform 0.7s ease;
	}
	.lp-reveal.in-view {
		opacity: 1;
		transform: none;
	}
@media (prefers-reduced-motion: reduce) {
	.lp-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Landingpage: USP, Video, CTA-Rest */

.lp-usp-section {
	background: #fff;
	padding: 90px 0;
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	}
	.lp-usp-section > .wp-block-group__inner-container {
		width: 1040px;
		max-width: 86%;
		margin: 0 auto;
	}
	.lp-usp-section .eyebrow-heading {
		font-size: 1.25em;
		font-weight: 700;
		text-align: center;
		margin: 0 0 40px 0;
	}

.lp-usp-grid {
	gap: 44px !important;
}

.lp-usp-grid .lp-usp-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	}
	.lp-usp-grid .lp-usp-item img {
		display: block;
		width: 40px;
		height: 40px;
		margin: 0 auto 16px auto;
	}
	.lp-usp-grid .lp-usp-item h3 {
		font-size: 15.5px;
		margin: 0 0 10px 0;
	}
	.lp-usp-grid .lp-usp-item p {
		font-size: 14px;
		line-height: 1.6;
		color: #555;
		margin: 0;
	}

.lp-video-frame {
	max-width: 700px;
	margin: 56px auto 0 auto;
	}
	.lp-video-frame .pixelmate-youtube-shortcode {
		box-shadow: 0 20px 40px rgba(0,0,0,0.35);
	}

.lp-cta-info-item,
.lp-cta-info-item > .wp-block-group__inner-container {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: none !important;
	margin: 0;
	}
	.lp-cta-info-item img {
		flex-shrink: 0;
		width: 18px;
		height: 18px;
	}
	.lp-cta-info-item > .wp-block-group__inner-container figure {
		margin-top: auto !important;
		margin-bottom: auto !important;
	}
	.lp-cta-info-item p {
		margin: 0;
		color: inherit;
		font-size: 15px;
		text-align: left;
		}
		.lp-cta-info-item p a {
			color: #000 !important;
		}

.lp-cta-info {
	margin-bottom: 50px;
	}
	.lp-cta-info,
	.lp-cta-info > .wp-block-group__inner-container {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 24px 36px;
		margin: 0;
		max-width: none !important;
	}

.lp-cta-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin: 50px 0 0;
}

.lp-cta-extra {
	margin: 0;
	max-width: none !important;
	}
	.lp-cta-extra > .wp-block-group__inner-container {
		margin-top: 50px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 50px;
		}
		.lp-cta-extra > .wp-block-group__inner-container:after {
			display: none;
		}
	.lp-cta-extra .lp-cta-extra-block,
	.lp-cta-extra .lp-cta-extra-block > .wp-block-group__inner-container {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: center;
		max-width: 320px !important;
		text-align: center;
		height: 100%;
		margin-top: 0;
		margin-bottom: 0;
		}
		.lp-cta-extra .lp-cta-extra-block p {
			font-size: 14px;
			line-height: 150%;
			color: #777;
			margin: 0 0 16px 0;
		}
		.lp-cta-extra .lp-cta-extra-block figure {
			margin-top: 0;
			margin-bottom: 0;
		}
	.lp-cta-extra .lp-partner-logo img {
		height: 44px;
		width: auto;
	}
	.lp-cta-extra .lp-social-icons,
	.lp-cta-extra .lp-social-icons > .wp-block-group__inner-container {
		display: flex;
		gap: 18px;
		justify-content: center;
		margin-top: 0;
		}
		.lp-cta-extra .lp-social-icons img {
			width: 40px;
			height: 40px;
			display: block;
		}

@media (max-width: 960px) {
	.lp-cta-info,
	.lp-cta-info > .wp-block-group__inner-container {
		flex-direction: column;
		align-items: center;
		gap: 24px;
	}
}

@media (max-width: 768px) {
	.lp-cta-extra > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
		gap: 50px;
	}
}

.page-template-template-landingpage .footer {
	margin-top: 0;
}

/* Landingpage: Seitentitel */

.lp-title {
	padding: 90px 0 20px 0;
	gap: 60px;
	align-items: center;
	}
	.lp-title .eyebrow {
		text-transform: uppercase;
		font-size: 13px;
		line-height: 1.3;
		font-weight: 700;
		max-width: 320px;
		margin: 0 0 18px 0;
	}
	.lp-title h1 {
		font-size: 2.1em;
		margin: 0;
	}
	.lp-title p {
		font-size: 17px;
		line-height: 1.65;
		margin: 24px 0 0 0;
	}
	.lp-title .lp-tilt img {
		margin: 0 clamp(-50px, -4vw, -15px) 0 0;
		position: relative;
		z-index: 5;
	}

/* Landingpage: Intro */

.lp-intro {
	padding: 16px 0 90px 0;
	}
	.lp-intro h2 {
		font-size: 1.25em;
		margin: 0 0 12px 0;
	}
	.lp-intro p {
		font-size: 17px;
		line-height: 1.75;
		max-width: 760px;
		margin: 0;
	}
	.lp-intro .wp-block-buttons {
		margin-top: 28px;
	}

/* Landingpage: Anfahrt */

.lp-route {
	padding: 90px 0;
	gap: 60px;
	}
	.lp-route h2 {
		font-size: 1.6em;
		margin: 0 0 20px 0;
	}
	.lp-route p {
		font-size: 16px;
		line-height: 1.75;
		}
		.lp-route .lp-route-map img {
			box-shadow: 0 20px 40px rgba(0,0,0,0.35);
		}
	.lp-route .lp-route-buttons {
		margin-top: 18px;
		}
		.lp-route .lp-route-buttons .wp-block-button__link {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			}
			.lp-route .lp-route-buttons .lp-btn-icon {
				width: 18px;
				height: 18px;
				display: inline-block;
				flex-shrink: 0;
			}

/* Landingpage: Galerie */

.lp-gallery {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw !important;
	margin-right: -50vw;
	margin-bottom: 0 !important;
	padding: 45px 0 0 0;
	gap: 0 !important;
	}
	.lp-gallery .lp-gallery-item {
		height: 12.5vw;
		margin-bottom: 0 !important;
		}
		.lp-gallery .lp-gallery-item figure {
			height: 100%;
			margin: 0;
			}
			.lp-gallery .lp-gallery-item img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				display: block;
			}

/* Landingpage: Kontaktformular */

.lp-contact {
	position: relative;
	padding: 90px 0;
	gap: 60px;
	}
	.lp-contact::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		width: 100vw;
		margin-left: -50vw;
		background: #FFD402;
		z-index: -1;
	}
	.lp-contact h2 {
		font-size: 1.6em;
		margin: 0 0 18px 0;
		color: #1d1d1d;
	}
	.lp-contact p {
		font-size: 16px;
		line-height: 1.75;
		color: #333;
	}

/* Landingpage: Abschluss-CTA */

.lp-cta {
	background: #fff5d3;
	text-align: center;
	padding: 90px 0;
	}
	.lp-cta h2 {
		font-size: 1.7em;
		margin: 0 0 28px 0;
	}
	.lp-cta .lp-cta-info {
		justify-content: center;
	}

/* WPForms: einheitliches Formular-Styling (site-weit) */

.wpforms-container {
	max-width: 100%;
	}
	.wpforms-container .wpforms-recaptcha-container {
		padding: 0 !important;
	}

#wpforms-235-field_3-container > label {
	display: none;
}
	.wpforms-container .wpforms-field {
		padding: 0 0 14px 0 !important;
	}
	.wpforms-container .wpforms-field-row-block.wpforms-one-half {
		width: 100% !important;
		float: none !important;
		margin: 0 0 14px 0 !important;
		}
		.wpforms-container .wpforms-field-row-block.wpforms-one-half:last-child {
			margin-bottom: 0 !important;
		}
	.wpforms-container input[type=text],
	.wpforms-container input[type=email],
	.wpforms-container input[type=tel],
	.wpforms-container input[type=number],
	.wpforms-container input[type=url],
	.wpforms-container select {
		height: 48px !important;
		border: none !important;
		border-radius: 4px !important;
		padding: 0 16px !important;
		font-family: inherit !important;
		font-size: 15px !important;
		background: #fff !important;
		color: #000 !important;
		box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
		transition: box-shadow 0.18s ease;
		}
	.wpforms-container textarea {
		height: 110px !important;
		border: none !important;
		border-radius: 4px !important;
		padding: 14px 16px !important;
		font-family: inherit !important;
		font-size: 15px !important;
		background: #fff !important;
		color: #000 !important;
		box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
		transition: box-shadow 0.18s ease;
		resize: none;
		}
		.wpforms-container input[type=text]:hover,
		.wpforms-container input[type=email]:hover,
		.wpforms-container input[type=tel]:hover,
		.wpforms-container input[type=number]:hover,
		.wpforms-container input[type=url]:hover,
		.wpforms-container select:hover,
		.wpforms-container textarea:hover {
			box-shadow: 0 4px 12px rgba(0,0,0,0.14) !important;
		}
		.wpforms-container input[type=text]:focus,
		.wpforms-container input[type=email]:focus,
		.wpforms-container input[type=tel]:focus,
		.wpforms-container input[type=number]:focus,
		.wpforms-container input[type=url]:focus,
		.wpforms-container select:focus,
		.wpforms-container textarea:focus {
			outline: none !important;
			box-shadow: 0 0 0 2px #F6891F, 0 4px 12px rgba(0,0,0,0.14) !important;
		}
		.wpforms-container ::placeholder {
			color: #999 !important;
			opacity: 1;
		}
	.wpforms-container .wpforms-field-checkbox ul,
	.wpforms-container .wpforms-field-radio ul,
	.wpforms-container .wpforms-field-gdpr-checkbox ul {
		list-style: none !important;
		margin: 0 !important;
		padding: 0 !important;
		}
		.wpforms-container .wpforms-field-checkbox li,
		.wpforms-container .wpforms-field-radio li,
		.wpforms-container .wpforms-field-gdpr-checkbox li {
			display: flex;
			align-items: flex-start;
			gap: 8px;
			margin: 0 !important;
			font-size: 13px;
			color: #555;
			}
			.wpforms-container .wpforms-field-checkbox input[type=checkbox],
			.wpforms-container .wpforms-field-radio input[type=radio],
			.wpforms-container .wpforms-field-gdpr-checkbox input[type=checkbox] {
				width: 16px !important;
				height: 16px !important;
				margin: 2px 0 0 0 !important;
				flex-shrink: 0;
			}
	.wpforms-container .wpforms-submit-container {
		margin-top: 8px !important;
	}
	.wpforms-container .wpforms-submit-container button.wpforms-submit,
	.wpforms-container button[type=submit].wpforms-submit,
	.wpforms-container button.wpforms-submit {
		background: #1d1d1d !important;
		color: #fff !important;
		border: none !important;
		border-radius: 4px !important;
		font-weight: 700 !important;
		padding: 14px 28px !important;
		font-size: 16px !important;
		transition: background-color 0.18s ease;
		}
		.wpforms-container button.wpforms-submit:hover {
			background: #F6891F !important;
		}

	.page-template-template-landingpage .wpforms-container .wpforms-submit-container button.wpforms-submit,
	.page-template-template-landingpage .wpforms-container button.wpforms-submit {
		width: 100%;
		background: #F6891F !important;
		color: #fff !important;
		transition: background-color 0.18s ease, color 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease;
		}
		.page-template-template-landingpage .wpforms-container button.wpforms-submit:hover {
			background: #fff !important;
			color: #E1372B !important;
			transform: translateY(-2px);
			box-shadow: 0 4px 10px rgba(0,0,0,0.2);
		}
