/* -- NAFA THEME — North Australian Festival of Arts -- */
:root {
	/* -- Colors (sourced from nafa-tsv.com.au brand palette) -- */
	--primaryColor: #BED62F;                  /* nafa-lime (CTA hover, highlights) */
	--secondaryColor: #FF9A5C;                /* nafa-coral (primary button) */
	--accentColor: #FF4797;                   /* nafa-pink (secondary accent) */
	--textColor: #FFFFFF;
	--textLinkColor: #BED62F;
	--headingColor: #FFFFFF;
	--backgroundColor: #190D40;               /* nafa-deep-purple (body) */
	--dropdownColor: #241949;                 /* nafa-purple (header/footer tone) */
	--divider: rgba(255, 255, 255, 0.1);

	/* -- Extended palette -- */
	--nafa-black: #000000;                    /* topbar */
	--nafa-purple: #241949;                   /* header/footer surfaces */
	--nafa-deep-purple: #190D40;              /* body */
	--nafa-lime: #BED62F;
	--nafa-coral: #FF9A5C;
	--nafa-pink: #FF4797;
	--nafa-text-muted: rgba(255, 255, 255, 0.6);
	--nafa-surface-light: rgba(255, 255, 255, 0.06);
	--nafa-overlay: rgba(0, 0, 0, 0.35);

	/* -- Fonts -- */
	--primaryFont: 'Outfit', ui-sans-serif, system-ui, -apple-system, sans-serif;
	--headingFont: 'Outfit', ui-sans-serif, system-ui, -apple-system, sans-serif;

	/* -- Layout -- */
	--siteWidth: 1440px;

	/* -- Spacing -- */
	--spacing-xs: 4px;
	--spacing-sm: 8px;
	--spacing-md: 16px;
	--spacing-lg: 32px;
	--spacing-xl: 64px;

	/* -- Radii -- */
	--smallRadius: 6px;
	--mediumRadius: 10px;
	--largeRadius: 16px;

	/* -- Shadows -- */
	--smallDropShadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	--largeDropShadow: 0px 12px 40px 0px rgba(0, 0, 0, 0.5);

	/* -- Cards -- */
	--cardBackgroundColor: #241949;
	--cardTextColor: #FFFFFF;
	--cardBackground: #241949;
	--cardBorder: 1px solid rgba(255, 255, 255, 0.1);
	--cardRadius: 10px;
	--cardPadding: 0px;
	--cardContentPadding: 20px;
	--cardImageRadius: 10px;
	--cardDropShadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	--cartBackgroundColor: #190D40;

	/* -- Fields -- */
	--fieldBackgroundColor: #ffffff;
	--fieldTextColor: #190D40;
	--fieldBorderColor: rgba(255, 255, 255, 0.2);
	--fieldRadius: 6px;

	/* -- Buttons (Primary) -- */
	--buttonBackgroundColor: #FF9A5C;
	--buttonTextColor: #190D40;
	--buttonBorderColor: #FF9A5C;
	--buttonHoverBackgroundColor: #BED62F;
	--buttonHoverTextColor: #190D40;
	--buttonHoverBorderColor: #BED62F;
	--buttonRadius: 8px;
	--buttonFontSize: 0.8rem;
	--buttonFontWeight: 600;
	--buttonFontFamily: 'Outfit', sans-serif;
	--buttonLetterSpacing: 0.08em;
	--buttonTextTransform: uppercase;
	--buttonPaddingX: 24px;
	--buttonPaddingY: 14px;
	--buttonTransition: all 0.25s ease;

	/* -- Buttons (Secondary) -- */
	--secondaryButtonBackgroundColor: transparent;
	--secondaryButtonTextColor: rgba(255, 255, 255, 0.85);
	--secondaryButtonBorderColor: rgba(255, 255, 255, 0.2);
	--secondaryButtonHoverBackgroundColor: rgba(255, 255, 255, 0.06);
	--secondaryButtonHoverTextColor: #FFFFFF;
	--secondaryButtonHoverBorderColor: #BED62F;

	/* -- Pills -- */
	--pillBackgroundColor: rgba(190, 214, 47, 0.12);
	--pillTextColor: #BED62F;
	--pillBorderColor: rgba(190, 214, 47, 0.4);
	--pillHoverBackgroundColor: #BED62F;
	--pillHoverTextColor: #190D40;
	--pillHoverBorderColor: #BED62F;
	--pillRadius: 999px;
	--pillFontSize: 0.8rem;
	--pillFontWeight: 500;
	--pillPaddingX: 12px;
	--pillPaddingY: 5px;

	/* -- Panels -- */
	--panelBackgroundColor: #241949;
	--panelBorder: 1px solid rgba(255, 255, 255, 0.1);
	--panelBorderRadius: 16px;
	--panelDropShadow: none;

	/* -- Icons -- */
	--icon-filter-none: invert(1);
	--icon-filter-invert: invert(0);

	/* -- Focus -- */
	--focusRingColor: #BED62F;
	--focusRingWidth: 2px;
	--focusRingOffset: 2px;
}

/* -- Component Overrides -- */

#app {
	padding: 64px 16px !important;
  min-height: 60vh;
}

/* Typography */
body,html {
	font-family: 'Outfit', sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	background-color: var(--backgroundColor) !important;
	color: var(--textColor) !important;
  padding:0;
  margin:0;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
	color: var(--headingColor);
}

/* Links */
a {
	transition: color 0.25s ease;
}

/* Event page overrides */
#ft_event #ft_eventTitle {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 700 !important;
}

#ft_event #ft_eventDescription {
	font-family: 'Outfit', sans-serif !important;
	font-size: 16px;
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.82);
}

#ft_event blockquote {
	border-left: 3px solid var(--nafa-lime);
	font-size: 125%;
	font-style: italic;
	margin: 32px 0;
	padding: 16px 16px 16px 28px;
	color: var(--textColor);
}

/* Scrollbar styling for dark theme */
::-webkit-scrollbar {
	width: 8px;
}
::-webkit-scrollbar-track {
	background: #190D40;
}
::-webkit-scrollbar-thumb {
	background: rgba(190, 214, 47, 0.3);
}
::-webkit-scrollbar-thumb:hover {
	background: rgba(190, 214, 47, 0.6);
}

/* Selection color */
::selection {
	background: rgba(255, 154, 92, 0.35);
	color: #FFFFFF;
}
