/*
Theme Name: CV Paint Party 2026
Description: A bold, clean theme in the Creative Vibes Paint Party colors (deep navy, orange, teal and gold) with Playfair Display headings and script accents. Includes a "Creative Vibes Event" page template.
Version: 2.0
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: cv-paint-party
*/

:root {
	--cv-navy: #14222B;
	--cv-orange: #E2601A;
	--cv-teal: #1A9AA6;
	--cv-teal-dark: #136F78;
	--cv-gold: #F2A33A;
	--cv-cream: #FBF6EE;
	--cv-text: #3A4A52;
	--cv-muted: #5A6870;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #FFFFFF; color: var(--cv-navy); font-family: 'DM Sans', system-ui, sans-serif; font-size: 18px; line-height: 1.7; }
img { max-width: 100%; height: auto; }
a { color: var(--cv-teal-dark); }
a:hover { color: #0D5158; }

h1, h2, h3, h4 { font-family: 'Playfair Display', Georgia, serif; font-weight: 600; line-height: 1.15; color: var(--cv-navy); }
h1 { font-size: clamp(40px, 6vw, 72px); }
h2 { font-size: clamp(30px, 4vw, 44px); }
h3 { font-size: 28px; }

/* Event template keeps its own link colors */
body.cv-event { background: var(--cv-navy); }
body.cv-event a { color: inherit; }

.cv-stripe { display: grid; grid-template-columns: repeat(3, 1fr); height: 10px; }
.cv-stripe span:nth-child(1) { background: var(--cv-orange); }
.cv-stripe span:nth-child(2) { background: var(--cv-teal); }
.cv-stripe span:nth-child(3) { background: var(--cv-gold); }

.cv-header { background: var(--cv-navy); color: #FFFFFF; }
.cv-header__inner { max-width: 1120px; margin: 0 auto; padding: 24px; display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; }
.cv-logo { font-family: 'Yellowtail', cursive; font-size: 36px; line-height: 1; color: var(--cv-gold); text-decoration: none; }
.cv-logo:hover { color: #FFC46B; }
.cv-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 28px; }
.cv-nav a { color: #FFFFFF; text-decoration: none; font-weight: 500; font-size: 16px; }
.cv-nav a:hover { color: var(--cv-gold); }

.cv-main { max-width: 820px; margin: 0 auto; padding: 96px 24px; }
.cv-entry + .cv-entry { margin-top: 96px; padding-top: 96px; border-top: 1px solid #E6E8E9; }
.cv-entry__title { margin: 0 0 24px; }
.cv-entry__title a { color: inherit; text-decoration: none; }
.cv-entry__content { color: var(--cv-text); }
.cv-entry__content .wp-block-button__link,
.cv-button { display: inline-block; background: var(--cv-gold); color: var(--cv-navy); font-weight: 700; text-decoration: none; padding: 16px 36px; border-radius: 999px; }

.cv-footer { background: var(--cv-navy); color: #DCE3E6; }
.cv-footer__inner { max-width: 1120px; margin: 0 auto; padding: 56px 24px; display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: center; font-size: 15px; }
