/* ============================================
   GEM GENEVE - Custom Styles
   ============================================ */

/* --------------------------------------------
   FONTS
   -------------------------------------------- */

/* Cabinet Grotesk */
@font-face {
	font-family: 'Cabinet Grotesk';
	src: url(webfonts/CabinetGrotesk-Light.woff2) format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cabinet Grotesk';
	src: url(webfonts/CabinetGrotesk-Regular.woff2) format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cabinet Grotesk';
	src: url(webfonts/CabinetGrotesk-Medium.woff2) format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cabinet Grotesk';
	src: url(webfonts/CabinetGrotesk-Bold.woff2) format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* Satoshi */
@font-face {
	font-family: 'Satoshi';
	src: url(webfonts/Satoshi-Regular.woff2) format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Satoshi';
	src: url(webfonts/Satoshi-Italic.woff2) format('woff2');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Satoshi';
	src: url(webfonts/Satoshi-Medium.woff2) format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Satoshi';
	src: url(webfonts/Satoshi-Bold.woff2) format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Satoshi';
	src: url(webfonts/Satoshi-Black.woff2) format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

/* Satoshi Variable (alternative - all weights in one file) */
@font-face {
	font-family: 'Satoshi Variable';
	src: url(webfonts/Satoshi-Variable.woff2) format('woff2');
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
}

/* Montserrat (legacy) */
@font-face {
	font-family: 'Montserrat';
	src: url(webfonts/montserrat.woff2) format('woff2');
	font-display: swap;
}

/* --------------------------------------------
   BASE STYLES
   -------------------------------------------- */
html {
	scroll-behavior: smooth;
}

body {
	font-family: 'Satoshi', sans-serif;
	font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Cabinet Grotesk', sans-serif;
	font-weight: 500;
}

a,
a:visited,
a:hover {
	color: black;
}

a.wp-block-button__link {
	color: white;
	font-size: inherit;
}

/* --------------------------------------------
   TYPOGRAPHY
   -------------------------------------------- */
.posted-on,
.posted-on a {
	font-weight: bold;
	text-decoration: none;
}

.entry-meta+h1 {
	margin-top: 0;
}

.site-main section {
	padding: 5rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}

.site-main section:last-of-type {
	border: 0;
}

.home .entry-title {
	display: none;
}

.site-main {
	padding: 0 2rem 2rem 2rem;
}

/* --------------------------------------------
   HOMEPAGE - Hero Section
   -------------------------------------------- */
.home .site-main {
	padding: 0;
}

.home .site-main section {
	border-bottom: none;
}

/* Hero intro text row */
.home .entry-content>.wp-block-group.is-layout-flex {
	padding: 1.5rem 2rem;
	gap: 3rem;
}

/* Hero image - full width, bottom aligned to viewport */
.home .entry-content>.wp-block-image {
	position: relative;
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
	max-width: 100vw;
	margin-top: 1rem;
}

.home .entry-content>.wp-block-image img {
	width: 100%;
	height: calc(100vh - 200px);
	min-height: 300px;
	object-fit: cover;
	object-position: center bottom;
}

/* Intro text section with animated side borders */
.intro-animation-wrapper {
	position: relative;
	max-width: 800px;
	margin: 4rem auto !important;
}

.home .entry-content p.intro {
	border: none;
	padding: 3rem 2rem;
	margin: 0 !important;
}

.intro-border {
	position: absolute;
	top: 0;
	width: 1px;
	height: 100%;
	background-color: black;
}

.intro-border-left {
	left: 0;
}

.intro-border-right {
	right: 0;
}

#secondary.widget-area {
	border-top: 1px solid;
	padding: 2rem;
}

/* --------------------------------------------
   HOMEPAGE - Media & Text Block (blur overlay style)
   -------------------------------------------- */
.home .wp-block-media-text {
	position: relative;
	min-height: 400px !important;
	max-height: 400px !important;
	height: 400px !important;
	overflow: hidden;
	grid-template-rows: 400px !important;
	margin-bottom: 300px;
}

/* Image covers the full block */
.home .wp-block-media-text .wp-block-media-text__media {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	grid-column: 1 / -1;
	grid-row: 1;
}

.home .wp-block-media-text .wp-block-media-text__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* Text content area with blur overlay */
.home .wp-block-media-text .wp-block-media-text__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 2rem !important;
	color: white !important;
}

/* Text block narrower and centered */
.home .wp-block-media-text .wp-block-media-text__content>* {
	max-width: 280px;
	width: 100%;
}

/* Blur overlay behind text - follows whichever side the text is on */
.home .wp-block-media-text .wp-block-media-text__content::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: inherit;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	z-index: -1;
}

/* Grain texture overlay */
.home .wp-block-media-text .wp-block-media-text__content::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
	opacity: 0.15;
	pointer-events: none;
	z-index: 0;
}

/* White text styling - smaller fonts */
.home .wp-block-media-text .wp-block-media-text__content h2,
.home .wp-block-media-text .wp-block-media-text__content h3,
.home .wp-block-media-text .wp-block-media-text__content p {
	color: white !important;
	font-size: 0.85rem !important;
	line-height: 1.4;
	margin: 0 0 0.5rem 0 !important;
}

.home .wp-block-media-text .wp-block-media-text__content h2 {
	font-size: 1.1rem !important;
	font-weight: 700;
	margin-bottom: 0.75rem !important;
}

/* Simple underlined link instead of button */
.home .wp-block-media-text .wp-block-button__link,
.home .wp-block-media-text a {
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	color: white !important;
	text-decoration: underline !important;
	font-size: 1rem !important;
	font-weight: 500;
}

.home .wp-block-media-text .wp-block-button__link:hover,
.home .wp-block-media-text a:hover {
	text-decoration: none !important;
}

/* Hide WordPress edit link */
.post-edit-link {
	display: none !important;
}

/* --------------------------------------------
   HOMEPAGE - News Section
   -------------------------------------------- */

/* News section title - add class "news-title" to h2 in WordPress */
.home .news-title {
	max-width: 1000px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 2rem;
	margin-top: 2rem;
	margin-bottom: 0.75rem;
	font-size: 1rem;
	font-weight: 700;
	box-sizing: border-box;
}

.home .wp-block-query {
	max-width: 1000px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 2rem;
	padding-top: 0;
	margin-top: 0;
	box-sizing: border-box;
}

/* News grid - centered */
.home .wp-block-query .wp-block-post-template {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 3rem !important;
	max-width: 100% !important;
	width: 100% !important;
	border-top: 1px solid black;
	padding-top: 1.5rem;
	box-sizing: border-box;
}

/* Individual news card */
.home .wp-block-post {
	padding: 0;
	width: 200px;
	flex: 0 0 200px;
}

.home .wp-block-post .wp-block-group {
	padding: 0 !important;
}

/* News date */
.home .wp-block-post-date {
	font-size: 0.75rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

/* News featured image - square */
.home .wp-block-post-featured-image {
	margin-bottom: 0.75rem;
	position: relative;
	overflow: hidden;
}

.home .wp-block-post-featured-image img {
	width: 200px !important;
	height: 200px !important;
	object-fit: cover;
}

/* News title */
.home .wp-block-post-title {
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.3;
	margin-bottom: 0.5rem;
}

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

.home .wp-block-post-title a:hover {
	text-decoration: underline;
}

/* News excerpt */
.home .wp-block-post-excerpt {
	font-size: 0.8rem;
	line-height: 1.4;
	margin-bottom: 0.75rem;
}

.home .wp-block-post-excerpt__excerpt {
	margin: 0;
}

/* Read more button (+ icon) */
.home .wp-block-read-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid black;
	border-radius: 50%;
	font-size: 1.2rem;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.home .wp-block-read-more:hover {
	background-color: black;
	color: white;
}

/* Hide the text, show only + */
.home .wp-block-read-more strong {
	display: none;
}

.home .wp-block-read-more::before {
	content: '+';
	font-weight: 400;
}

/* --------------------------------------------
   HEADER - Base Structure
   -------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background-color: white;
	padding: 1rem 2rem;
	transition: padding 0.3s ease, box-shadow 0.3s ease;
}

.site-header .nav-container {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

/* Nav group - column layout with menu on top, CTA button bottom right */
.nav-group {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	height: 100%;
}

/* --------------------------------------------
   HEADER - Logo
   -------------------------------------------- */
h1.site-title,
p.site-title {
	margin: 0 0 0.5rem 0;
	padding: 0;
	line-height: 1;
	font-size: 1rem;
}

h1.site-title a,
p.site-title a {
	display: block;
	width: 125px;
	height: 60px;
	background: url(images/gem-geneve_logo_noir.svg) no-repeat center center;
	background-size: contain;
	text-indent: -5000px;
	transition: width 0.3s ease, height 0.3s ease;
}

.site-description {
	display: none;
}

/* --------------------------------------------
   HEADER - Primary Navigation
   -------------------------------------------- */
.main-navigation {
	display: flex;
	width: auto;
}

/* Main menu container */
.main-navigation ul.primary-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 0;
}

/* Main menu items - column layout with dividers */
.main-navigation ul.primary-menu>li {
	position: relative;
	display: flex;
	flex-direction: column;
	border-left: 1px solid rgba(0, 0, 0, 0.2);
	padding: 0;
}

.main-navigation ul.primary-menu>li:last-child {
	border-right: 1px solid rgba(0, 0, 0, 0.2);
}

/* Main menu links */
.main-navigation ul.primary-menu>li>a {
	padding: 0.8em 1.5em;
	color: black;
	font-size: 0.85rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: none;
}

.main-navigation ul.primary-menu>li>a:hover,
.main-navigation ul.primary-menu>li.current-menu-item>a,
.main-navigation ul.primary-menu>li.current-menu-ancestor>a {
	border: none;
}

/* External link indicator */
.main-navigation .primary-menu li.main-navigation-external a:after {
	content: " ➤";
}

/* --------------------------------------------
   HEADER - Submenus (Expanded State)
   Subcategories visible inline below parent
   -------------------------------------------- */
.main-navigation ul.primary-menu ul.sub-menu {
	position: static;
	display: flex;
	flex-direction: column;
	background-color: transparent;
	box-shadow: none;
	border: none;
	margin: 0;
	padding: 0 0 0.5em 0;
	opacity: 1;
	visibility: visible;
	max-height: 500px;
	overflow: hidden;
	transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease, visibility 0.3s ease;
	float: none;
	width: auto;
}

.main-navigation ul.primary-menu ul.sub-menu li {
	width: 100%;
}

.main-navigation ul.primary-menu ul.sub-menu li a {
	padding: 0.3em 1.5em;
	font-size: 0.8rem;
	font-weight: 400;
	text-transform: none;
	white-space: nowrap;
	border: none;
}

.main-navigation ul.primary-menu ul.sub-menu li a:hover {
	background-color: transparent;
}

/* --------------------------------------------
   HEADER - Collapsed State (When Scrolled)
   -------------------------------------------- */
.site-header.header-collapsed {
	padding: 0.5rem 2rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Smaller logo when collapsed */
.site-header.header-collapsed h1.site-title a,
.site-header.header-collapsed p.site-title a {
	width: 100px;
	height: 40px;
}

/* Hide submenus when collapsed */
.site-header.header-collapsed .main-navigation ul.primary-menu ul.sub-menu {
	display: none;
}

/* Hide header widget area when collapsed */
.site-header.header-collapsed .header-widget-area {
	display: none;
}

/* --------------------------------------------
   HEADER - CTA Button (Ticketing Soon)
   Now inline with main navigation
   -------------------------------------------- */
.header-widget-area {
	display: flex;
	align-items: flex-start;
	padding-top: 0;
	transition: opacity 0.3s ease;
}

.header-widget {
	display: flex;
	align-items: flex-start;
	padding-top: 0;
}

.header-widget .widget {
	border: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: flex-start;
}

.header-widget .widget h4 {
	margin: 0;
}

/* Hide secondary menu items (Partners, Press, Contact) - move to footer via WordPress */
.header-widget .menu {
	display: none;
}

/* Hide social media icons in header */
.header-widget .wp-block-social-links,
.wp-block-social-links {
	display: none;
}

/* Style the CTA button */
.header-widget .wp-block-button {
	margin: 0;
}

.header-widget .wp-block-button__link {
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.8em 1.5em;
	border: 1px solid black;
	background-color: transparent;
	color: black;
}

.header-widget .wp-block-button__link:hover {
	background-color: black;
	color: white;
}

/* --------------------------------------------
   HEADER - Mobile Navigation
   -------------------------------------------- */
.menu-toggle {
	display: none;
	background: url(images/burger-off.svg) no-repeat center center transparent;
	background-size: contain;
	width: 60px;
	height: 60px;
	border: 0;
	text-indent: -50000px;
	position: absolute;
	right: 1rem;
	top: 1rem;
	z-index: 1500;
}

.toggled .menu-toggle {
	background-image: url(images/burger-on.svg);
}

.main-navigation.toggled .menu-toggle {
	position: fixed;
}

.main-navigation.toggled {
	display: block;
	position: fixed;
	padding: 1rem;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1200;
	background-color: white;
	overflow-y: auto;
}

.main-navigation.toggled ul,
.main-navigation.toggled .header-widget {
	display: block;
}

/* --------------------------------------------
   WORDPRESS BLOCKS
   -------------------------------------------- */
ul.wp-block-post-template {
	margin: 0;
	padding: 0;
}

/* --------------------------------------------
   ARCHIVE - News Grid
   -------------------------------------------- */
.archive-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.archive-grid article {
	width: 22%;
}

.archive-grid article img {
	width: 100%;
}

/* --------------------------------------------
   SINGLE - News
   -------------------------------------------- */
.single.category-news .site-main article {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/* --------------------------------------------
   ARCHIVE - Exhibitors
   -------------------------------------------- */

/* Override inner page max-width for exhibitor archives */
.post-type-archive-exhibitor .site-main,
.tax-exhibitors-category .site-main {
	max-width: 1200px;
}

/* Page header */
.post-type-archive-exhibitor .page-header,
.tax-exhibitors-category .page-header {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.post-type-archive-exhibitor .page-title,
.tax-exhibitors-category .page-title {
	font-family: 'Cabinet Grotesk', sans-serif;
	font-weight: 700;
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	margin: 0;
}

/* Grid - full width, no nested grid needed */
.archive-grid-exhibitors {
	display: block;
}

/* Alphabetical groups */
.alphabetical-group {
	margin-bottom: 2.5rem;
}

.alphabetical-group-letter {
	font-family: 'Cabinet Grotesk', sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	border-bottom: 1px solid black;
	padding-bottom: 0.25rem;
	margin-bottom: 0.75rem;
}

.alphabetical-group h2 {
	margin-top: 0;
	margin-bottom: 0;
}

/* Exhibitor names as a clean list */
.alphabetical-group article {
	padding: 0.4rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.alphabetical-group article:last-child {
	border-bottom: none;
}

.alphabetical-group .entry-title {
	font-family: 'Satoshi', sans-serif;
	font-size: 0.95rem;
	font-weight: 400;
	margin: 0;
	padding: 0;
	border: none;
}

.alphabetical-group .entry-title a {
	text-decoration: none;
	transition: color 0.2s ease;
}

.alphabetical-group .entry-title a:hover {
	color: rgba(0, 0, 0, 0.5);
}

/* --------------------------------------------
   SINGLE - Exhibitors
   -------------------------------------------- */

/* Wider layout for single exhibitor */
.single-exhibitor .site-main {
	max-width: 1100px;
}

.single-exhibitor .site-main article {
	animation: fadeInUp 0.6s ease-out both;
}

/* Two-column layout */
.single-exhibitor-layout {
	display: flex;
	gap: 3rem;
	align-items: flex-start;
}

.single-exhibitor-layout-col {
	width: 50%;
}

.single-exhibitor-layout-col-media img {
	width: 100%;
	height: auto;
}

/* Exhibitor title */
.single-exhibitor .entry-title {
	font-family: 'Cabinet Grotesk', sans-serif;
	font-weight: 700;
	font-size: clamp(1.6rem, 4vw, 2.2rem);
	line-height: 1.15;
	margin: 0 0 0.5rem 0;
	padding-bottom: 0;
	border-bottom: none;
}

/* Country tag */
.exhibitor-country {
	font-family: 'Satoshi', sans-serif;
	font-size: 0.85rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(0, 0, 0, 0.5);
	margin: 0 0 1.5rem 0;
}

/* Info box */
.exhibitor-info-box {
	border-top: 1px solid black;
	border-bottom: 1px solid black;
	padding: 1rem 0;
	margin-top: 2rem;
	margin-bottom: 1.5rem;
}

.exhibitor-info-box h4 {
	margin-top: 0;
	font-family: 'Cabinet Grotesk', sans-serif;
	font-weight: 600;
}

.exhibitor-info-line {
	font-family: 'Satoshi', sans-serif;
	font-size: 0.9rem;
	line-height: 1.8;
}

.exhibitor-info-line .exhibitor-info-line-legend {
	font-weight: 700;
}

/* Taxonomy categories list */
.taxonomy-list {
	font-family: 'Satoshi', sans-serif;
	font-size: 0.85rem;
	margin-bottom: 1rem;
}

.taxonomy-list a {
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
}

.taxonomy-list a:hover {
	text-decoration-thickness: 2px;
}

/* --------------------------------------------
   INNER PAGES - Layout & Typography
   -------------------------------------------- */

/* Fade-in animation */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Content container - centered readable width */
body:not(.home) .site-main {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	padding: 2rem;
}

body:not(.home) .site-main article {
	animation: fadeInUp 0.6s ease-out both;
}

/* Page & post title */
body:not(.home) .entry-title {
	font-family: 'Cabinet Grotesk', sans-serif;
	font-weight: 700;
	font-size: clamp(2rem, 5vw, 3.2rem);
	line-height: 1.1;
	margin: 0 0 1.5rem 0;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

/* Post meta (date, categories) */
body:not(.home) .entry-meta {
	font-family: 'Satoshi', sans-serif;
	font-size: 0.8rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(0, 0, 0, 0.5);
	margin-bottom: 0.75rem;
}

/* Entry content typography */
body:not(.home) .entry-content {
	font-family: 'Satoshi', sans-serif;
	font-size: 1.05rem;
	line-height: 1.75;
	color: #1a1a1a;
}

body:not(.home) .entry-content p {
	margin-bottom: 1.5em;
}

body:not(.home) .entry-content h2 {
	font-family: 'Cabinet Grotesk', sans-serif;
	font-weight: 600;
	font-size: 1.6rem;
	margin-top: 3rem;
	margin-bottom: 1rem;
}

body:not(.home) .entry-content h3 {
	font-family: 'Cabinet Grotesk', sans-serif;
	font-weight: 600;
	font-size: 1.25rem;
	margin-top: 2.5rem;
	margin-bottom: 0.75rem;
}

body:not(.home) .entry-content h4 {
	font-family: 'Cabinet Grotesk', sans-serif;
	font-weight: 500;
	font-size: 1.1rem;
	margin-top: 2rem;
	margin-bottom: 0.5rem;
}

/* Links - subtle underline */
body:not(.home) .entry-content a {
	color: black;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	transition: text-decoration-thickness 0.2s ease;
}

body:not(.home) .entry-content a:hover {
	text-decoration-thickness: 2px;
}

/* Blockquotes */
body:not(.home) .entry-content blockquote {
	margin: 2.5rem 0;
	padding: 1.5rem 2rem;
	border-left: 3px solid black;
	font-family: 'Cabinet Grotesk', sans-serif;
	font-size: 1.2rem;
	font-weight: 500;
	font-style: normal;
	line-height: 1.5;
	color: #333;
}

body:not(.home) .entry-content blockquote p:last-child {
	margin-bottom: 0;
}

/* Images in content */
body:not(.home) .entry-content img {
	max-width: 100%;
	height: auto;
	margin: 2rem 0;
}

body:not(.home) .entry-content .wp-block-image {
	margin: 2.5rem 0;
}

body:not(.home) .entry-content .wp-block-image figcaption {
	font-size: 0.8rem;
	color: rgba(0, 0, 0, 0.5);
	margin-top: 0.5rem;
	text-align: center;
}

/* Lists */
body:not(.home) .entry-content ul,
body:not(.home) .entry-content ol {
	margin: 1.5em 0;
	padding-left: 1.5em;
}

body:not(.home) .entry-content li {
	margin-bottom: 0.5em;
	line-height: 1.6;
}

/* Separator / HR */
body:not(.home) .entry-content hr,
body:not(.home) .entry-content .wp-block-separator {
	border: none;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
	margin: 3rem 0;
}

/* Post navigation (prev/next) */
body:not(.home) .post-navigation {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
	font-family: 'Satoshi', sans-serif;
}

body:not(.home) .post-navigation .nav-subtitle {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(0, 0, 0, 0.5);
	display: block;
	margin-bottom: 0.25rem;
}

body:not(.home) .post-navigation .nav-title {
	font-family: 'Cabinet Grotesk', sans-serif;
	font-weight: 500;
	font-size: 1rem;
}

body:not(.home) .post-navigation a {
	text-decoration: none;
}

body:not(.home) .post-navigation a:hover .nav-title {
	text-decoration: underline;
}

/* --------------------------------------------
   FOOTER
   -------------------------------------------- */
.site-footer {
	padding: 2rem;
	border-top: 1px solid;
}

.site-footer .menu {
	margin: 0;
	padding: 0;
}

.site-footer .menu li {
	list-style: none;
	padding: 0;
	margin: 0 0 0.5em 0;
}

.site-footer .menu li a {
	text-decoration: none;
}

.site-info {
	font-size: 0.8rem;
	font-weight: bold;
}

/* --------------------------------------------
   RESPONSIVE - Tablet and below
   -------------------------------------------- */
@media screen and (max-width: 1400px) {

	/* Mobile menu toggle */
	.menu-toggle {
		display: block;
	}

	.nav-group {
		flex-direction: column-reverse;
	}

	/* Hide desktop nav by default */
	.main-navigation ul,
	.main-navigation ul.primary-menu,
	.header-widget,
	.header-widget-area {
		display: none;
	}

	/* Show menu when burger is toggled open */
	.main-navigation.toggled ul,
	.main-navigation.toggled ul.primary-menu {
		display: block;
	}

	/* Adjust hero image height for smaller header */
	.home .entry-content>.wp-block-image img {
		height: calc(100vh - 120px);
	}

	/* Mobile menu items */
	.main-navigation .primary-menu li a {
		border: 0;
		padding: 0.5em 0;
	}

	.main-navigation .primary-menu {
		margin-bottom: 2rem;
	}

	/* Mobile submenus - always visible */
	.main-navigation ul.primary-menu ul.sub-menu {
		position: static;
		max-height: none;
		opacity: 1;
		padding-left: 1rem;
		box-shadow: none;
	}

	.main-navigation ul.primary-menu ul.sub-menu li a {
		padding: 0.2em 0;
		font-size: 0.85em;
	}

	/* Keep submenus visible even in collapsed state on mobile */
	.site-header.header-collapsed .main-navigation ul.primary-menu ul.sub-menu {
		max-height: none;
		opacity: 1;
		visibility: visible;
	}

	/* Remove dividers on mobile */
	.main-navigation ul.primary-menu>li {
		border: none;
	}

	/* Mobile header widget */
	.header-widget .widget {
		border-left: 0;
		padding-left: 0;
		margin-left: 0;
		margin-bottom: 2rem;
	}

	.header-widget .menu li a {
		padding: 0.5em 0;
	}

	/* Smaller logo on mobile */
	h1.site-title a,
	p.site-title a {
		width: 150px;
		height: 70px;
	}
}

/* --------------------------------------------
   RESPONSIVE - Exhibitors (stack on mobile)
   -------------------------------------------- */
@media screen and (max-width: 768px) {
	.single-exhibitor-layout {
		flex-direction: column;
		gap: 2rem;
	}

	.single-exhibitor-layout-col {
		width: 100%;
	}
}