/* INWC Cortina 2027 - Custom Styles */

/* Smooth scrolling */
html {
	scroll-behavior: smooth;
}

/* ==========================================
   RESET: remove WP default gaps between sections
   ========================================== */

/* Remove default body margin/padding */
body {
	margin: 0;
	padding: 0;
}

/* Remove all gaps between top-level groups on the front page */
main.wp-block-group {
	display: flex;
	flex-direction: column;
	gap: 0 !important;
}

main.wp-block-group > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Override WP core default padding on .has-background */
:where(.wp-block-group.has-background) {
	padding: 0;
}

/* Override template-part default padding */
:root :where(.wp-block-template-part.has-background) {
	padding: 0;
}

/* ==========================================
   HEADER & NAVIGATION
   ========================================== */

/* Force navigation links to be white and visible */
.wp-block-navigation a,
.wp-block-navigation a:visited,
.wp-block-navigation a:link,
.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-link a,
.wp-block-navigation-item a {
	color: #FFFFFF !important;
	opacity: 1 !important;
}

.wp-block-navigation a:hover,
.wp-block-navigation .wp-block-navigation-item__content:hover {
	color: #C9A84C !important;
}

/* Mobile hamburger button - visible and white */
.wp-block-navigation__responsive-container-open {
	color: #FFFFFF !important;
	fill: #FFFFFF !important;
}

.wp-block-navigation__responsive-container-open svg {
	fill: #FFFFFF !important;
}

/* Mobile overlay menu */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--primary) !important;
	color: #FFFFFF !important;
	z-index: 100001 !important;
}

/* Close button in overlay */
.wp-block-navigation__responsive-container-close {
	color: #FFFFFF !important;
	fill: #FFFFFF !important;
}

.wp-block-navigation__responsive-container-close svg {
	fill: #FFFFFF !important;
}

/* Mobile menu links - white, larger, and well-spaced */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: #FFFFFF !important;
	font-size: 1.1rem !important;
	padding: 0.75rem 0 !important;
	display: block;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: #C9A84C !important;
}

/* Stack menu items vertically in overlay */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.5rem !important;
}

/* Make sure the overlay content is centered */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}

/* Site title link in header */
.has-primary-background-color .wp-block-site-title a {
	color: #FFFFFF !important;
	text-decoration: none;
}

/* Force white text on dark backgrounds (Registration, Footer, etc.) */
.has-primary-background-color .wp-block-heading,
.has-primary-background-color p,
.has-dark-background-color .wp-block-heading,
.has-dark-background-color p {
	color: #FFFFFF !important;
}

.has-primary-background-color .has-accent-color,
.has-dark-background-color .has-accent-color {
	color: var(--wp--preset--color--accent) !important;
}

.has-primary-background-color .has-text-light-color,
.has-dark-background-color .has-text-light-color {
	color: rgba(255, 255, 255, 0.6) !important;
}

/* Header sticky with high z-index */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 99999;
}

/* Prevent cover/sections from overlapping sticky header */
.wp-block-cover,
main.wp-block-group > .wp-block-group {
	z-index: 1;
}

/* ==========================================
   HERO COVER & LOGO
   ========================================== */

.wp-block-cover {
	position: relative;
}

/* Hero logo block */
.inwc-hero-logo {
	text-align: center;
}

.inwc-hero-logo .wp-block-heading,
.inwc-hero-logo p {
	text-shadow: 0 2px 30px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.3);
}

/* Force ALL hero text to be white */
.inwc-hero-logo .wp-block-heading {
	color: #FFFFFF !important;
}

.inwc-hero-logo p.has-accent-color {
	color: var(--wp--preset--color--accent) !important;
}

.inwc-hero-logo p.has-text-light-color {
	color: rgba(255, 255, 255, 0.6) !important;
}

/* Topic ribbon - gold background, white text */
.inwc-topic-ribbon {
	display: flex;
	justify-content: center;
	margin: 0.5rem 0 0 0;
}

.inwc-topic-ribbon span {
	display: inline-block;
	background-color: var(--wp--preset--color--accent);
	color: #FFFFFF;
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(0.65rem, 1.2vw, 0.8rem);
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 0.6rem 2rem;
	text-shadow: none;
}

/* Neural network SVG element */
.inwc-neural-element {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 1rem auto;
	width: 100%;
	max-width: 500px;
	height: 60px;
}

.inwc-neural-element svg {
	width: 100%;
	height: 100%;
	opacity: 0.5;
}

.inwc-neural-element svg circle {
	fill: var(--wp--preset--color--accent);
}

.inwc-neural-element svg line {
	stroke: var(--wp--preset--color--accent);
	stroke-width: 0.5;
}

.inwc-neural-element svg .node-large {
	fill: var(--wp--preset--color--accent);
	opacity: 0.8;
}

.inwc-neural-element svg .node-small {
	fill: var(--wp--preset--color--accent);
	opacity: 0.4;
}

/* Decorative gold lines */
.inwc-logo-lines {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}

.inwc-logo-lines span {
	display: block;
	width: 80px;
	height: 1px;
	background: var(--wp--preset--color--accent);
}

/* Date badge at bottom of hero */
.inwc-hero-date-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	border: 1px solid rgba(201, 168, 76, 0.5);
	padding: 0.9rem 2.5rem;
	margin: 0 auto;
	max-width: fit-content;
}

.inwc-hero-date-badge .inwc-date {
	font-family: var(--wp--preset--font-family--body);
	color: #FFFFFF;
	font-size: clamp(0.7rem, 1.2vw, 0.85rem);
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.inwc-hero-date-badge .inwc-divider {
	color: var(--wp--preset--color--accent);
	font-size: 0.8rem;
}

.inwc-hero-date-badge .inwc-location {
	font-family: var(--wp--preset--font-family--body);
	color: rgba(255, 255, 255, 0.8);
	font-size: clamp(0.65rem, 1.1vw, 0.8rem);
	font-weight: 400;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

@media (max-width: 600px) {
	.inwc-hero-date-badge {
		flex-direction: column;
		gap: 0.3rem;
		padding: 0.8rem 1.5rem;
	}

	.inwc-hero-date-badge .inwc-divider {
		display: none;
	}
}

/* ==========================================
   SCHEDULE
   ========================================== */

.inwc-schedule-items p {
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	margin: 0;
}

.inwc-schedule-items p:last-child {
	border-bottom: none;
}

.inwc-schedule-items p strong {
	display: inline-block;
	min-width: 130px;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--body);
}

/* ==========================================
   HOTEL LIST
   ========================================== */

.inwc-hotel-list p {
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	margin: 0;
}

.inwc-hotel-list p:last-child {
	border-bottom: none;
}

.inwc-hotel-list p a {
	text-decoration: none;
}

.inwc-hotel-list p a:hover {
	color: var(--wp--preset--color--accent) !important;
}

/* ==========================================
   SECTIONS
   ========================================== */

/* Anchor scroll offset for sticky header */
.wp-block-group[id] {
	scroll-margin-top: 80px;
}

/* Separator style */
.wp-block-separator.is-style-wide {
	max-width: 80px;
	border-width: 2px;
}

/* ==========================================
   BUTTONS
   ========================================== */

.wp-block-button__link {
	border-radius: 4px;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-size: 0.85rem;
	padding: 0.9rem 2rem;
	transition: all 0.3s ease;
}

/* ==========================================
   MAP
   ========================================== */

.wp-block-html iframe {
	max-width: 100%;
}

/* ==========================================
   RESPONSIVE
   ========================================== */

@media (max-width: 768px) {
	.inwc-schedule-items p strong {
		min-width: 110px;
		font-size: 0.85rem;
	}

	.wp-block-columns {
		flex-direction: column;
	}
}
