/*
Theme Name: geoDiscovery Tours
Theme URI: https://geodiscoverytours.com
Author: Marcus Kober
Description: Das Theme für geoDiscovery Tours
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: geodiscoverytours-theme
Tags: block-theme, custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, rtl-language-support, threaded-comments, translation-ready, wide-blocks
*/

/* ================================================
   Header Styles - Ergänzungen zu theme.json
   ================================================ */

/* Sticky Header - exakt wie im Dummy */
.site-header {
	background: var(--wp--preset--color--white);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
}

/* Top Bar - exakt wie im Dummy: padding: var(--space-xs) 0 */
.header-top {
	font-size: 0.85rem;
	min-height: 0 !important;
	margin-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.header-top .wp-block-cover__inner-container {
	padding: 0 !important;
	width: 100%;
	margin: 0 !important;
}

/* Entferne WordPress-Spacing bei constrained layout */
.header-top.wp-block-cover.alignfull:where(.has-global-padding) > :where(.wp-block-cover__inner-container) {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Entferne margin-block-end vom WordPress is-layout-flow */
.site-header > .wp-block-cover.header-top {
	margin-block-end: 0 !important;
}

/* Main Header Group - kein margin-top nach Top-Bar */
.site-header > .wp-block-group:not(.header-top) {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* Top Bar - Links in weißer Farbe, exakt wie im Dummy */
.header-top a {
	color: var(--wp--preset--color--white) !important;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--xs);
	padding: 4px 12px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.15);
	transition: all 0.3s ease;
	font-weight: 500;
}

.header-top a:hover {
	background: rgba(255, 255, 255, 0.25);
}

/* Scrolled State - Top-Bar verschwindet */
.site-header.scrolled .header-top {
	display: none;
}

/* Scrolled State - Logo kleiner */
.site-header.scrolled .wp-block-site-logo img {
	height: 50px !important;
}

/* Navigation Styles */
.wp-block-navigation__responsive-container.is-menu-open {
	padding-top: var(--wp--preset--spacing--xl);
}

.wp-block-navigation-item a {
	font-weight: 500;
	color: var(--wp--preset--color--dark-gray);
	transition: color 0.3s ease;
}

.wp-block-navigation-item a:hover {
	color: var(--wp--preset--color--green) !important;
}

/* Submenu - Desktop Styling wie im Dummy */
.wp-block-navigation__submenu-container {
	border-radius: 0.5rem !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
	border: 1px solid var(--wp--preset--color--light-gray) !important;
	padding: 4px 0 !important;
	min-width: 220px;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item {
	border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

.wp-block-navigation__submenu-container .wp-block-navigation-item:last-child {
	border-bottom: none;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item a {
	padding: 0.75rem var(--wp--preset--spacing--lg);
	display: block;
	white-space: nowrap;
	transition: all 0.3s ease;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {
	background: linear-gradient(90deg, var(--wp--preset--color--off-white) 0%, transparent 100%);
	padding-left: calc(var(--wp--preset--spacing--lg) + 8px);
}

/* Search Block Styles - ohne Button, ohne sichtbaren Border, mit Expand-Animation */
.wp-block-search {
	position: relative;
}

.wp-block-search__inside-wrapper {
	width: 200px !important;
	transition: width 0.3s ease;
}

.wp-block-search:focus-within .wp-block-search__inside-wrapper {
	width: 250px !important;
}

.wp-block-search__input {
	border: 1px solid transparent !important;
	background: var(--wp--preset--color--off-white) !important;
	padding: 0.5rem 1rem 0.5rem 2.5rem !important;
	font-size: 0.9rem !important;
	width: 100% !important;
	transition: all 0.3s ease;
	border-radius: 8px !important;
}

.wp-block-search__input:focus {
	outline: none !important;
	border-color: var(--wp--preset--color--green) !important;
	background: var(--wp--preset--color--white) !important;
}

/* Suchicon als Pseudo-Element */
.wp-block-search::before {
	content: "🔍";
	position: absolute;
	left: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1rem;
	z-index: 1;
	pointer-events: none;
}

/* Button ausblenden (falls vorhanden) */
.wp-block-search__button {
	display: none !important;
}

/* Logo Größe mit Transition */
.wp-block-site-logo img {
	height: 100px;
	width: auto;
	transition: height 0.3s ease;
}

/* Mobile Responsive */
@media (max-width: 782px) {
	/* Kontaktinfo auf Mobile nur Telefonnummer sichtbar */
	.header-top .wp-block-group > div > .wp-block-paragraph:last-child {
		display: none;
	}

	/* Suchfeld auf Mobile verstecken (in Navigation integriert) */
	.wp-block-search {
		display: none;
	}

	/* Logo kleiner auf Mobile */
	.wp-block-site-logo img {
		height: 60px;
	}
}

@media (min-width: 783px) {
	/* Desktop: Suchfeld sichtbar */
	.wp-block-search {
		display: block;
	}
}

/* ================================================
   Footer Styles - Ergänzungen zu theme.json
   ================================================ */

/* Footer Überschriften - angepasste Abstände */
.wp-block-cover h4 {
	margin-bottom: var(--wp--preset--spacing--md);
	font-size: 1.25rem;
	font-weight: 600;
	margin-top: 0;
}

/* Footer Listen - keine Bullet Points */
.wp-block-list.is-style-plain {
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: 1.6;
}

.wp-block-list.is-style-plain li {
	margin-bottom: 0;
	padding-bottom: 0;
}

/* Footer Paragraphen */
.wp-block-cover p {
	line-height: 1.6;
	margin-bottom: 0;
}

/* Social Icons - korrekte Farben und runder Hintergrund */
.wp-block-social-links .wp-block-social-link {
	transition: all 0.3s ease;
}

.wp-block-social-links .wp-block-social-link a {
	border-radius: 50% !important;
	padding: 0.5em !important;
}

.wp-block-social-links .wp-block-social-link:hover a {
	background-color: var(--wp--preset--color--green) !important;
}

.wp-block-social-links .wp-block-social-link:hover {
	transform: translateY(-3px);
}

/* Mobile Responsiveness für Footer */
@media (max-width: 47.9375rem) {
	/* Cover Block handles responsive background automatically */
}

@media (max-width: 29.9375rem) {
	.wp-block-columns > .wp-block-column {
		margin-bottom: var(--wp--preset--spacing--lg);
	}

	.wp-block-columns > .wp-block-column:last-child {
		margin-bottom: 0;
	}
}

/* ================================================
   Tour Downloads
   ================================================ */

.wp-block-geodiscovery-tour-downloads {
	margin-bottom: var(--wp--preset--spacing--xl);
}

.downloads-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--sm);
}

.download-item a {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--sm);
	padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
	background: var(--wp--preset--color--off-white);
	border-radius: 8px;
	text-decoration: none;
	color: var(--wp--preset--color--dark-gray);
	transition: all 0.2s ease;
	border: 1px solid var(--wp--preset--color--light-gray);
}

.download-item a:hover {
	background: var(--wp--preset--color--light-green-bg);
	border-color: var(--wp--preset--color--green);
	transform: translateX(4px);
}

.download-icon {
	flex-shrink: 0;
	color: var(--wp--preset--color--primary-blue);
}

.download-icon svg {
	display: block;
	width: 24px;
	height: 24px;
}

.download-title {
	flex: 1;
	font-weight: 500;
}

.download-meta {
	color: var(--wp--preset--color--gray);
	font-size: 0.875rem;
}

.download-action {
	color: var(--wp--preset--color--green);
	font-weight: bold;
	font-size: 1.25rem;
}

/* ================================================
   Tour Extensions Overview
   ================================================ */

.tour-extensions-overview {
	margin-top: var(--wp--preset--spacing--xl);
	padding-top: var(--wp--preset--spacing--xl);
	border-top: 1px solid var(--wp--preset--color--light-gray);
}

.tour-extensions-overview__header {
	text-align: center;
	margin-bottom: var(--wp--preset--spacing--lg);
}

.tour-extensions-overview__header h2 {
	color: var(--wp--preset--color--primary-blue);
	font-family: var(--wp--preset--font-family--headings);
	margin: 0;
}

/* Grid für Extensions: Cards müssen gleiche Höhe haben */
.tour-extensions-overview .tour-grid {
	align-items: stretch;
}

.tour-extensions-overview .tour-grid > .tour-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.tour-extensions-overview .tour-grid > .tour-card .tour-card-link {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.tour-extensions-overview .tour-grid > .tour-card .tour-card-content {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.tour-extensions-overview .tour-grid > .tour-card .tour-card-footer {
	margin-top: auto;
}
