/*
Theme Name: VW Festival
Theme URI: https://vwfestivaldoncaster.co.uk
Author: Doncaster VW Festival
Author URI: https://vwfestivaldoncaster.co.uk
Description: Custom theme for Doncaster VW Festival, styled after the event flyer (black, white, teal). Built for the Home and Traders & Suppliers pages.
Version: 1.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vw-festival
*/

:root {
	--teal: #7fd9d4;
	--teal-dark: #1d9e75;
	--black: #111111;
	--white: #ffffff;
	--grey: #f4f4f4;
	--yellow: #f5c445;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--black);
	background: var(--white);
	line-height: 1.6;
	overflow-x: hidden;
}

a { color: var(--black); }
img { max-width: 100%; height: auto; display: block; }

/* Sticky bold header */
.site-header {
	background: var(--black);
	color: var(--white);
	padding: 18px 0;
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 4px solid var(--teal);
}

.site-header .wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.site-title {
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--white);
	text-decoration: none;
	white-space: nowrap;
}
.site-title span { color: var(--teal); }

.main-navigation ul {
	list-style: none;
	display: flex;
	gap: 26px;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

.main-navigation a {
	color: var(--white);
	text-decoration: none;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.85rem;
	letter-spacing: 0.5px;
	position: relative;
	padding-bottom: 4px;
}
.main-navigation a:hover { color: var(--teal); }

/* Scrolling stat ticker, VW-show style */
.vw-ticker {
	background: var(--teal);
	color: var(--black);
	overflow: hidden;
	white-space: nowrap;
	border-bottom: 4px solid var(--black);
}
.vw-ticker__track {
	display: inline-block;
	padding: 10px 0;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 0.85rem;
	animation: vw-scroll 22s linear infinite;
}
.vw-ticker__track span { padding: 0 18px; }
@keyframes vw-scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* Full-bleed hero (targets the Cover block used for the top image) */
.content-wrap > .wp-block-cover:first-child,
.content-wrap > .wp-block-group:first-child > .wp-block-cover {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: 0;
	min-height: 420px;
	border-bottom: 6px solid var(--teal);
}
.wp-block-cover__inner-container h1,
.wp-block-cover__inner-container h2 {
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--white) !important;
}

.content-wrap {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 24px 60px;
}

.content-wrap h1 {
	font-size: 2.6rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 0.3em;
}

.content-wrap h2 {
	font-size: 1.5rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-left: 8px solid var(--teal);
	padding-left: 14px;
	margin-top: 2.2em;
}

.content-wrap ul {
	background: var(--grey);
	padding: 20px 20px 20px 40px;
	border-radius: 4px;
}

/* Angled section divider used between major blocks */
.vw-angle {
	position: relative;
	background: var(--black);
	color: var(--white);
	padding: 50px 24px;
	margin: 48px 0;
	clip-path: polygon(0 24px, 100% 0, 100% calc(100% - 24px), 0 100%);
}
.vw-angle h2 { color: var(--white); border-color: var(--teal); }

/* Price / info tiles */
.price-card {
	background: var(--black);
	color: var(--white);
	border-radius: 10px;
	padding: 22px 18px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.price-card::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 6px;
	background: var(--teal);
}
.price-card .price-amount {
	display: block;
	font-size: 2rem;
	font-weight: 800;
	color: var(--teal);
	margin: 6px 0;
}
.price-card .price-label {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	opacity: 0.85;
}

/* Trader cards */
.trader-card {
	border: 2px solid var(--black) !important;
	border-radius: 10px;
	background: var(--grey);
	transition: transform 0.15s ease;
}
.trader-card:hover { transform: translateY(-4px); }

/* CTA buttons (Gutenberg Buttons block) */
.wp-block-button__link {
	background: var(--teal) !important;
	color: var(--black) !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 999px !important;
	padding: 14px 32px !important;
	border: 3px solid var(--black) !important;
}
.wp-block-button__link:hover {
	background: var(--black) !important;
	color: var(--teal) !important;
}

.site-footer {
	background: var(--black);
	color: var(--white);
	text-align: center;
	padding: 36px 20px;
	margin-top: 50px;
	border-top: 6px solid var(--teal);
}
.site-footer a { color: var(--teal); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }

@media (max-width: 782px) {
	.site-header .wrap { flex-direction: column; gap: 10px; text-align: center; }
	.main-navigation ul { justify-content: center; }
	.content-wrap > .wp-block-cover:first-child,
	.content-wrap > .wp-block-group:first-child > .wp-block-cover { min-height: 300px; }
	.content-wrap h1 { font-size: 1.9rem; }
	.vw-angle { clip-path: none; margin: 32px -24px; border-radius: 0; }
}
