/*
	TCG Maine — "Sleek" direction
	One external stylesheet for the whole brochure site.
	Design tokens + section styles per design handoff.
	Applied via block "Additional CSS class(es)" — safe to edit pages in the
	block editor without touching this file.
*/

:root {
	--tcg-ink: #14171A;
	--tcg-white: #FFFFFF;
	--tcg-steel: #5D6E7E;
	--tcg-steel-lt: #8FA0AE;
	--tcg-mist: #F6F7F8;
	--tcg-hairline: #E3E6E8;
	--tcg-hairline-dark: #333A40;
	--tcg-body: #3D454C;
	--tcg-muted: #8B949C;
	--tcg-font-sans: 'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--tcg-font-mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;
}

/* ------------------------------------------------------------------
   1. Base / typography — flat, square, legible
------------------------------------------------------------------ */

body {
	font-family: var(--tcg-font-sans);
	font-size: 16px;
	color: var(--tcg-body);
	background: var(--tcg-white);
}

h1, h2, h3, h4, h5, h6,
.site-title {
	font-family: var(--tcg-font-sans);
	color: var(--tcg-ink);
	letter-spacing: -0.01em;
	font-weight: 700;
}

h1 { font-size: 40px; line-height: 1.1; }
h2 { font-size: 30px; line-height: 1.15; }
h3 { font-size: 19px; line-height: 1.3; }

p { font-size: 16px; line-height: 1.6; }

a { color: var(--tcg-steel); text-decoration-thickness: 1px; }
a:hover { color: var(--tcg-ink); }

/* Zero radius, no shadows, anywhere */
.site-container button,
.site-container input,
.site-container select,
.site-container textarea,
.wp-block-button__link,
.wp-block-image img,
.wp-block-group,
.wp-block-columns .wp-block-column {
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Container width 1140px */
.wrap,
.site-inner {
	max-width: 1140px;
}

/* Give designed pages the full canvas */
.page .entry {
	margin-bottom: 0;
}

.page .site-inner {
	padding-top: 0;
	max-width: none;   /* sections manage their own width via .tcg-wrap */
}

.page .content .entry-content > * {
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
}

.page .content .entry-content > .alignfull {
	max-width: none;
}

/* ------------------------------------------------------------------
   2. Shared atoms — eyebrows, rules, buttons, tiles
------------------------------------------------------------------ */

/* Eyebrow: `01 — WHAT WE SELL` */
.tcg-eyebrow {
	font-family: var(--tcg-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--tcg-steel);
	margin-bottom: 8px;
}

.tcg-eyebrow-on-dark { color: var(--tcg-steel-lt); }

/* Short ink rule (44×3) used above hero H1 */
.wp-block-separator.tcg-rule {
	border: none;
	width: 44px;
	max-width: 44px;
	height: 3px;
	background: var(--tcg-ink);
	margin: 0 0 16px 0;
	opacity: 1;
}

.wp-block-separator.tcg-rule-white { background: var(--tcg-white); }

/* Hairline separators */
.wp-block-separator.tcg-hairline {
	border: none;
	border-top: 1px solid var(--tcg-hairline);
	background: none;
	opacity: 1;
	margin: 0;
}

/* Buttons — square, uppercase, Archivo 600 13px, padding 12/22 */
.wp-block-button .wp-block-button__link,
.tcg-btn {
	font-family: var(--tcg-font-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	padding: 12px 22px;
	border-radius: 0;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color .15s ease, color .15s ease;
}

/* Primary: steel bg / white text, hover → ink */
.tcg-btn-primary .wp-block-button__link {
	background-color: var(--tcg-steel);
	color: var(--tcg-white);
	border: 1px solid var(--tcg-steel);
}
.tcg-btn-primary .wp-block-button__link:hover {
	background-color: var(--tcg-ink);
	border-color: var(--tcg-ink);
	color: var(--tcg-white);
}

/* Secondary: 1px ink border, transparent, hover underline */
.tcg-btn-secondary .wp-block-button__link {
	background: transparent;
	color: var(--tcg-ink);
	border: 1px solid var(--tcg-ink);
}
.tcg-btn-secondary .wp-block-button__link:hover {
	text-decoration: underline;
	background: transparent;
	color: var(--tcg-ink);
}

/* On dark: white bg / ink text */
.tcg-btn-white .wp-block-button__link {
	background-color: var(--tcg-white);
	color: var(--tcg-ink);
	border: 1px solid var(--tcg-white);
}
.tcg-btn-white .wp-block-button__link:hover {
	background-color: var(--tcg-hairline);
	color: var(--tcg-ink);
}

/* Outlined on dark (hero "SEE EVENTS") */
.tcg-btn-outline-white .wp-block-button__link {
	background: transparent;
	color: var(--tcg-white);
	border: 1px solid var(--tcg-white);
}
.tcg-btn-outline-white .wp-block-button__link:hover {
	text-decoration: underline;
	background: transparent;
	color: var(--tcg-white);
}

/* Mono tags: MAIN FOCUS / OWNER / STAFF */
.tcg-tag {
	font-family: var(--tcg-font-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--tcg-steel);
}

/* Tile pattern: 1px ink border, image bleeds to edges, rule above caption */
.tcg-tile {
	border: 1px solid var(--tcg-ink);
	background: var(--tcg-white);
	padding: 0 !important;
}

.tcg-tile .wp-block-image,
.tcg-tile figure {
	margin: 0;
}

.tcg-tile .wp-block-image img {
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.tcg-tile-caption {
	border-top: 1px solid var(--tcg-ink);
	padding: 14px 16px 16px !important;
}

.tcg-tile-caption h3 {
	margin: 0 0 6px;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.tcg-tile-caption p {
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
	color: var(--tcg-body);
}

/* Team tiles have taller photos */
.tcg-tile-team .wp-block-image img { height: 240px; }

/* ------------------------------------------------------------------
   3. Utility bar (printed from child theme PHP hook)
------------------------------------------------------------------ */

.tcg-utility-bar {
	background: var(--tcg-ink);
	color: var(--tcg-white);
	font-family: var(--tcg-font-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
}

.tcg-utility-bar .tcg-utility-inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 10px 24px;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.tcg-utility-bar a { color: var(--tcg-white); text-decoration: none; }

/* ------------------------------------------------------------------
   4. Header / nav — white bar, 1px ink bottom border
------------------------------------------------------------------ */

.site-header {
	background: var(--tcg-white);
	border-bottom: 1px solid var(--tcg-ink);
	box-shadow: none;
}

.site-header .wrap {
	padding-top: 12px;
	padding-bottom: 12px;
}

.site-title {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.site-title a { color: var(--tcg-ink); text-decoration: none; }

.site-description { display: none; }

.genesis-nav-menu {
	font-family: var(--tcg-font-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.genesis-nav-menu a {
	color: #3D454C;
	text-decoration: none;
	padding: 15px 14px;
}

.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a {
	color: var(--tcg-ink);
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Steel "VISIT US" CTA item — add class tcg-nav-cta to the menu item */
.genesis-nav-menu .tcg-nav-cta > a {
	background: var(--tcg-steel);
	color: var(--tcg-white);
	padding: 12px 22px;
	margin-left: 10px;
	text-decoration: none;
}

.genesis-nav-menu .tcg-nav-cta > a:hover {
	background: var(--tcg-ink);
	color: var(--tcg-white);
	text-decoration: none;
}

/* ------------------------------------------------------------------
   5. Hero — slideshow + steel overlay box
------------------------------------------------------------------ */

.tcg-hero { position: relative; }

.tcg-hero .n2-section-smartslider { margin: 0; }

/* Steel overlay box (group block, bottom-left over/under the slider) */
.tcg-hero-overlay {
	background: var(--tcg-steel);
	color: var(--tcg-white);
	padding: 28px 32px !important;
	max-width: 560px;
}

.tcg-hero-overlay h1 {
	color: var(--tcg-white);
	font-size: 34px;
	line-height: 1.15;
	margin: 0 0 10px;
}

.tcg-hero-overlay p {
	color: #DBE2E7;
	font-size: 16px;
	margin: 0 0 20px;
}

/* Desktop: pull the overlay up over the slider bottom-left */
@media (min-width: 900px) {
	.tcg-hero-overlay {
		position: relative;
		margin-top: -300px !important;
		margin-bottom: 48px;
		z-index: 10;
	}
}

/* ------------------------------------------------------------------
   6. Sections
------------------------------------------------------------------ */

.tcg-section {
	padding: 48px 24px;
}

.tcg-section-mist { background: var(--tcg-mist); }

.tcg-section-head {
	display: flex;
	align-items: baseline;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

/* Full-width bands */
.tcg-band-ink {
	background: var(--tcg-ink);
	color: var(--tcg-white);
	padding: 48px 24px;
}

.tcg-band-ink h2, .tcg-band-ink h3 { color: var(--tcg-white); }
.tcg-band-ink p { color: var(--tcg-steel-lt); }

.tcg-band-steel {
	background: var(--tcg-steel);
	color: var(--tcg-white);
	padding: 40px 24px;
}

.tcg-band-steel h2, .tcg-band-steel h3 { color: var(--tcg-white); }
.tcg-band-steel p { color: #DBE2E7; }

/* Inner wrap inside full-width bands */
.tcg-wrap {
	max-width: 1140px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Why Us hairline-ruled list rows w/ 8px steel square bullet */
.tcg-feature-list { margin: 0; padding: 0; list-style: none; }

.tcg-feature-list li {
	position: relative;
	padding: 14px 0 14px 24px;
	border-bottom: 1px solid var(--tcg-hairline);
	font-size: 16px;
	color: var(--tcg-ink);
	font-weight: 500;
	list-style: none;
}

.tcg-feature-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 22px;
	width: 8px;
	height: 8px;
	background: var(--tcg-steel);
}

/* Bordered framed image (Why Us photo etc.) */
.tcg-img-border img { border: 1px solid var(--tcg-ink); }

/* Map embed frame */
.tcg-map-frame {
	border: 1px solid var(--tcg-ink);
	padding: 0 !important;
	line-height: 0;
}

.tcg-map-frame iframe {
	width: 100%;
	height: 380px;
	border: 0;
	display: block;
}

/* Hours table — 1px border, hairline row rules, mono times */
.tcg-hours {
	border: 1px solid var(--tcg-ink);
	padding: 0 !important;
	margin: 0;
}

.tcg-hours table { border-collapse: collapse; width: 100%; margin: 0; border: none; }

.tcg-hours td {
	border: none;
	border-bottom: 1px solid var(--tcg-hairline);
	padding: 12px 16px;
	font-size: 15px;
	color: var(--tcg-ink);
	font-weight: 500;
}

.tcg-hours tr:last-child td { border-bottom: none; }

.tcg-hours td:last-child {
	font-family: var(--tcg-font-mono);
	font-weight: 500;
	text-align: right;
	color: var(--tcg-body);
}

/* Bordered info panels (HOURS / REACH US on Visit Us) */
.tcg-panel {
	border: 1px solid var(--tcg-ink);
	padding: 20px 24px !important;
	background: var(--tcg-white);
}

.tcg-panel .tcg-eyebrow { margin-top: 0; }

.tcg-panel p { font-size: 15px; margin: 0 0 6px; color: var(--tcg-ink); }

/* STEP 01–03 tiles (Visit Us / buy-sell-trade) */
.tcg-step {
	border: 1px solid var(--tcg-ink);
	padding: 24px !important;
	background: var(--tcg-white);
}

.tcg-step .tcg-eyebrow { margin-bottom: 12px; }

.tcg-step h3 { margin: 0 0 8px; }

.tcg-step p { font-size: 14px; line-height: 1.55; margin: 0; }

/* Good to Know ink panel (Events page) */
.tcg-goodtoknow {
	background: var(--tcg-ink);
	color: var(--tcg-white);
	padding: 28px 32px !important;
}

.tcg-goodtoknow h3 { color: var(--tcg-white); margin-top: 0; }

.tcg-goodtoknow ul { margin: 0; padding: 0; list-style: none; }

.tcg-goodtoknow li {
	padding: 10px 0;
	border-bottom: 1px solid var(--tcg-hairline-dark);
	color: var(--tcg-steel-lt);
	font-size: 14px;
	list-style: none;
}

.tcg-goodtoknow li:last-child { border-bottom: none; }

/* ------------------------------------------------------------------
   7. Events — dark band on Home + TEC list view
------------------------------------------------------------------ */

/* Home page: static this-week rows (editable columns) */
.tcg-event-row {
	border-bottom: 1px solid var(--tcg-hairline-dark);
	padding: 16px 0;
	align-items: center;
}

.tcg-event-row:first-child { border-top: 1px solid var(--tcg-hairline-dark); }

.tcg-event-date {
	font-family: var(--tcg-font-mono);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: var(--tcg-steel-lt);
	text-transform: uppercase;
}

.tcg-event-title h3 { margin: 0 0 2px; font-size: 19px; color: var(--tcg-white); }

.tcg-event-title p { margin: 0; font-size: 14px; color: var(--tcg-steel-lt); }

.tcg-event-time {
	font-family: var(--tcg-font-mono);
	font-size: 14px;
	font-weight: 500;
	color: var(--tcg-steel-lt);
	text-align: right;
}

/* The Events Calendar — list view restyle (Events page) */
.tribe-events .tribe-events-calendar-list__event-row {
	border-bottom: 1px solid var(--tcg-hairline);
	padding-bottom: 24px;
	margin-bottom: 24px;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
	font-family: var(--tcg-font-mono);
	background: none;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-weekday,
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
	font-family: var(--tcg-font-mono);
	font-weight: 600;
	color: var(--tcg-ink);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tribe-events .tribe-events-calendar-list__event-title a {
	font-family: var(--tcg-font-sans);
	font-weight: 700;
	color: var(--tcg-ink);
	letter-spacing: -0.01em;
	text-decoration: none;
}

.tribe-events .tribe-events-calendar-list__event-title a:hover { text-decoration: underline; }

.tribe-events .tribe-events-calendar-list__event-datetime,
.tribe-events .tribe-events-calendar-list__event-description {
	color: var(--tcg-muted);
	font-size: 15px;
}

.tribe-events button,
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-common-c-btn,
.tribe-events .tribe-common-c-btn-border {
	border-radius: 0;
	font-family: var(--tcg-font-sans);
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	font-size: 13px;
}

.tribe-common .tribe-common-c-btn-border {
	border: 1px solid var(--tcg-ink);
	color: var(--tcg-ink);
	background: transparent;
}

.tribe-common .tribe-common-c-btn-border:hover {
	background: transparent;
	color: var(--tcg-ink);
	text-decoration: underline;
}

.tribe-events .tribe-events-c-events-bar { margin-bottom: 24px; }

.tribe-events .tribe-events-c-events-bar__search-button,
.tribe-events .tribe-events-header__messages--notice { border-radius: 0; }

.tribe-events .tribe-events-calendar-list__month-separator-text {
	font-family: var(--tcg-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--tcg-steel);
}

/* ------------------------------------------------------------------
   8. Contact form (Ninja Forms) — 1px-border panel, mist inputs
------------------------------------------------------------------ */

.tcg-form-panel {
	border: 1px solid var(--tcg-ink);
	padding: 28px 32px !important;
	background: var(--tcg-white);
}

.tcg-form-panel .nf-form-fields-required { display: none; }

.tcg-form-panel .nf-field-label label {
	font-family: var(--tcg-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--tcg-ink);
}

.tcg-form-panel .ninja-forms-field {
	border: 1px solid var(--tcg-hairline);
	background: var(--tcg-mist);
	border-radius: 0;
	font-family: var(--tcg-font-sans);
	font-size: 15px;
	color: var(--tcg-ink);
	padding: 12px;
}

.tcg-form-panel .ninja-forms-field:focus {
	outline: none;
	border-color: var(--tcg-steel);
}

.tcg-form-panel input[type="button"].ninja-forms-field,
.tcg-form-panel input[type="submit"].ninja-forms-field {
	background: var(--tcg-steel);
	color: var(--tcg-white);
	border: 1px solid var(--tcg-steel);
	font-family: var(--tcg-font-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	padding: 12px 22px;
	width: 100%;
	min-height: 44px;
	cursor: pointer;
	transition: background-color .15s ease;
}

.tcg-form-panel input[type="button"].ninja-forms-field:hover,
.tcg-form-panel input[type="submit"].ninja-forms-field:hover {
	background: var(--tcg-ink);
	border-color: var(--tcg-ink);
}

.tcg-form-micro {
	font-size: 13px;
	color: var(--tcg-muted);
	margin-top: 12px;
}

/* ------------------------------------------------------------------
   9. Footer — ink band, 3 columns, mono badge, hairline copyright
------------------------------------------------------------------ */

.site-footer {
	background: var(--tcg-ink);
	color: var(--tcg-steel-lt);
	font-size: 14px;
	padding: 48px 24px 24px;
}

.site-footer .wrap { max-width: 1140px; }

.site-footer h3, .site-footer h4 {
	color: var(--tcg-white);
	font-size: 16px;
}

.site-footer .widget-title {
	font-family: var(--tcg-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--tcg-steel-lt);
	margin-bottom: 12px;
}

.site-footer p { color: var(--tcg-steel-lt); font-size: 14px; }

.site-footer a { color: var(--tcg-white); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }

.tcg-footer-brand {
	font-family: var(--tcg-font-sans);
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tcg-white);
}

.tcg-footer-badge {
	display: inline-block;
	border: 1px solid var(--tcg-hairline-dark);
	font-family: var(--tcg-font-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--tcg-steel-lt);
	padding: 8px 12px;
	margin-top: 12px;
}

.site-footer .footer-widgets {
	background: var(--tcg-ink);
	padding: 0 0 32px;
}

.site-footer .footer-copyright,
.site-footer .site-footer-copyright {
	border-top: 1px solid var(--tcg-hairline-dark);
	padding-top: 20px;
	font-family: var(--tcg-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--tcg-steel-lt);
}

/* ------------------------------------------------------------------
   10. Accessibility helpers
------------------------------------------------------------------ */

a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--tcg-steel);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------
   11. Mobile — checked at 390px
------------------------------------------------------------------ */

@media (max-width: 900px) {
	h1 { font-size: 23px; }
	h2 { font-size: 22px; }
	p { font-size: 14px; }

	.tcg-section, .tcg-band-ink { padding: 24px 18px; }
	.tcg-band-steel { padding: 28px 18px; }

	.tcg-hero-overlay {
		max-width: none;
		padding: 20px 18px !important;
	}

	.tcg-hero-overlay h1 { font-size: 23px; }
	.tcg-hero-overlay p { font-size: 14px; margin-bottom: 0; }

	/* Hero CTAs sit in a row below the hero on mobile */
	.tcg-hero-ctas { padding: 16px 18px 0; }

	.tcg-hero-ctas .wp-block-button__link { width: 100%; }
}

@media (max-width: 781px) {
	/* What-We-Sell tiles: horizontal variant, 110px image left */
	.tcg-tile-h {
		display: grid;
		grid-template-columns: 110px 1fr;
		align-items: stretch;
	}

	.tcg-tile-h .wp-block-image img {
		height: 100%;
		min-height: 110px;
	}

	.tcg-tile-h .tcg-tile-caption {
		border-top: none;
		border-left: 1px solid var(--tcg-ink);
		padding: 12px 14px !important;
	}

	.tcg-tile-h .tcg-tile-caption h3 {
		flex-direction: row;
		font-size: 16px;
	}

	.tcg-tile-caption p { font-size: 13px; }

	.tcg-event-row { padding: 12px 0; }
	.tcg-event-title h3 { font-size: 16px; }

	.tcg-section-head { flex-direction: column; gap: 8px; }

	.tcg-map-frame iframe { height: 260px; }

	.tcg-utility-bar .tcg-utility-inner {
		padding: 8px 18px;
		font-size: 11px;
	}
}

/* Responsive visibility utilities (hero CTA placement per mock) */
@media (min-width: 901px) {
	.tcg-mobile-only { display: none !important; }
}

@media (max-width: 900px) {
	.tcg-desktop-only { display: none !important; }
	.tcg-hero-ctas { display: flex; gap: 8px; padding: 16px 18px 0; }
	.tcg-hero-ctas .wp-block-button { flex: 1; }
}

/* Override Genesis Sample customizer button colors (printed inline after styles) */
.wp-block-button .wp-block-button__link,
.entry-content .wp-block-button__link {
	background-color: var(--tcg-steel) !important;
	color: var(--tcg-white) !important;
	border-radius: 0 !important;
}

.wp-block-button .wp-block-button__link:hover { background-color: var(--tcg-ink) !important; }

.tcg-btn-secondary .wp-block-button__link {
	background-color: transparent !important;
	color: var(--tcg-ink) !important;
	border: 1px solid var(--tcg-ink);
}
.tcg-btn-secondary .wp-block-button__link:hover { background-color: transparent !important; color: var(--tcg-ink) !important; }

.tcg-btn-white .wp-block-button__link {
	background-color: var(--tcg-white) !important;
	color: var(--tcg-ink) !important;
}
.tcg-btn-white .wp-block-button__link:hover { background-color: var(--tcg-hairline) !important; color: var(--tcg-ink) !important; }

.tcg-btn-outline-white .wp-block-button__link {
	background-color: transparent !important;
	color: var(--tcg-white) !important;
	border: 1px solid var(--tcg-white);
}
.tcg-btn-outline-white .wp-block-button__link:hover { background-color: transparent !important; color: var(--tcg-white) !important; }

/* Neutralize Genesis Sample content-width caps + gutters inside TCG sections */
.tcg-hero > .wp-block-group__inner-container,
.tcg-band-ink > .wp-block-group__inner-container,
.tcg-band-steel > .wp-block-group__inner-container {
	max-width: none;
	width: 100%;
}

.tcg-section > .wp-block-group__inner-container {
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.tcg-section p, .tcg-section h1, .tcg-section h2, .tcg-section h3, .tcg-section ul, .tcg-section figure,
.tcg-wrap p, .tcg-wrap h1, .tcg-wrap h2, .tcg-wrap h3, .tcg-wrap ul,
.tcg-hero-overlay p, .tcg-hero-overlay h1,
.tcg-goodtoknow ul, .tcg-goodtoknow h3 {
	padding-left: 0;
	padding-right: 0;
	max-width: none;
}

/* Full-width pages really are full width (Genesis Sample leaves .content at 65%) */
.full-width-content .content {
	width: 100%;
	float: none;
}

/* --- Fix batch: section heads, bullets, gutters, tables, footer --- */

/* Group blocks render an inner container — apply section-head flex there */
.tcg-section-head { margin-bottom: 24px; }

.tcg-section-head > .wp-block-group__inner-container {
	display: flex;
	align-items: baseline;
	gap: 20px;
	flex-wrap: wrap;
}

.tcg-section-head--split > .wp-block-group__inner-container {
	justify-content: space-between;
	align-items: center;
}

.tcg-section-head .tcg-eyebrow,
.tcg-section-head h2 { margin-bottom: 0; }

/* Kill default list markers (Genesis puts them back on li) */
.tcg-feature-list, .tcg-goodtoknow ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.tcg-feature-list li, .tcg-goodtoknow li { list-style: none !important; }

.tcg-feature-list li::marker, .tcg-goodtoknow li::marker { content: ""; }

/* Kill Genesis entry-content paragraph gutters inside designed sections */
.tcg-wrap p, .tcg-section p, .tcg-hero-overlay p,
.tcg-wrap h1, .tcg-wrap h2, .tcg-wrap h3,
.tcg-section h1, .tcg-section h2, .tcg-section h3,
.tcg-section ul, .tcg-wrap ul {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Hours table: no default cell borders */
.tcg-hours table, .tcg-hours tbody { border: none !important; }

.tcg-hours td {
	border-left: none !important;
	border-right: none !important;
	border-top: none !important;
}

/* Footer: Genesis renders .footer-widgets as a sibling of .site-footer */
.footer-widgets {
	background: var(--tcg-ink);
	color: var(--tcg-steel-lt);
	font-size: 14px;
	padding: 48px 24px 32px;
}

.footer-widgets .wrap { max-width: 1140px; margin: 0 auto; }

.footer-widgets h3, .footer-widgets h4 {
	font-family: var(--tcg-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--tcg-steel-lt);
	margin-bottom: 12px;
	padding: 0 !important;
}

.footer-widgets p { color: var(--tcg-steel-lt); font-size: 14px; padding: 0 !important; }

.footer-widgets a { color: var(--tcg-white); text-decoration: none; }
.footer-widgets a:hover { text-decoration: underline; }

.site-footer {
	border-top: 1px solid var(--tcg-hairline-dark);
	padding: 20px 24px;
	text-align: left;
}

.site-footer p {
	font-family: var(--tcg-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--tcg-steel-lt);
	max-width: 1140px;
	margin: 0 auto;
}

/* Genesis caps nested group widths — lift inside designed sections */
.tcg-section .wp-block-group,
.tcg-wrap .wp-block-group,
.tcg-section .wp-block-columns,
.tcg-wrap .wp-block-columns,
.tcg-section .wp-block-table,
.tcg-section .wp-block-image,
.tcg-section .wp-block-buttons,
.tcg-wrap .wp-block-buttons {
	max-width: none;
}

.footer-widgets .widget p { margin-bottom: 8px; }
.footer-widgets .widget { margin-bottom: 0; }

/* Events page list ([tcg_events_list]) — mock rows: date · title/detail · DETAILS */
.tcg-events-list { border-top: 1px solid var(--tcg-ink); }

.tcg-events-list__row {
	display: grid;
	grid-template-columns: 110px 1fr auto;
	gap: 20px;
	align-items: center;
	padding: 20px 0;
	border-bottom: 1px solid var(--tcg-hairline);
}

.tcg-events-list__date {
	font-family: var(--tcg-font-mono);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tcg-ink);
}

.tcg-events-list__title {
	display: block;
	font-weight: 700;
	font-size: 19px;
	letter-spacing: -0.01em;
	color: var(--tcg-ink);
}

.tcg-events-list__detail {
	display: block;
	font-size: 14px;
	color: var(--tcg-muted);
	margin-top: 2px;
}

.tcg-events-list__details {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--tcg-ink);
	color: var(--tcg-ink);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	text-decoration: none;
}

.tcg-events-list__details:hover { text-decoration: underline; }

@media (max-width: 781px) {
	.tcg-events-list__row { grid-template-columns: 70px 1fr auto; gap: 12px; }
	.tcg-events-list__title { font-size: 16px; }
	.tcg-events-list__details { padding: 8px 12px; }
}

/* Button borders survive Genesis resets */
.tcg-btn-secondary .wp-block-button__link { border: 1px solid var(--tcg-ink) !important; }
.tcg-btn-outline-white .wp-block-button__link { border: 1px solid var(--tcg-white) !important; }

/* Tile caption: tag wraps whole, titles never split mid-word */
.tcg-tile-caption h3 { flex-wrap: wrap; }

/* Event rows stay one line on mobile (date · title · time), like the mock */
@media (max-width: 781px) {
	.wp-block-columns.tcg-event-row {
		display: grid !important;
		grid-template-columns: 64px 1fr auto;
		gap: 10px;
		align-items: center;
	}

	.tcg-event-row .wp-block-column { flex-basis: auto !important; margin: 0 !important; }
	.tcg-event-date { font-size: 12px; }
	.tcg-event-time { font-size: 12px; }
}

/* Hero overlay keeps its mock width on desktop (nested-group rule above lifts it) */
@media (min-width: 901px) {
	.wp-block-group.tcg-hero-overlay { max-width: 560px !important; }
}

/* --- Cleanup pass: header alignment, true full-bleed bands, spacing, tile gap --- */

/* 1. Header: wordmark and nav on one centered line */
.site-header .wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding-top: 16px;
	padding-bottom: 16px;
}

.site-header .title-area {
	float: none;
	padding: 0;
	margin: 0;
}

.site-title {
	margin: 0;
	line-height: 1;
}

.site-header .nav-primary {
	float: none;
	padding: 0;
	margin: 0;
}

.genesis-nav-menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.genesis-nav-menu > .menu-item {
	display: flex;
	align-items: center;
	float: none;
}

.genesis-nav-menu a {
	display: inline-flex;
	align-items: center;
	padding: 10px 14px;
	line-height: 1;
}

.genesis-nav-menu .tcg-nav-cta > a {
	padding: 14px 22px;
	margin-left: 10px;
}

/* Mobile: hamburger right of wordmark, menu drops full-width below */
@media (max-width: 959px) {
	.site-header .menu-toggle {
		float: none;
		margin: 0;
	}

	.site-header .nav-primary {
		flex: 0 0 100%;
	}

	.genesis-nav-menu > .menu-item { width: 100%; }

	.genesis-nav-menu a { width: 100%; min-height: 44px; }

	.genesis-nav-menu .tcg-nav-cta > a { margin-left: 0; }
}

/* 2. Full-width bands truly bleed edge-to-edge (site-inner has side padding) */
.page .content .entry-content > .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* 3. Breathing room above buttons that follow tables/content */
.wp-block-table.tcg-hours { margin-bottom: 24px; }

.tcg-section .wp-block-buttons { margin-top: 8px; }

/* 4. Kill the sliver of space above tile images */
.tcg-tile .wp-block-image,
.tcg-tile figure.wp-block-image {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

.tcg-tile .wp-block-image img {
	vertical-align: top;
}

.tcg-tile > .wp-block-image:first-child img,
.tcg-tile .wp-block-image:first-child { margin-top: 0 !important; }

/* 100vw bands include scrollbar width — prevent sideways scroll */
body { overflow-x: hidden; }

/* Genesis clearfix pseudos act as flex items and push the logo/nav inward */
.site-header .wrap::before,
.site-header .wrap::after {
	content: none;
	display: none;
}

/* ===== Cleanup pass 2 ===== */

/* Header wrap must CENTER on wide screens (had max-width but no auto margins,
   so it was left-pinned — invisible at ~1280px, glaring at 1920px+). */
.site-header .wrap,
.site-inner {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Tile: clip any retina subpixel hairline between the 1px frame and the image */
.tcg-tile {
	overflow: hidden;
}

.tcg-tile .wp-block-image,
.tcg-tile figure.wp-block-image {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
	font-size: 0;
}

.tcg-tile .wp-block-image img {
	display: block;
	margin: 0 !important;
	vertical-align: top;
}

/* Hero mobile CTAs: keep both buttons grouped left (was flex:1 → spread apart) */
@media (max-width: 900px) {
	.tcg-hero-ctas {
		display: flex !important;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start !important;
		align-items: stretch;
		gap: 10px;
		padding: 16px 18px 0;
	}

	.tcg-hero-ctas .wp-block-button {
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 !important;
	}

	.tcg-hero-ctas .wp-block-button__link {
		width: auto !important;
	}
}

/* Genesis clearfix ::before/::after on .entry-content renders as a ~28px
   line box on some hosts (a display:table box holding a space, sized to the
   inherited line-height), opening a gap above the first block (the hero).
   These full-width pages have no floats to clear, so neutralize it. */
.page .entry-content::before,
.page .entry-content::after {
	display: none;   /* content:none is ignored by many browsers; display:none reliably removes the clearfix pseudo */
}


/* [tcg_events_list] inside the Home dark band — recolor for ink background,
   drop the per-row DETAILS button (the band has its own "Full Calendar" CTA). */
.tcg-band-ink .tcg-events-list { border-top-color: var(--tcg-hairline-dark); }
.tcg-band-ink .tcg-events-list__row { border-bottom-color: var(--tcg-hairline-dark); }
.tcg-band-ink .tcg-events-list__date { color: var(--tcg-steel-lt); }
.tcg-band-ink .tcg-events-list__title { color: var(--tcg-white); }
.tcg-band-ink .tcg-events-list__detail { color: var(--tcg-steel-lt); }
.tcg-band-ink .tcg-events-list__cta { display: none; }
