/*
Theme Name: Market Square
Theme URI: https://claude.ai/artifact/T3TGL7wQaAxNbnFtgJzpzy
Author: QG
Description: Lightweight Elementor theme for Market Square, Adelaide ("After Hours" design). Every section is a QG Sections for Elementor widget; the header is QG Toolkit LazyNav (see-through over the home hero, solid elsewhere) and the produce band is a QG Toolkit Site Ticker Bar. Appearance > Market Square Setup builds the site in one click and switches off every widget it does not use.
Version: 1.0.4
Requires at least: 5.8
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: market-square
*/

@font-face {
	font-family: "Market Square Display";
	src: url("assets/fonts/market-square-display.woff2?v=2") format("woff2"),
	     url("assets/fonts/market-square-display.ttf?v=2") format("truetype");
	font-weight: 400 800;
	font-style: normal;
	font-display: block;
}

/* Brand tokens read by QG Sections widgets (colors come from Elementor Site Settings). */
body {
	--qgse-r-lg: 8px;
	--qgse-r-md: 8px;
	--qgse-r-sm: 8px;
	--qgse-r-xs: 4px;
	--qgse-r-btn: 4px;
	--qgse-r-pill: 999px;
	--qgse-btn-main-bg: #F08754;
	--qgse-btn-main-text: #231F20;
	--qgse-head-weight: 400;
	--qgse-head-tracking: .2em;
	--qgse-badge-bg: #D61F45;
	--ms-bg: #F2F2F2;
	--ms-ink: #231F20;
	--ms-muted: #58534F;
	--ms-line: #DCDADA;
	--ms-ember: #F08754;
	--ms-red: #C21C3F;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--ms-bg); color: var(--ms-ink); font-family: Manrope, "Helvetica Neue", Arial, sans-serif; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--e-global-typography-primary-font-family, "Market Square Display"), "Arial Narrow", Impact, sans-serif; text-transform: uppercase; font-weight: 400; line-height: 1.05; letter-spacing: .2em; }
:focus-visible { outline: 2px solid var(--ms-red); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; z-index: 1000; background: #fff; padding: 12px 16px; left: 8px; top: 8px; }

/* Market Square details on top of the widgets */
.qgse-btn { font-size: 14px; font-weight: 700; min-height: 48px; padding: 0 22px; }
.qgse-btn--line { border-width: 1px; border-color: rgba(35,31,32,.35); }
.qgse-hero .qgse-btn--ghost { border-width: 1px; border-color: rgba(243,238,231,.55); }
.qgse-hero__title { line-height: 1.02; }
.qgse-h2 { letter-spacing: .28em; }
.qgse-gal--list .qgse-gal__title, .qgse-gal--event .qgse-gal__title, .qgse-gal--stacked .qgse-gal__title { letter-spacing: -0.02em; }
/* Small units such as m² use the text font (the display font has no ² sign). */
.qgse-u { font-family: Manrope, "Helvetica Neue", Arial, sans-serif; }

/* Fallback header and footer (until LazyNav and the Site Footer are set up) */
.ms-fallback-header { background: #141312; }
.ms-fallback-header__inner { max-width: 1320px; margin: 0 auto; padding: 18px 44px; display: flex; flex-wrap: wrap; gap: 12px 32px; align-items: center; justify-content: space-between; }
.ms-fallback-header a { color: #F3EEE7; text-decoration: none; font-weight: 600; }
.ms-fallback-header ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 26px; }
.ms-fallback-header .ms-brand { font-family: "Market Square Display", sans-serif; font-size: 22px; letter-spacing: .2em; text-transform: uppercase; }
.ms-fallback-footer { background: #221D19; color: #C9C1B7; padding: 32px 24px; text-align: center; font-size: 14px; }

/* Plain pages (not built with Elementor) */
.ms-titleband { background: #141312; color: #F3EEE7; padding: 140px 44px 64px; }
.ms-titleband h1 { max-width: 1320px; margin: 0 auto; font-size: clamp(36px, 4.4vw, 60px); }
.ms-content { max-width: 820px; margin: 0 auto; padding: 72px 24px 96px; }
.ms-content img { border-radius: 8px; }

.ms-elementor .elementor-section.elementor-section-full_width > .elementor-container { max-width: none; }

/* LazyNav menu: Market Square uses sentence-case links */
.lazynav__menu a { text-transform: none; letter-spacing: 0; }
