/**
 * MUZE/UM L Custom Styles
 * Additional styling for the theme
 */

/* Force extra-light font rendering for Inter Tight */
body {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
	font-weight: 200 !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern" 1;
}

/* Ensure paragraphs use extra-light weight */
p, li, td, th, span, div {
	font-weight: 200;
}
strong, b { font-weight: 700; }

/* Smooth transitions for links */
a {
	transition: color 0.2s ease, opacity 0.2s ease;
}

/* Ensure images are responsive */
img {
	max-width: 100%;
	height: auto;
}

/* Custom styling for navigation */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: #FFFFFF;
	border: 2px solid #000000;
}

/* Navigation item styling - black borders */
.wp-block-navigation-item a {
	text-transform: uppercase;
	border: 2px solid #000000;
	padding: 0.2rem 0.6rem;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

/* Active/current navigation item - black background, white text */
.wp-block-navigation-item.current-menu-item a,
.wp-block-navigation-item .wp-block-navigation-item__content[aria-current="page"] {
	background-color: #000000;
	color: #FFFFFF !important;
}

/* Force active state for exposition archive link on exposition pages */
body.post-type-archive-exposition .wp-block-navigation a[href$="/expos/"],
body.post-type-archive-exposition .wp-block-navigation a[href$="/expos"],
body.single-exposition .wp-block-navigation a[href$="/expos/"],
body.single-exposition .wp-block-navigation a[href$="/expos"] {
	background-color: #000000;
	color: #FFFFFF !important;
}

/* Hover effect for navigation items */
.wp-block-navigation-item a:hover {
	border-color: #DDDDDD;
	color: #000000;
}

/* --- Submenu styling ---------------------------------------------- */

/* Parent item that has a submenu */
.wp-block-navigation .wp-block-navigation-item.has-child {
	position: relative;
}

/* Make room for the down arrow inside the bordered link */
.wp-block-navigation .wp-block-navigation-item.has-child > a {
	padding-right: 1.6rem;
}

/* Submenu toggle arrow: pull the WP toggle button back inside the bordered link */
.wp-block-navigation .wp-block-navigation-item.has-child .wp-block-navigation__submenu-icon {
	display: inline-flex;
	vertical-align: middle;
	width: 0.65rem;
	height: 0.65rem;
	margin-left: -1.2rem;
	margin-right: 0.25rem;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	pointer-events: auto;
}

/* Arrow icon color */
.wp-block-navigation .wp-block-navigation-item.has-child .wp-block-navigation__submenu-icon svg {
	fill: #000000;
	width: 100%;
	height: 100%;
	transition: transform 0.2s ease;
}

/* White arrow when parent is active/inverted */
.wp-block-navigation .wp-block-navigation-item.has-child.current-menu-item .wp-block-navigation__submenu-icon svg,
.wp-block-navigation .wp-block-navigation-item.has-child .wp-block-navigation-item__content[aria-current="page"] + .wp-block-navigation__submenu-icon svg {
	fill: #FFFFFF;
}

/* Submenu container (desktop dropdown) */
.wp-block-navigation:not(.is-menu-open) .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	background-color: #FFFFFF;
	border: 2px solid #000000;
	padding: 0.5rem;
	z-index: 1000;
	display: none;
}

/* Show submenu on hover/focus-within on desktop */
.wp-block-navigation:not(.is-menu-open) .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation:not(.is-menu-open) .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container {
	display: block;
}

/* Submenu list items */
.wp-block-navigation__submenu-container .wp-block-navigation-item {
	display: block;
	margin-bottom: 0.35rem;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item:last-child {
	margin-bottom: 0;
}

/* Submenu links keep the same bordered look */
.wp-block-navigation__submenu-container .wp-block-navigation-item a {
	display: block;
}

/* Mobile overlay: keep arrow inside the link and make it easy to tap */
@media (max-width: 781px) {
	.wp-block-navigation.is-menu-open .wp-block-navigation-item.has-child > a {
		padding-right: 2rem;
	}

	.wp-block-navigation.is-menu-open .wp-block-navigation__submenu-icon {
		width: 1rem;
		height: 1rem;
		margin-left: -1.5rem;
		margin-right: 0.5rem;
	}

	.wp-block-navigation.is-menu-open .wp-block-navigation__submenu-container {
		position: static;
		background: transparent;
		border: none;
		padding: 0.35rem 0 0.35rem 1rem;
	}
}

/* Button hover effects */
.wp-block-button__link:hover {
	opacity: 0.8;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: #000000;
	color: #FFFFFF;
}

/* Featured image borders */
.wp-block-post-featured-image img {
	object-fit: cover;
}

/* Language switcher styling */
.language-switcher {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

.language-switcher a {
	text-decoration: none;
	font-weight: 400;
}

.language-switcher a:hover {
	text-decoration: underline;
}

/* Season badge styling (can be added via custom HTML blocks) */
.season-badge {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: 1px solid #000000;
	background-color: #FFFFFF;
	color: #000000;
}

.season-badge.spring {
	border-color: #4CAF50;
	color: #4CAF50;
}

.season-badge.summer {
	border-color: #FFC107;
	color: #FFC107;
}

.season-badge.autumn {
	border-color: #FF9800;
	color: #FF9800;
}

.season-badge.winter {
	border-color: #2196F3;
	color: #2196F3;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	/* Stack columns on mobile */
	.wp-block-columns {
		flex-direction: column;
	}
	
	/* Adjust hero text size on mobile */
	.wp-block-cover h1 {
		font-size: 2.5rem !important;
	}
	
	/* Adjust grid layout for past exhibitions */
	.wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 480px) {
	/* Single column grid on very small screens */
	.wp-block-post-template.is-layout-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Print styles */
@media print {
	.wp-block-navigation,
	.wp-block-button,
	footer {
		display: none;
	}
}

/* Focus styles for accessibility */
a:focus,
button:focus,
input:focus,
textarea:focus {
	outline: 2px solid #000000;
	outline-offset: 2px;
}

/* Skip to content link (for accessibility) */
.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: #000000;
	color: #FFFFFF;
	padding: 8px;
	text-decoration: none;
	z-index: 100;
}

.skip-link:focus {
	top: 0;
}

/* Landing page */
/* Homepage: volledig fullscreen, geen witruimte */
html,
body.home {
	margin: 0 !important;
	padding: 0 !important;
}

body.home .wp-site-blocks {
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

/* Zorg dat alleen de landing zichtbaar is, geen header/footer/andere parts */
body.home .wp-site-blocks > *:not(.landing-hero) {
	display: none !important;
}

body.home .wp-site-blocks > .landing-hero {
	flex: 1 0 auto;
	min-height: 100vh;
	margin: 0 !important;
}
.home .wp-site-blocks > .landing-hero {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}


.landing-hero {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	padding: 2rem;
	text-align: center;
	background-color: #f5f5f5;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

/* Tekstlogo responsief houden */
.landing-logo {
	font-size: clamp(1.5rem, 10vw, 5rem);
	max-width: 90vw;
	word-break: break-word;
	hyphens: auto;
}

/* Afbeeldingslogo niet uitrekken */
.landing-logo-img {
	max-width: min(80vw, 500px);
	width: auto;
	height: auto;
	object-fit: contain;
	box-sizing: border-box;
}

.landing-lang {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}

a.landing-btn {
	text-transform: uppercase;
	text-decoration: none;
	border: 2px solid #000000;
	padding: 0.2rem 0.6rem;
	font-size: 0.95rem;
	color: #000000;
	background-color: #FFFFFF;
	transition: background-color 0.2s ease, color 0.2s ease;
}

a.landing-btn:hover {
	background-color: #000000;
	color: #FFFFFF;
}
