/*
Theme Name: CITY ON
Theme URI: https://example.com/city-on
Author: CITY ON
Author URI: https://example.com
Description: Multi-city event discovery theme. Minimal foundation prepared for custom events, cities/countries, ACF, and Leaflet maps.
Version: 0.7.1
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: city-on
Tags: custom-menu, featured-images, translation-ready, responsive-layout
*/

/* -------------------------------------------------------------------------
   Design tokens + base (mobile-first)
   ------------------------------------------------------------------------- */

:root {
	--co-bg: #0a101c;
	--co-navy: #101a2c;
	--co-charcoal: #151e30;
	--co-surface: rgba(18, 26, 42, 0.88);
	--co-surface-solid: #161f32;
	--co-line: rgba(255, 255, 255, 0.12);
	--co-text: #ffffff;
	--co-muted: rgba(255, 255, 255, 0.62);
	--co-accent: #b6ff3b;
	--co-accent-deep: #8fd414;
	--co-accent-soft: rgba(182, 255, 59, 0.18);
	--co-danger: #ff5c7a;
	--co-music: #b6ff3b;
	--co-electronic: #ff4fd8;
	--co-sport: #5dffc2;
	--co-theatre: #ff7a59;
	--co-art: #7ec8ff;
	--co-cinema: #d4a1ff;
	--co-food: #ffb347;
	--co-family: #ffe56a;
	--co-talks: #9aa4ff;
	--co-radius-sm: 0.75rem;
	--co-radius-md: 1.15rem;
	--co-radius-lg: 1.6rem;
	--co-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
	--co-header-h: 5.5rem;
	--co-dock-h: 6.5rem;
	--co-safe-top: env(safe-area-inset-top, 0px);
	--co-safe-bottom: env(safe-area-inset-bottom, 0px);
	--co-font-brand: "Bahnschrift", "DIN Alternate", "Futura", "Century Gothic", "Trebuchet MS", sans-serif;
	--co-font-ui: "Avenir Next", "Segoe UI Variable", "Segoe UI", "Helvetica Neue", sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	min-height: 100vh;
	min-height: 100dvh;
	font-family: var(--co-font-ui);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--co-text);
	background: var(--co-bg);
	-webkit-font-smoothing: antialiased;
}

img,
picture,
video,
svg {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

button {
	font: inherit;
	color: inherit;
	cursor: pointer;
	border: 0;
	background: none;
}

:focus-visible {
	outline: 2px solid var(--co-accent);
	outline-offset: 3px;
}

.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

.site--map-home {
	overflow: hidden;
	height: 100vh;
	height: 100dvh;
}

.site-main {
	flex: 1;
	width: 100%;
}

.site-main--map {
	position: relative;
	overflow: hidden;
	min-height: 100%;
}

.container {
	width: min(100% - 2rem, 72rem);
	margin-inline: auto;
}
