/*
Theme Name: 1. MC Nordsehl e.V.
Theme URI: https://mc-nordsehl.de
Description: Offizielles Theme für den 1. MC Nordsehl e.V. - Minigolfverein. Ein modernes, seriöses Design basierend auf Twenty Twenty-Five.
Author: 1. MC Nordsehl e.V.
Author URI: https://mc-nordsehl.de
Template: twentytwentyfive
Version: 2.0.0
Requires at least: 6.4
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: mc-nordsehl
Tags: minigolf, verein, sport, block-themes
*/

/* ========================================
   STICKY HEADER
   ======================================== */
.mc-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
	overflow: visible !important;
}

/* Admin-Bar Korrektur */
.admin-bar .mc-site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .mc-site-header {
		top: 46px;
	}
}

/* ========================================
   LOGO OVERLAP - Ragt in den Content
   ======================================== */
.mc-header-logo {
	position: relative;
	z-index: 1001;
}

.mc-header-logo .wp-block-site-logo {
	position: relative;
	margin-bottom: -60px;
	background: #fff;
	border-radius: 50%;
	padding: 10px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
	transition: transform 0.3s ease;
}

.mc-header-logo .wp-block-site-logo:hover {
	transform: scale(1.05);
}

.mc-header-logo .wp-block-site-logo a:focus {
	outline: none !important;
	box-shadow: none !important;
}

.mc-header-logo .wp-block-site-logo img {
	border-radius: 50%;
	display: block;
}

/* Platz für das überlappende Logo im Content */
.mc-site-header + * {
	position: relative;
	z-index: 0;
}

/* ========================================
   CONTENT CONTAINER - Zentrierter Content
   ======================================== */
.mc-blog-header .mc-blog-header-inner,
.wp-block-group.mc-blog-header-inner {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: var(--wp--preset--spacing--60, 4rem) !important;
	padding-bottom: var(--wp--preset--spacing--40, 1.5rem) !important;
}

.mc-nordsehl-blog-query,
.wp-block-query.mc-nordsehl-blog-query {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ========================================
   NEWS CARDS - Homepage
   ======================================== */
.mc-news-card {
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.mc-news-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

.mc-news-card .wp-block-post-featured-image {
	overflow: hidden;
}

.mc-news-card .wp-block-post-featured-image img {
	transition: transform 0.4s ease;
}

.mc-news-card:hover .wp-block-post-featured-image img {
	transform: scale(1.05);
}

/* ========================================
   BLOG CARDS - Blogliste
   ======================================== */
.mc-blog-card {
	transition: background-color 0.2s ease;
}

.mc-blog-card:hover {
	background-color: var(--wp--preset--color--accent-5, #F9FAFB) !important;
}

.mc-blog-card .wp-block-post-featured-image img {
	transition: transform 0.4s ease;
}

.mc-blog-card:hover .wp-block-post-featured-image img {
	transform: scale(1.03);
}

/* ========================================
   BUTTONS
   ======================================== */
.wp-element-button,
.wp-block-button__link {
	transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(246, 159, 25, 0.3);
}

/* ========================================
   LOAD MORE BUTTON
   ======================================== */
.mc-nordsehl-load-more-container .wp-block-query-pagination-next {
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--contrast);
	padding: 0.85rem 2rem;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 700;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
	display: inline-block;
}

.mc-nordsehl-load-more-container .wp-block-query-pagination-next:hover {
	background: var(--wp--preset--color--accent-2);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(246, 159, 25, 0.3);
}

/* ========================================
   LINKS & NAVIGATION
   ======================================== */
.mc-site-header a {
	transition: color 0.2s ease;
}

/* Parent-Menüpunkte mit Submenu: Link deaktivieren */
.mc-site-header .wp-block-navigation-item.has-child > .wp-block-navigation-item__content[href] {
	pointer-events: none;
}

/* Fokus-Ring in der Navigation entfernen */
.mc-site-header .wp-block-navigation a:focus,
.mc-site-header .wp-block-navigation button:focus,
.mc-site-header .wp-block-navigation-item__content:focus {
	outline: none !important;
	box-shadow: none !important;
}

/* ========================================
   MOBILE NAVIGATION
   ======================================== */
.mc-site-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) !important;
}

/* Container rechtsbündig */
.mc-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-end !important;
}

.mc-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	align-items: flex-end !important;
}

/* Submenü-Container Styling */
.mc-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	box-shadow: none !important;
	padding-right: 0 !important;
}

/* Submenü-Items weiße Schriftfarbe */
.mc-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--base, #fff) !important;
}

/* Submenü rechtsbündig */
.mc-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	text-align: right !important;
}

/* Chevron-Icon im Menüpunkt */
.mc-site-header .wp-block-navigation__responsive-container.is-menu-open .mc-chevron {
	display: inline-flex;
	align-items: center;
	margin-left: 0.5em;
	transition: transform 0.2s ease;
}

.mc-site-header .wp-block-navigation__responsive-container.is-menu-open .mc-chevron svg {
	width: 0.75em;
	height: 0.75em;
}

.mc-site-header .wp-block-navigation__responsive-container.is-menu-open .mc-has-submenu.is-open .mc-chevron {
	transform: rotate(180deg);
}

/* Submenü Styling */
.mc-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	margin-top: var(--wp--preset--spacing--15) !important;
	padding-top: 0 !important;
	padding-right: var(--wp--preset--spacing--30) !important;
}

/* Abstand zwischen Submenü-Items */
.mc-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	margin-top: var(--wp--preset--spacing--15);
}

/* Submenu / Dropdown */
.mc-site-header .wp-block-navigation__submenu-container {
	background: #fff !important;
	align-items: flex-end !important;
}

.mc-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item {
	justify-content: flex-end !important;
}

.mc-site-header .wp-block-navigation__submenu-container a {
	color: var(--wp--preset--color--contrast) !important;
}

.mc-site-header .wp-block-navigation__submenu-container a:hover {
	color: var(--wp--preset--color--accent-1) !important;
}

.wp-block-post-title a {
	text-decoration: none !important;
}

/* ========================================
   IMAGES
   ======================================== */
.wp-block-post-featured-image {
	overflow: hidden;
}

/* ========================================
   FOOTER
   ======================================== */
footer .wp-block-navigation a,
footer .wp-block-navigation a:visited {
	text-decoration: none;
	transition: color 0.2s ease;
}

footer .wp-block-navigation a:hover {
	color: var(--wp--preset--color--accent-1) !important;
}

footer .wp-block-social-links a {
	transition: opacity 0.2s ease;
}

footer .wp-block-social-links a:hover {
	opacity: 0.8;
}

/* ========================================
   COVER BLOCK - Hero
   ======================================== */
.wp-block-cover {
	overflow: hidden;
}

.wp-block-cover img.wp-block-cover__image-background {
	object-position: center 35% !important;
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media screen and (max-width: 768px) {
	.mc-blog-card {
		flex-wrap: wrap !important;
	}

	.mc-blog-card .wp-block-post-featured-image {
		width: 100% !important;
		height: 200px !important;
		order: -1;
	}

	.mc-blog-card > .wp-block-group {
		flex-basis: 100% !important;
	}

	.mc-blog-header-inner {
		padding-left: var(--wp--preset--spacing--40, 1.5rem) !important;
		padding-right: var(--wp--preset--spacing--40, 1.5rem) !important;
	}

	.mc-nordsehl-blog-query {
		padding-left: var(--wp--preset--spacing--40, 1.5rem) !important;
		padding-right: var(--wp--preset--spacing--40, 1.5rem) !important;
	}

	iframe {
		max-width: 100% !important;
	}
}

/* ========================================
   SIMPLE CALENDAR - Gitterlinien
   ======================================== */
.simcal-default-calendar-grid > table {
	border-collapse: collapse;
}

.simcal-default-calendar-grid > table thead th,
.simcal-default-calendar-grid > table tbody td {
	border: 1px solid var(--wp--preset--color--accent-6, #e5e7eb);
}

.simcal-default-calendar-grid > table thead th {
	border-bottom-width: 2px;
}

.simcal-default-calendar-grid .simcal-prev-wrapper,
.simcal-default-calendar-grid .simcal-current,
.simcal-default-calendar-grid .simcal-next-wrapper {
	border: none !important;
}

.simcal-default-calendar-dark .simcal-nav-button {
	color: var(--wp--preset--color--accent-1, #f69f19) !important;
}

.simcal-default-calendar-dark .simcal-nav-button:hover {
	color: var(--wp--preset--color--accent-2, #e08b0d) !important;
}

.simcal-default-calendar-grid .simcal-day-void {
	border: 1px solid var(--wp--preset--color--accent-6, #e5e7eb) !important;
}

/* ========================================
   WPFORMS - Kontaktformular
   ======================================== */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container input[type="number"],
.wpforms-container select {
	padding: 0.75rem 1rem !important;
	min-height: 48px !important;
	border: 1px solid var(--wp--preset--color--accent-6, #E5E7EB) !important;
	border-radius: 4px !important;
	font-size: 1rem !important;
	font-family: var(--wp--preset--font-family--manrope, Manrope, sans-serif) !important;
}

.wpforms-container textarea {
	border: 1px solid var(--wp--preset--color--accent-6, #E5E7EB) !important;
	border-radius: 4px !important;
	font-size: 1rem !important;
	font-family: var(--wp--preset--font-family--manrope, Manrope, sans-serif) !important;
}

.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus {
	border-color: var(--wp--preset--color--accent-1, #f69f19) !important;
	outline: none !important;
	box-shadow: 0 0 0 2px rgba(246, 159, 25, 0.2) !important;
}

.wpforms-container button[type="submit"],
.wpforms-container .wpforms-submit {
	background-color: var(--wp--preset--color--accent-1, #f69f19) !important;
	color: var(--wp--preset--color--contrast, #111111) !important;
	border: none !important;
	border-radius: 4px !important;
	padding: 0.85rem 2rem !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	font-family: var(--wp--preset--font-family--manrope, Manrope, sans-serif) !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

.wpforms-container button[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover {
	background-color: var(--wp--preset--color--accent-2, #e08b0d) !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(246, 159, 25, 0.3) !important;
}

/* ========================================
   SELECTION
   ======================================== */
::selection {
	background-color: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--contrast);
}
