/*
Theme Name: Pirate Rogue CA
Theme URI: https://capirates.org
Description: California Pirate Party - The Party of Digital Rights. Dark hacker aesthetic child theme.
Author: California Pirate Party
Author URI: https://capirates.org
Template: pirate-rogue
Version: 1.0.2
License: GNU General Public License v2 or later
Text Domain: pirate-rogue-ca
*/

/* ============================================
   CSS Variables
   ============================================ */

:root {
    --red: #C62828;
    --red-glow: rgba(198, 40, 40, 0.4);
    --red-light: #EF5350;
    --black: #0a0a0a;
    --surface: #111111;
    --surface-2: #1a1a1a;
    --surface-3: #222222;
    --surface-4: #2a2a2a;
    --white: #ffffff;
    --gray: #888888;
    --gray-light: #cccccc;
    --green: #4caf50;
    --yellow: #febc2e;
}

/* ============================================
   Global Reset & Body
   ============================================ */

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Space Grotesk', -apple-system, sans-serif; background: var(--black); color: var(--white); line-height: 1.6; }

/* ============================================
   Announcement Bar
   ============================================ */

.announcement { background: var(--red); text-align: center; padding: 10px 2rem; font-size: 0.9rem; font-weight: 600; }
.announcement a { color: var(--white); text-decoration: underline; }

/* ============================================
   Nav (sticky, dark, glassmorphism)
   ============================================ */

.capirates-nav { position: sticky; top: 0; z-index: 100; background: rgba(10, 10, 10, 0.92); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(255,255,255,0.06); padding: 0 2rem; }
.nav-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 64px; }
.nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--white); font-weight: 700; font-size: 1rem; font-family: 'JetBrains Mono', monospace; }
.nav-logo img { height: 36px; }
.nav-links { display: flex; gap: 1.5rem; list-style: none; }
.nav-links a { color: var(--gray); text-decoration: none; font-size: 0.9rem; font-weight: 500; transition: color 0.2s; font-family: 'JetBrains Mono', monospace; }
.nav-links a:hover { color: var(--white); }
.nav-right { display: flex; gap: 10px; }
.btn-red { padding: 8px 20px; background: var(--red); color: var(--white); border: none; border-radius: 4px; text-decoration: none; font-weight: 700; font-size: 0.85rem; transition: all 0.2s; font-family: 'JetBrains Mono', monospace; cursor: pointer; }
.btn-red:hover { box-shadow: 0 0 20px var(--red-glow); }
.btn-wire { padding: 8px 20px; border: 1px solid rgba(255,255,255,0.2); color: var(--white); border-radius: 4px; text-decoration: none; font-weight: 500; font-size: 0.85rem; transition: all 0.2s; font-family: 'JetBrains Mono', monospace; }
.btn-wire:hover { border-color: var(--white); }

/* ============================================
   Mobile Nav Toggle
   ============================================ */

.mobile-nav-toggle { display: none; background: none; border: none; color: var(--white); font-size: 1.5rem; cursor: pointer; font-family: 'JetBrains Mono', monospace; }

/* ============================================
   Hero Section
   ============================================ */

.hero { min-height: 100vh; display: flex; align-items: center; padding: 80px 2rem; position: relative; }
.hero-inner { max-width: 1200px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1.2fr 1fr; gap: 4rem; align-items: center; }
.hero-badge { display: inline-block; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; color: var(--red-light); border: 1px solid rgba(198,40,40,0.4); padding: 6px 14px; border-radius: 20px; margin-bottom: 1.5rem; }
.hero-text h1 { font-size: 3.8rem; font-weight: 700; line-height: 1.05; margin-bottom: 1.5rem; letter-spacing: -0.03em; }
.hero-text h1 .accent { color: var(--red); }
.hero-text h1 .cursor { display: inline-block; width: 3px; height: 0.9em; background: var(--red); margin-left: 4px; animation: blink 1s step-end infinite; vertical-align: text-bottom; }
@keyframes blink { 50% { opacity: 0; } }
.hero-text p { font-size: 1.15rem; color: var(--gray-light); margin-bottom: 2rem; max-width: 500px; }
.hero-signup { margin-bottom: 1.5rem; }
.hero-signup-form { display: flex; gap: 8px; max-width: 460px; }
.hero-signup-form input { flex: 1; padding: 14px 16px; background: var(--surface-2); border: 1px solid rgba(255,255,255,0.12); border-radius: 4px; color: var(--white); font-family: 'JetBrains Mono', monospace; font-size: 0.9rem; outline: none; transition: border-color 0.2s; }
.hero-signup-form input:focus { border-color: var(--red); }
.hero-signup-form input::placeholder { color: var(--gray); }
.hero-signup-form button { padding: 14px 24px; background: var(--red); color: var(--white); border: none; border-radius: 4px; font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: 0.9rem; cursor: pointer; transition: all 0.2s; white-space: nowrap; }
.hero-signup-form button:hover { box-shadow: 0 0 20px var(--red-glow); }
.hero-signup-note { font-size: 0.75rem; color: var(--gray); margin-top: 8px; font-family: 'JetBrains Mono', monospace; }
.hero-actions { display: flex; gap: 12px; }
.hero-actions .btn-red { padding: 14px 32px; font-size: 1rem; }
.hero-actions .btn-wire { padding: 14px 32px; font-size: 1rem; }

/* ============================================
   Terminal Card
   ============================================ */

.terminal { background: var(--surface); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; overflow: hidden; }
.terminal-bar { background: var(--surface-2); padding: 10px 16px; display: flex; gap: 8px; align-items: center; }
.terminal-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--surface-3); }
.terminal-dot.red { background: #ff5f57; }
.terminal-dot.yellow { background: #febc2e; }
.terminal-dot.green { background: #28c840; }
.terminal-title { margin-left: 8px; font-size: 0.8rem; color: var(--gray); font-family: 'JetBrains Mono', monospace; }
.terminal-body { padding: 1.5rem; font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; line-height: 1.8; }
.terminal-body .prompt { color: var(--red); }
.terminal-body .cmd { color: var(--white); }
.terminal-body .output { color: var(--green); }
.terminal-body .comment { color: var(--gray); }

/* ============================================
   News Section
   ============================================ */

.news-section { padding: 100px 2rem; border-top: 1px solid rgba(255,255,255,0.06); }
.news-inner { max-width: 1200px; margin: 0 auto; }
.news-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 2.5rem; }
.news-header h2 { font-size: 2.2rem; }
.news-header-links { display: flex; gap: 2rem; align-items: center; }
.news-header a { color: var(--gray); text-decoration: none; font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; }
.news-header a:hover { color: var(--white); }
.btn-substack { background: var(--red); color: var(--white) !important; padding: 0.4rem 1rem; border-radius: 2px; font-size: 0.8rem !important; transition: background 0.2s; }
.btn-substack:hover { background: var(--red-light); color: var(--white) !important; }
.news-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 2px; }
.news-card { background: var(--surface-2); padding: 2rem; transition: background 0.2s; }
.news-card:hover { background: var(--surface-3); }
.news-card-date { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--red); margin-bottom: 0.75rem; }
.news-card h3 { font-size: 1.15rem; margin-bottom: 0.75rem; line-height: 1.3; }
.news-card h3 a { color: var(--white); text-decoration: none; }
.news-card h3 a:hover { color: var(--red-light); }
.news-card p { color: var(--gray); font-size: 0.9rem; line-height: 1.5; }

/* ============================================
   Manifesto / Platform
   ============================================ */

.manifesto { padding: 100px 2rem; border-top: 1px solid rgba(255,255,255,0.06); background: var(--surface); }
.manifesto-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 2fr; gap: 4rem; }
.manifesto-left { position: sticky; top: 100px; align-self: start; }
.manifesto-label { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: var(--red); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1rem; }
.manifesto-left h2 { font-size: 2.2rem; margin-bottom: 1rem; }
.manifesto-left p { color: var(--gray-light); font-size: 0.95rem; margin-bottom: 1.5rem; }
.manifesto-points { list-style: none; }
.manifesto-points li { padding: 2rem 0; border-bottom: 1px solid rgba(255,255,255,0.06); display: grid; grid-template-columns: 40px 1fr; gap: 1.5rem; align-items: start; }
.point-num { font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; color: var(--red); font-weight: 700; }
.manifesto-points h3 { font-size: 1.3rem; margin-bottom: 0.5rem; }
.manifesto-points p { color: var(--gray-light); font-size: 0.95rem; }

/* ============================================
   Testimonials
   ============================================ */

.testimonials { padding: 100px 2rem; border-top: 1px solid rgba(255,255,255,0.06); }
.testimonials-inner { max-width: 1200px; margin: 0 auto; }
.testimonials-header { margin-bottom: 3rem; }
.testimonials-header .manifesto-label { margin-bottom: 0.5rem; }
.testimonials-header h2 { font-size: 2.2rem; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.testimonial-card { background: var(--surface-2); border: 1px solid rgba(255,255,255,0.06); border-radius: 8px; padding: 2rem; position: relative; }
.testimonial-card::before { content: '\201C'; position: absolute; top: 16px; left: 20px; font-size: 4rem; color: rgba(198,40,40,0.3); font-family: Georgia, serif; line-height: 1; }
.testimonial-quote { font-size: 0.95rem; color: var(--gray-light); margin-bottom: 1.5rem; padding-top: 1rem; font-style: italic; line-height: 1.6; }
.testimonial-author { display: flex; align-items: center; gap: 12px; }
.testimonial-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--surface-3); display: flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 700; color: var(--red); font-family: 'JetBrains Mono', monospace; }
.testimonial-name { font-size: 0.9rem; font-weight: 600; }
.testimonial-role { font-size: 0.75rem; color: var(--gray); font-family: 'JetBrains Mono', monospace; }

/* ============================================
   Action Grid
   ============================================ */

.action-section { padding: 100px 2rem; background: var(--surface); border-top: 1px solid rgba(255,255,255,0.06); }
.action-inner { max-width: 1200px; margin: 0 auto; }
.action-header { margin-bottom: 3rem; }
.action-header h2 { font-size: 2.5rem; margin-bottom: 0.5rem; }
.action-header p { color: var(--gray); font-size: 1rem; }
.action-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
.action-card { background: var(--surface-2); padding: 2.5rem; transition: all 0.2s; position: relative; overflow: hidden; }
.action-card:hover { background: var(--surface-3); }
.action-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--red); transform: scaleX(0); transition: transform 0.3s; }
.action-card:hover::before { transform: scaleX(1); }
.action-card .action-num { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--red); margin-bottom: 1rem; }
.action-card h3 { font-size: 1.2rem; margin-bottom: 0.75rem; }
.action-card p { color: var(--gray); font-size: 0.9rem; margin-bottom: 1.5rem; }
.action-card a { color: var(--white); text-decoration: none; font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; font-weight: 600; }
.action-card a:hover { color: var(--red); }

/* ============================================
   Donate Strip
   ============================================ */

.donate-strip { padding: 80px 2rem; border-top: 1px solid rgba(255,255,255,0.06); text-align: center; }
.donate-strip .manifesto-label { display: block; text-align: center; margin-bottom: 0.75rem; }
.donate-strip h2 { font-size: 2rem; margin-bottom: 0.75rem; }
.donate-strip > p { color: var(--gray); margin-bottom: 2rem; max-width: 500px; margin-left: auto; margin-right: auto; }
.donate-row { display: inline-flex; gap: 2px; background: var(--surface); border-radius: 6px; overflow: hidden; margin-bottom: 1.5rem; }
.donate-row a { padding: 16px 28px; background: var(--surface-2); color: var(--white); text-decoration: none; font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: 1rem; transition: all 0.2s; }
.donate-row a:hover { background: var(--red); }
.donate-note { font-size: 0.8rem; color: var(--gray); font-family: 'JetBrains Mono', monospace; }

/* ============================================
   Newsletter Section
   ============================================ */

.newsletter-section { padding: 80px 2rem; background: var(--surface); border-top: 1px solid rgba(255,255,255,0.06); }
.newsletter-inner { max-width: 700px; margin: 0 auto; text-align: center; }
.newsletter-inner h2 { font-size: 2rem; margin-bottom: 0.75rem; }
.newsletter-inner > p { color: var(--gray-light); margin-bottom: 2rem; font-size: 1rem; }
.newsletter-form { display: flex; gap: 8px; max-width: 500px; margin: 0 auto; }
.newsletter-form input { flex: 1; padding: 14px 16px; background: var(--surface-2); border: 1px solid rgba(255,255,255,0.12); border-radius: 4px; color: var(--white); font-family: 'JetBrains Mono', monospace; font-size: 0.9rem; outline: none; }
.newsletter-form input:focus { border-color: var(--red); }
.newsletter-form input::placeholder { color: var(--gray); }
.newsletter-form button { padding: 14px 24px; background: var(--red); color: var(--white); border: none; border-radius: 4px; font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: 0.9rem; cursor: pointer; transition: all 0.2s; }
.newsletter-form button:hover { box-shadow: 0 0 20px var(--red-glow); }
.newsletter-note { font-size: 0.75rem; color: var(--gray); margin-top: 10px; font-family: 'JetBrains Mono', monospace; }

/* ============================================
   Footer
   ============================================ */

.capirates-footer { border-top: 1px solid rgba(255,255,255,0.06); padding: 60px 2rem 30px; background: var(--black); }
.footer-inner { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-start; }
.footer-left img { height: 40px; margin-bottom: 1rem; }
.footer-left p { color: var(--gray); font-size: 0.85rem; max-width: 300px; }
.footer-links { display: flex; gap: 3rem; }
.footer-col h4 { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gray); margin-bottom: 1rem; }
.footer-col a { display: block; color: var(--gray-light); text-decoration: none; font-size: 0.9rem; padding: 3px 0; transition: color 0.2s; }
.footer-col a:hover { color: var(--white); }
.footer-bottom { max-width: 1200px; margin: 2rem auto 0; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.06); text-align: center; color: var(--gray); font-size: 0.8rem; font-family: 'JetBrains Mono', monospace; }

/* ============================================
   Parent Theme Overrides
   ============================================ */

/* Hide parent theme elements we're replacing */
.container-all > header#masthead { display: none !important; }
.container-all > footer#colophon { display: none !important; }
.overlay-wrap { display: none !important; }
#printhead { display: none !important; }
.container-all > .sidebar-newsletter { display: none !important; }
.sidebar-instagram { display: none !important; }

/* Reset parent body styles — parent sets body { color: #1a1a1a; font-family: DejaWeb } */
body.pirate-rogue-ca,
body.pirate-rogue-ca .container-all,
body.pirate-rogue-ca .content-wrap,
body.pirate-rogue-ca #blog-wrap,
body.pirate-rogue-ca #primary { background: var(--black) !important; color: var(--white) !important; font-family: 'Space Grotesk', -apple-system, sans-serif !important; }

/* ============================================
   Inner Pages — Dark Theme
   ============================================ */

/* Layout */
.container-all main { background: var(--black) !important; color: var(--white) !important; }
.container-all main .site-content { max-width: 900px; margin: 0 auto; padding: 60px 2rem 80px; }
.container-all main .site-content.cf::after { display: none; }

/* Page header */
.container-all main .entry-header { margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(255,255,255,0.08) !important; }
.container-all main h1.entry-title,
.page h1.entry-title,
.single-post .entry-header h1.entry-title { font-family: 'Space Grotesk', -apple-system, sans-serif !important; font-size: 2.8rem !important; font-weight: 700 !important; letter-spacing: -0.02em !important; color: var(--white) !important; line-height: 1.1 !important; }

/* Content typography — override parent's DejaWeb + #1a1a1a everywhere */
body.pirate-rogue-ca .entry-content,
body.pirate-rogue-ca .entry-content p,
body.pirate-rogue-ca .entry-content blockquote p,
body.pirate-rogue-ca .entry-content dl,
body.pirate-rogue-ca .entry-content ol,
body.pirate-rogue-ca .entry-content ul,
body.pirate-rogue-ca .entry-content table,
body.pirate-rogue-ca .entry-summary { font-family: 'Space Grotesk', -apple-system, sans-serif !important; font-size: 1.05rem !important; line-height: 1.75 !important; color: var(--gray-light) !important; }

body.pirate-rogue-ca .entry-content h1,
body.pirate-rogue-ca .site-content h1,
body.pirate-rogue-ca #section-fullwidth h1,
body.pirate-rogue-ca .entry-content h1.wp-block-heading { font-size: 2.4rem !important; color: var(--white) !important; margin: 2.5rem 0 1rem !important; padding: 0 !important; font-weight: 700 !important; letter-spacing: -0.02em; font-family: 'Space Grotesk', -apple-system, sans-serif !important; background: none !important; }

body.pirate-rogue-ca .entry-content h2,
body.pirate-rogue-ca .site-content h2,
body.pirate-rogue-ca #section-fullwidth h2,
body.pirate-rogue-ca .entry-content h2.wp-block-heading { font-size: 1.8rem !important; color: var(--white) !important; margin: 2rem 0 0.75rem !important; padding: 0 !important; font-weight: 700 !important; letter-spacing: -0.01em; font-family: 'Space Grotesk', -apple-system, sans-serif !important; background: none !important; }

body.pirate-rogue-ca .entry-content h3,
body.pirate-rogue-ca .site-content h3,
body.pirate-rogue-ca .entry-content h3.wp-block-heading { font-size: 1.4rem !important; color: var(--white) !important; margin: 1.5rem 0 0.5rem !important; padding: 0 !important; font-weight: 600 !important; font-family: 'Space Grotesk', -apple-system, sans-serif !important; background: none !important; }

body.pirate-rogue-ca .entry-content h4,
body.pirate-rogue-ca .site-content h4,
body.pirate-rogue-ca .entry-content h4.wp-block-heading { font-size: 1.15rem !important; color: var(--white) !important; margin: 1.25rem 0 0.5rem !important; padding: 0 !important; font-weight: 600 !important; font-family: 'Space Grotesk', -apple-system, sans-serif !important; background: none !important; }

body.pirate-rogue-ca .entry-content h5,
body.pirate-rogue-ca .site-content h5,
body.pirate-rogue-ca .entry-content h5.wp-block-heading,
body.pirate-rogue-ca .entry-content h6,
body.pirate-rogue-ca .site-content h6,
body.pirate-rogue-ca .entry-content h6.wp-block-heading { font-size: 0.85rem !important; color: var(--gray-light) !important; margin: 1rem 0 0.5rem !important; padding: 0 !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: 0.05em; font-family: 'JetBrains Mono', monospace !important; background: none !important; }

body.pirate-rogue-ca .entry-content p { margin-bottom: 1.25rem; color: var(--gray-light) !important; }
body.pirate-rogue-ca .entry-content a { color: var(--red-light) !important; text-decoration: underline; text-decoration-color: rgba(239, 83, 80, 0.3); text-underline-offset: 3px; transition: text-decoration-color 0.2s; }
body.pirate-rogue-ca .entry-content a:hover { text-decoration-color: var(--red-light); color: var(--white) !important; }
body.pirate-rogue-ca .entry-content strong { color: var(--white) !important; font-weight: 600; }
body.pirate-rogue-ca .entry-content em { font-style: italic; }

/* Kill parent theme FontAwesome list bullets (orange chevron-circle-right \f138) */
body.pirate-rogue-ca .entry-content ul li:before,
body.pirate-rogue-ca .entry-content ul li ul li:before,
body.pirate-rogue-ca .entry-content ul.wp-block-list li:before { content: none !important; display: none !important; font-size: 0 !important; width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }

/* Restore proper list styling */
body.pirate-rogue-ca .entry-content ul,
body.pirate-rogue-ca .entry-content ul.wp-block-list { list-style-type: disc !important; padding-left: 1.5rem !important; margin-left: 0 !important; }
body.pirate-rogue-ca .entry-content ol { list-style-type: decimal !important; padding-left: 1.5rem !important; margin-left: 0 !important; }
body.pirate-rogue-ca .entry-content ul,
body.pirate-rogue-ca .entry-content ol { margin: 1rem 0 1.5rem !important; color: var(--gray-light) !important; }
body.pirate-rogue-ca .entry-content li { margin-bottom: 0.4rem; padding-left: 0.25rem; color: var(--gray-light) !important; }
body.pirate-rogue-ca .entry-content ul li::marker { color: var(--red) !important; }
body.pirate-rogue-ca .entry-content ol li::marker { color: var(--red) !important; font-family: 'JetBrains Mono', monospace; font-weight: 700; }

/* Override parent theme orange (#f80) everywhere → red */
#desktop-navigation ul.menu li.current-menu-ancestor a,
#desktop-navigation ul.menu li.focus a,
#desktop-navigation ul.menu li:focus a,
#desktop-navigation ul.menu li:hover a { border-bottom-color: var(--red) !important; color: var(--white) !important; }
#desktop-navigation ul.menu li.current-menu-ancestor li a,
#desktop-navigation ul.menu li.focus li a,
#desktop-navigation ul.menu li:focus li a,
#desktop-navigation ul.menu li:hover li a { border-bottom-color: var(--red) !important; }
.pagination .nav-links a.page-numbers:focus,
.pagination .nav-links a.page-numbers:hover,
.pagination .nav-links span.page-numbers:focus,
.pagination .nav-links span.page-numbers:hover { background-color: var(--red) !important; }
.pagination .nav-links a.page-numbers.next,
.pagination .nav-links a.page-numbers.prev,
.pagination .nav-links span.page-numbers.next,
.pagination .nav-links span.page-numbers.prev { background: var(--red) !important; }
.pagination .nav-links a.next.page-numbers:focus,
.pagination .nav-links a.next.page-numbers:hover,
.pagination .nav-links a.prev.page-numbers:focus,
.pagination .nav-links a.prev.page-numbers:hover,
.pagination .nav-links span.next.page-numbers:focus,
.pagination .nav-links span.next.page-numbers:hover,
.pagination .nav-links span.prev.page-numbers:focus,
.pagination .nav-links span.prev.page-numbers:hover { background-color: var(--red) !important; }
#colophon a { color: var(--red) !important; }
#colophon #site-info a:focus,
#colophon #site-info a:hover,
#colophon .footer-menu ul a:focus,
#colophon .footer-menu ul a:hover { color: var(--red) !important; }
.entry-content .four-columns-one.maincolor a,
.entry-content .four-columns-three.maincolor a,
.entry-content .four-columns-two.maincolor a,
.entry-content .three-columns-one.maincolor a,
.entry-content .three-columns-two.maincolor a,
.entry-content .two-columns-one.maincolor a { background: var(--red) !important; }
#section-fullwidth.maincolor a,
#section-fullwidth.withbackground.secondcolor { background: var(--red) !important; }
.desktop-search input[type=submit]:hover,
.post-password-form input[type=submit]:hover,
.widget_search input[type=submit]:hover { background: var(--red) !important; }
input#submit,
input[type=button],
input[type=submit] { border-color: var(--red) !important; background-color: var(--red) !important; }
input#submit:focus, input#submit:hover,
input[type=button]:focus, input[type=button]:hover,
input[type=submit]:focus, input[type=submit]:hover { border-color: var(--red) !important; background-color: var(--red) !important; }
#commentform input#submit:focus,
#commentform input#submit:hover { background-color: var(--red) !important; border-color: var(--red) !important; }
.social-nav ul li a:focus,
.social-nav ul li a:hover { background-color: var(--red) !important; border-color: var(--red) !important; }
.socialmedia-maincolor .social-nav ul li :focus,
.socialmedia-maincolor .social-nav ul li :hover,
.socialmedia-maincolor .social-nav ul li a:focus,
.socialmedia-maincolor .social-nav ul li a:hover { background: var(--red) !important; border-color: var(--red) !important; }
#footer-social.social-nav li { color: var(--red) !important; }
#comments .disclaimer a,
.maincolor-box a { color: var(--red) !important; }
#comments .invertbox.disclaimer,
.maincolor-box.invertbox { background: var(--red) !important; }
a.standard-btn.maincolor-btn:focus,
a.standard-btn.maincolor-btn:hover,
a.standard-btn.secondcolor-btn { background: var(--red) !important; }
.footer-feature-btn { border-color: var(--red) !important; background: var(--red) !important; }
.footer-feature-btn:focus,
.footer-feature-btn:hover { border-color: var(--red) !important; background: var(--red) !important; }
.accordion .accordion-group .accordion-heading .accordion-toggle { border-left-color: var(--red) !important; }
.accordion .accordion-group .accordion-heading .accordion-toggle.is-open { border-left-color: var(--red) !important; background: var(--red) !important; }
.accordionbox header h2 { color: var(--red) !important; }
.socialmedia-maincolor .search-open:focus,
.socialmedia-maincolor .search-open:hover { color: var(--red) !important; }
.blog .entry-cats a:nth-child(n+2):before,
.blogroll .entry-cats a:nth-child(n+2):before { background: var(--red) !important; }
#footer-search .search-field { background: var(--red) !important; }
.desktop-search input[type=submit] { background: var(--red) !important; border-color: var(--red) !important; }
.desktop-search input[type=submit]:focus,
.desktop-search input[type=submit]:hover { background: var(--red) !important; border-color: var(--red) !important; }

/* Blockquotes */
body.pirate-rogue-ca .entry-content blockquote { border-left: 3px solid var(--red) !important; margin: 1.5rem 0 !important; padding: 1rem 1.5rem !important; background: var(--surface) !important; border-radius: 0 4px 4px 0; color: var(--gray-light) !important; font-style: italic; }
body.pirate-rogue-ca .entry-content blockquote p { color: var(--gray-light) !important; }

/* Code */
.container-all main .entry-content code { font-family: 'JetBrains Mono', monospace; font-size: 0.85em; background: var(--surface-2); padding: 2px 6px; border-radius: 3px; color: var(--green); }
.container-all main .entry-content pre { background: var(--surface); border: 1px solid rgba(255,255,255,0.08); border-radius: 6px; padding: 1.5rem; margin: 1.5rem 0; overflow-x: auto; }
.container-all main .entry-content pre code { background: none; padding: 0; font-size: 0.85rem; color: var(--gray-light); }

/* Tables */
.container-all main .entry-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
.container-all main .entry-content th { background: var(--surface-2); color: var(--white); font-weight: 600; text-align: left; padding: 12px 16px; border-bottom: 2px solid var(--red); font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; }
.container-all main .entry-content td { padding: 10px 16px; border-bottom: 1px solid rgba(255,255,255,0.06); color: var(--gray-light); }
.container-all main .entry-content tr:hover td { background: var(--surface); }

/* Images */
.container-all main .entry-content img { max-width: 100%; height: auto; border-radius: 6px; margin: 1rem 0; }
.container-all main .entry-content figure { margin: 1.5rem 0; }
.container-all main .entry-content figcaption { font-size: 0.8rem; color: var(--gray); text-align: center; margin-top: 0.5rem; font-family: 'JetBrains Mono', monospace; }

/* Horizontal rules */
.container-all main .entry-content hr { border: none; border-top: 1px solid rgba(255,255,255,0.08); margin: 2rem 0; }

/* Hide parent-theme cruft on inner pages */
.container-all main .entry-meta { color: var(--gray); font-size: 0.8rem; font-family: 'JetBrains Mono', monospace; margin-bottom: 1rem; }
.container-all main .entry-meta a { color: var(--gray); text-decoration: none; }
.container-all main .entry-meta a:hover { color: var(--red-light); }
.container-all main .nav-links-post { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.08); }
.container-all main .nav-links-post a { color: var(--red-light); text-decoration: none; }
.container-all main .comments-area { margin-top: 3rem; }

/* ============================================
   CiviCRM Dark Theme — Comprehensive Overrides
   ============================================ */

/* --- Base container & typography --- */
.crm-container,
.container-all main .crm-container { color: var(--gray-light) !important; font-family: 'Space Grotesk', -apple-system, sans-serif !important; background: transparent !important; }
.crm-container *,
.container-all main .crm-container * { border-color: rgba(255,255,255,0.08); }
.crm-container a { color: var(--red-light) !important; }
.crm-container a:hover { color: var(--white) !important; }
.crm-container h1, .crm-container h2, .crm-container h3, .crm-container h4,
.crm-container .crm-title { color: var(--white) !important; font-family: 'Space Grotesk', -apple-system, sans-serif !important; }
.crm-container p, .crm-container span, .crm-container div { color: var(--gray-light); }
.crm-container .crm-section { margin-bottom: 1rem; }

/* --- Form blocks & panels --- */
.crm-container .crm-form-block,
.crm-container .crm-contribution-main-form-block,
.crm-container .crm-event-info-form-block,
.crm-container .crm-profile-name-volunteer_signup,
.crm-container .crm-block { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 8px !important; padding: 2rem !important; }
.crm-container fieldset { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.1) !important; border-radius: 6px !important; margin: 1rem 0 !important; padding: 1.5rem !important; }
.crm-container fieldset legend { color: var(--white) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.85rem !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; padding: 0 8px !important; }

/* --- Labels & help text --- */
.crm-container label,
.crm-container .label { color: var(--white) !important; font-weight: 500 !important; font-size: 0.95rem !important; }
.crm-container .crm-marker { color: var(--red) !important; }
.crm-container .description,
.crm-container .help,
.crm-container .crm-section .description { color: var(--gray) !important; font-size: 0.85rem !important; }
.crm-container .content { color: var(--gray-light) !important; }

/* --- Text inputs, selects, textareas --- */
.crm-container input[type="text"],
.crm-container input[type="email"],
.crm-container input[type="number"],
.crm-container input[type="tel"],
.crm-container input[type="password"],
.crm-container input[type="url"],
.crm-container input[type="date"],
.crm-container input[type="datetime-local"],
.crm-container select,
.crm-container textarea { background: var(--surface-2) !important; border: 1px solid rgba(255,255,255,0.12) !important; color: var(--white) !important; border-radius: 4px !important; padding: 10px 12px !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.9rem !important; transition: border-color 0.2s !important; }
.crm-container input:focus,
.crm-container select:focus,
.crm-container textarea:focus { border-color: var(--red) !important; outline: none !important; box-shadow: 0 0 0 2px rgba(198,40,40,0.2) !important; }
.crm-container input::placeholder,
.crm-container textarea::placeholder { color: var(--gray) !important; }
.crm-container select option { background: var(--surface-2) !important; color: var(--white) !important; }

/* --- Radio buttons & checkboxes --- */
.crm-container input[type="radio"],
.crm-container input[type="checkbox"] { accent-color: var(--red) !important; width: 18px !important; height: 18px !important; cursor: pointer !important; }
.crm-container .crm-form-radio,
.crm-container .crm-form-checkbox { display: inline-flex !important; align-items: center !important; gap: 8px !important; color: var(--gray-light) !important; cursor: pointer !important; }

/* --- Buttons --- */
.crm-container .crm-button,
.crm-container input[type="submit"],
.crm-container .crm-form-submit,
.crm-container .crm-submit-buttons input,
.crm-container a.button,
.crm-container .action-link { background: var(--red) !important; color: var(--white) !important; border: none !important; border-radius: 4px !important; padding: 12px 24px !important; font-family: 'JetBrains Mono', monospace !important; font-weight: 700 !important; font-size: 0.9rem !important; cursor: pointer !important; transition: all 0.2s !important; text-decoration: none !important; display: inline-block !important; }
.crm-container .crm-button:hover,
.crm-container input[type="submit"]:hover,
.crm-container .crm-form-submit:hover,
.crm-container a.button:hover { box-shadow: 0 0 20px var(--red-glow) !important; }
.crm-container .crm-button-type-back,
.crm-container .crm-button-type-cancel { background: var(--surface-3) !important; border: 1px solid rgba(255,255,255,0.15) !important; }
.crm-container .crm-button-type-back:hover,
.crm-container .crm-button-type-cancel:hover { background: var(--surface-4) !important; box-shadow: none !important; }

/* --- Price sets & amounts --- */
.crm-container .price-set-row { padding: 10px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; }
.crm-container .price-set-row:last-child { border-bottom: none !important; }
.crm-container .crm-price-amount-label,
.crm-container .crm-price-amount-amount { color: var(--white) !important; font-weight: 500 !important; }
.crm-container .crm-price-amount-amount { font-family: 'JetBrains Mono', monospace !important; color: var(--red-light) !important; }
.crm-container .other_amount-content label { color: var(--white) !important; }
.crm-container .other_amount-content input { max-width: 120px !important; }

/* --- Tables (event info, receipts, etc.) --- */
.crm-container table { width: 100% !important; border-collapse: collapse !important; }
.crm-container table th { background: var(--surface-2) !important; color: var(--white) !important; font-weight: 600 !important; text-align: left !important; padding: 12px 16px !important; border-bottom: 2px solid var(--red) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.85rem !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; }
.crm-container table td { padding: 10px 16px !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; color: var(--gray-light) !important; }
.crm-container table tr:hover td { background: rgba(255,255,255,0.02) !important; }
.crm-container table.display,
.crm-container table.selector,
.crm-container table.row-highlight { background: var(--surface) !important; }
.crm-container table.form-layout,
.crm-container table.form-layout-compressed { border: none !important; }
.crm-container table.form-layout td,
.crm-container table.form-layout-compressed td { border: none !important; padding: 8px 12px !important; }

/* --- Event info page --- */
.crm-container .crm-event-info-form-block .crm-event-info-tab { color: var(--gray-light) !important; }
.crm-container .crm-event-info-form-block .crm-event-info-tab td { color: var(--gray-light) !important; }
.crm-container .crm-event-info-form-block .event-info { background: var(--surface) !important; }
.crm-container .crm-event-info-form-block .event_fees-group,
.crm-container .crm-event-info-form-block .event_description { color: var(--gray-light) !important; }

/* --- Event registration --- */
.crm-container .crm-event-register-form-block { background: var(--surface) !important; border-radius: 8px !important; padding: 2rem !important; }
.crm-container .crm-participant-list { background: var(--surface) !important; }

/* --- Profile forms (volunteer signup, etc.) --- */
.crm-container .crm-profile-name-volunteer_signup .crm-section,
.crm-container .crm-profile .crm-section { margin-bottom: 1.25rem !important; padding-bottom: 1rem !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; }
.crm-container .crm-profile .crm-section:last-of-type { border-bottom: none !important; }

/* --- Thank-you pages --- */
.crm-container .crm-contribution-thankyou-form-block,
.crm-container .crm-event-thankyou-form-block,
.crm-container .crm-thankyou-form-block { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 8px !important; padding: 2rem !important; }
.crm-container .crm-group .msg-text,
.crm-container .thankyou_text { color: var(--gray-light) !important; }
.crm-container .receipt-text { color: var(--gray) !important; font-size: 0.85rem !important; }

/* --- Status messages --- */
.crm-container .messages,
.crm-container .crm-status-box-outer,
.crm-container .status { border-radius: 6px !important; padding: 1rem 1.5rem !important; margin-bottom: 1rem !important; font-family: 'Space Grotesk', -apple-system, sans-serif !important; }
.crm-container .messages.status,
.crm-container .crm-status-box-outer.status { background: rgba(76, 175, 80, 0.1) !important; border: 1px solid rgba(76, 175, 80, 0.3) !important; color: var(--green) !important; }
.crm-container .messages.error,
.crm-container .crm-error { background: rgba(198, 40, 40, 0.1) !important; border: 1px solid rgba(198, 40, 40, 0.3) !important; color: var(--red-light) !important; }
.crm-container .messages.warning { background: rgba(254, 188, 46, 0.1) !important; border: 1px solid rgba(254, 188, 46, 0.3) !important; color: var(--yellow) !important; }
.crm-container .msg-title { color: var(--white) !important; font-weight: 600 !important; }

/* --- Header bar (CiviCRM page headers) --- */
.crm-container .header-dark,
.crm-container .crm-form-block > h3,
.crm-container .crm-accordion-header { background: var(--surface-2) !important; color: var(--white) !important; padding: 12px 16px !important; border-radius: 4px !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.9rem !important; }
.crm-container .crm-accordion-wrapper { background: transparent !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 6px !important; margin-bottom: 1rem !important; }
.crm-container .crm-accordion-body { background: var(--surface) !important; padding: 1.5rem !important; }

/* --- Tabs (event info / registration tabs) --- */
.crm-container #mainTabContainer,
.crm-container .ui-tabs { background: transparent !important; border: none !important; }
.crm-container .ui-tabs .ui-tabs-nav { background: var(--surface) !important; border: none !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; padding: 0 !important; }
.crm-container .ui-tabs .ui-tabs-nav li { background: transparent !important; border: none !important; }
.crm-container .ui-tabs .ui-tabs-nav li a { color: var(--gray) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.85rem !important; padding: 12px 20px !important; }
.crm-container .ui-tabs .ui-tabs-nav li.ui-tabs-active a,
.crm-container .ui-tabs .ui-tabs-nav li a:hover { color: var(--white) !important; border-bottom: 2px solid var(--red) !important; }
.crm-container .ui-tabs .ui-tabs-panel { background: transparent !important; border: none !important; padding: 1.5rem 0 !important; }

/* --- Breadcrumbs & navigation --- */
.crm-container .breadcrumb { color: var(--gray) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.8rem !important; margin-bottom: 1.5rem !important; }
.crm-container .breadcrumb a { color: var(--red-light) !important; }

/* --- Credit card / payment block --- */
.crm-container .credit_card_info-group,
.crm-container .payment_options-group { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.1) !important; border-radius: 6px !important; padding: 1.5rem !important; }
.crm-container .crm-pay-by-paypal-button { background: var(--surface-2) !important; border: 1px solid rgba(255,255,255,0.12) !important; border-radius: 6px !important; padding: 1rem !important; }

/* --- Misc: tooltips, icons, loading --- */
.crm-container .crm-loading-element { color: var(--gray) !important; }
.crm-container i.crm-i { color: var(--gray) !important; }
.crm-container .crm-summary-link:hover { background: var(--surface-2) !important; }

/* --- Contribution / event amount display --- */
.crm-container .amount_display-group .display-block,
.crm-container .crm-section .content .crm-price-val { font-family: 'JetBrains Mono', monospace !important; color: var(--red-light) !important; font-weight: 700 !important; font-size: 1.1rem !important; }

/* --- CiviCRM WordPress frontend wrapper --- */
#crm-main-content-wrapper { background: var(--black) !important; }
.civicrm-text { color: var(--gray-light) !important; }

/* --- CiviCRM info table (event detail rows) --- */
.crm-container .crm-info-panel { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 6px !important; padding: 1.5rem !important; margin-bottom: 1rem !important; }
.crm-container .crm-info-panel td.label { color: var(--gray) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.85rem !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; white-space: nowrap !important; padding-right: 1.5rem !important; }
.crm-container .crm-info-panel td.html-adjust { color: var(--gray-light) !important; }

/* --- Datepicker widget --- */
.ui-datepicker { background: var(--surface-2) !important; border: 1px solid rgba(255,255,255,0.12) !important; border-radius: 6px !important; color: var(--white) !important; }
.ui-datepicker .ui-datepicker-header { background: var(--surface-3) !important; color: var(--white) !important; border: none !important; }
.ui-datepicker td a { color: var(--gray-light) !important; background: transparent !important; }
.ui-datepicker td a:hover,
.ui-datepicker td a.ui-state-active { background: var(--red) !important; color: var(--white) !important; border-radius: 4px !important; }
.ui-datepicker td.ui-datepicker-today a { background: var(--surface-4) !important; }

/* --- Dialog overlays --- */
.ui-dialog { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.12) !important; border-radius: 8px !important; }
.ui-dialog .ui-dialog-titlebar { background: var(--surface-2) !important; color: var(--white) !important; border: none !important; }
.ui-dialog .ui-dialog-content { color: var(--gray-light) !important; }

/* --- Events Listing --- */
.events-list { display: flex; flex-direction: column; gap: 2px; }
.events-empty { background: var(--surface); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; padding: 3rem 2rem; text-align: center; }
.events-empty p { color: var(--gray); font-size: 1rem; }
.events-empty a { color: var(--red-light) !important; }
.event-card { display: flex; gap: 1.5rem; padding: 1.5rem; background: var(--surface); border: 1px solid rgba(255,255,255,0.06); border-radius: 6px; transition: background 0.2s; }
.event-card:hover { background: var(--surface-2); }
.event-date-block { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 64px; padding: 0.75rem; background: var(--surface-2); border-radius: 6px; border: 1px solid rgba(255,255,255,0.08); }
.event-month { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; color: var(--red); }
.event-day { font-family: 'JetBrains Mono', monospace; font-size: 1.8rem; font-weight: 700; color: var(--white); line-height: 1; }
.event-details { flex: 1; }
.event-type-badge { display: inline-block; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--red-light); background: rgba(198,40,40,0.1); border: 1px solid rgba(198,40,40,0.2); padding: 3px 10px; border-radius: 12px; margin-bottom: 0.5rem; }
.event-details h3 { font-size: 1.2rem; margin-bottom: 0.25rem; font-weight: 600; }
.event-details h3 a { color: var(--white) !important; text-decoration: none !important; }
.event-details h3 a:hover { color: var(--red-light) !important; }
.event-time { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: var(--gray); margin-bottom: 0.5rem; }
.event-summary { color: var(--gray-light) !important; font-size: 0.9rem !important; margin-bottom: 0.75rem; line-height: 1.5; }
.event-register { display: inline-block; padding: 8px 20px !important; font-size: 0.8rem !important; }
@media (max-width: 768px) {
    .event-card { flex-direction: column; gap: 1rem; }
    .event-date-block { flex-direction: row; gap: 8px; padding: 0.5rem 1rem; }
}

/* --- Volunteer Form --- */
.volunteer-form-wrap { background: var(--surface); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; padding: 2rem; margin-top: 2rem; }
.vol-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.vol-field { margin-bottom: 1rem; }
.vol-field label { display: block; margin-bottom: 4px; color: var(--white); font-weight: 500; font-size: 0.9rem; }
.vol-req { color: var(--red); }
.vol-field input,
.vol-field select,
.vol-field textarea { width: 100%; padding: 10px 12px; background: var(--surface-2); border: 1px solid rgba(255,255,255,0.12); border-radius: 4px; color: var(--white); font-family: 'JetBrains Mono', monospace; font-size: 0.9rem; transition: border-color 0.2s; }
.vol-field input:focus,
.vol-field select:focus,
.vol-field textarea:focus { border-color: var(--red); outline: none; box-shadow: 0 0 0 2px rgba(198,40,40,0.2); }
.vol-field input::placeholder,
.vol-field textarea::placeholder { color: var(--gray); }
.vol-field select option { background: var(--surface-2); color: var(--white); }
.vol-field textarea { resize: vertical; }
.vol-submit { padding: 12px 32px; font-size: 0.95rem; }
.vol-status { margin-top: 0.75rem; font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; color: var(--gray); }
@media (max-width: 768px) {
    .vol-row { grid-template-columns: 1fr; }
}

/* ============================================
   WooCommerce Dark Theme — Comprehensive Overrides
   ============================================ */

/* --- Override WooCommerce CSS variables --- */
.woocommerce, .woocommerce-page, body.woocommerce {
    --woocommerce: var(--red) !important;
    --wc-primary: var(--red) !important;
    --wc-primary-text: var(--white) !important;
    --wc-secondary: var(--surface-2) !important;
    --wc-secondary-text: var(--gray-light) !important;
    --wc-highlight: var(--red) !important;
    --wc-highligh-text: var(--white) !important;
    --wc-content-bg: var(--black) !important;
    --wc-subtext: var(--gray) !important;
    --wc-orange: var(--red) !important;
    --wc-green: #4caf50 !important;
    --wc-red: var(--red-light) !important;
    --wc-blue: var(--red-light) !important;
    --wc-form-border-color: rgba(255,255,255,0.12) !important;
}

/* --- Shop layout — add breathing room --- */
.woocommerce-page #primary,
.woocommerce-page main#main,
.woocommerce-page .site-main { max-width: 1200px !important; margin: 0 auto !important; padding: 60px 2rem 80px !important; }

/* --- Typography & base colors --- */
.woocommerce, .woocommerce-page .site-main { color: var(--gray-light) !important; }
.woocommerce h1, .woocommerce h2, .woocommerce h3, .woocommerce h4 { color: var(--white) !important; font-family: 'Space Grotesk', -apple-system, sans-serif !important; }
.woocommerce p, .woocommerce span, .woocommerce div, .woocommerce li { color: var(--gray-light); }

/* --- All links — kill orange/purple, use red --- */
.woocommerce a,
.woocommerce-page a:not(.btn-red):not(.btn-wire):not(.nav-logo):not(.nav-links a) { color: var(--red-light) !important; }
.woocommerce a:hover,
.woocommerce-page .site-main a:hover { color: var(--white) !important; }

/* --- Page title --- */
.woocommerce-products-header__title.page-title,
.woocommerce h1.page-title { font-size: 2.8rem !important; color: var(--white) !important; margin-bottom: 2rem !important; padding-bottom: 1.5rem !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; font-family: 'Space Grotesk', -apple-system, sans-serif !important; }

/* --- Breadcrumbs --- */
.woocommerce .woocommerce-breadcrumb { color: var(--gray) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.8rem !important; margin-bottom: 2rem !important; }
.woocommerce .woocommerce-breadcrumb a { color: var(--gray) !important; text-decoration: none !important; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--red-light) !important; }

/* --- Product grid --- */
.woocommerce ul.products { margin: 0 !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.06) !important; border-radius: 8px !important; padding: 1.25rem !important; margin-bottom: 2rem !important; transition: all 0.2s !important; overflow: hidden !important; }
.woocommerce ul.products li.product:hover { background: var(--surface-2) !important; border-color: rgba(255,255,255,0.12) !important; }

/* --- Product images --- */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product a img { border-radius: 6px !important; margin-bottom: 0.75rem !important; }
.woocommerce ul.products li.product-category img { border-radius: 6px !important; }

/* --- Product titles --- */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3,
.woocommerce ul.products li.product-category h2,
.woocommerce-loop-category__title { color: var(--white) !important; font-family: 'Space Grotesk', -apple-system, sans-serif !important; font-size: 1rem !important; font-weight: 600 !important; margin-bottom: 0.5rem !important; }
.woocommerce ul.products li.product a { color: var(--white) !important; text-decoration: none !important; }
.woocommerce ul.products li.product a:hover h2,
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--red-light) !important; }

/* --- Product category count --- */
.woocommerce ul.products li.product-category .count { color: var(--gray) !important; background: none !important; }
.woocommerce .woocommerce-loop-category__title .count { color: var(--gray) !important; }

/* --- Prices --- */
.woocommerce ul.products li.product .price,
.woocommerce .price,
.woocommerce .woocommerce-Price-amount,
.woocommerce .amount { color: var(--red-light) !important; font-family: 'JetBrains Mono', monospace !important; font-weight: 700 !important; }
.woocommerce del .woocommerce-Price-amount { color: var(--gray) !important; text-decoration: line-through !important; }
.woocommerce ins .woocommerce-Price-amount { color: var(--red-light) !important; }

/* --- Add to cart / buttons --- */
.woocommerce a.button,
.woocommerce a.button.alt,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.woocommerce .checkout-button,
.woocommerce #place_order,
.woocommerce a.added_to_cart { background: var(--red) !important; color: var(--white) !important; border: none !important; border-radius: 4px !important; font-family: 'JetBrains Mono', monospace !important; font-weight: 700 !important; font-size: 0.85rem !important; padding: 10px 20px !important; transition: all 0.2s !important; text-decoration: none !important; text-transform: none !important; }
.woocommerce a.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover { box-shadow: 0 0 20px var(--red-glow) !important; background: var(--red) !important; color: var(--white) !important; }
.woocommerce a.button.alt.disabled,
.woocommerce button.button.alt.disabled { background: var(--surface-3) !important; color: var(--gray) !important; cursor: not-allowed !important; }

/* --- Ordering & result count --- */
.woocommerce .woocommerce-ordering select,
.woocommerce .woocommerce-ordering .orderby { background: var(--surface-2) !important; border: 1px solid rgba(255,255,255,0.12) !important; color: var(--white) !important; border-radius: 4px !important; padding: 8px 12px !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.85rem !important; }
.woocommerce .woocommerce-ordering select option { background: var(--surface-2) !important; color: var(--white) !important; }
.woocommerce .woocommerce-result-count { color: var(--gray) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.8rem !important; }

/* --- Single product page --- */
.woocommerce div.product { color: var(--gray-light) !important; }
.woocommerce div.product .product_title { color: var(--white) !important; font-size: 2rem !important; font-family: 'Space Grotesk', -apple-system, sans-serif !important; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-size: 1.5rem !important; }
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p { color: var(--gray-light) !important; }
.woocommerce div.product .product_meta { color: var(--gray) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.85rem !important; border-top: 1px solid rgba(255,255,255,0.08) !important; padding-top: 1rem !important; margin-top: 1.5rem !important; }
.woocommerce div.product .product_meta span { color: var(--gray) !important; }
.woocommerce div.product .product_meta a { color: var(--red-light) !important; }

/* --- Product gallery --- */
.woocommerce div.product div.images img { border-radius: 8px !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 4px !important; opacity: 0.6 !important; border: 2px solid transparent !important; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1 !important; border-color: var(--red) !important; }

/* --- Variations / selects --- */
.woocommerce div.product form.cart .variations select { background: var(--surface-2) !important; border: 1px solid rgba(255,255,255,0.12) !important; color: var(--white) !important; border-radius: 4px !important; padding: 8px 12px !important; font-family: 'JetBrains Mono', monospace !important; }
.woocommerce div.product form.cart .variations label { color: var(--white) !important; font-weight: 500 !important; }
.woocommerce div.product form.cart .variations .reset_variations { color: var(--gray) !important; }
.woocommerce div.product form.cart div.quantity input.qty { background: var(--surface-2) !important; border: 1px solid rgba(255,255,255,0.12) !important; color: var(--white) !important; border-radius: 4px !important; font-family: 'JetBrains Mono', monospace !important; }

/* --- Tabs (Description, Reviews, etc.) --- */
.woocommerce div.product .woocommerce-tabs ul.tabs { background: transparent !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; padding: 0 !important; margin: 2rem 0 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color: rgba(255,255,255,0.08) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent !important; border: none !important; border-bottom: 2px solid transparent !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--gray) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.85rem !important; padding: 12px 20px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--red) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--white) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--white) !important; }
.woocommerce div.product .woocommerce-tabs .panel { background: transparent !important; border: none !important; color: var(--gray-light) !important; padding: 1.5rem 0 !important; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1.3rem !important; margin-bottom: 1rem !important; }

/* --- Reviews --- */
.woocommerce #reviews .star-rating { color: var(--red) !important; }
.woocommerce .star-rating::before { color: var(--surface-3) !important; }
.woocommerce #reviews .comment-text { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 6px !important; padding: 1rem !important; }
.woocommerce #reviews .meta { color: var(--gray) !important; }

/* --- Cart page --- */
.woocommerce table.shop_table { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 8px !important; border-collapse: separate !important; overflow: hidden !important; }
.woocommerce table.shop_table th { background: var(--surface-2) !important; color: var(--white) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 0.85rem !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; border-bottom: 2px solid var(--red) !important; padding: 12px 16px !important; }
.woocommerce table.shop_table td { background: transparent !important; color: var(--gray-light) !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; padding: 12px 16px !important; border-top: none !important; }
.woocommerce table.shop_table td.product-name a { color: var(--white) !important; text-decoration: none !important; }
.woocommerce table.shop_table td.product-name a:hover { color: var(--red-light) !important; }
.woocommerce table.shop_table td.product-remove a { color: var(--gray) !important; }
.woocommerce table.shop_table td.product-remove a:hover { color: var(--red-light) !important; background: transparent !important; }
.woocommerce .cart_totals { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 8px !important; padding: 1.5rem !important; }
.woocommerce .cart_totals h2 { color: var(--white) !important; font-size: 1.3rem !important; margin-bottom: 1rem !important; }
.woocommerce .cart-collaterals .cross-sells h2 { color: var(--white) !important; }

/* --- Coupon field --- */
.woocommerce .coupon input.input-text { background: var(--surface-2) !important; border: 1px solid rgba(255,255,255,0.12) !important; color: var(--white) !important; border-radius: 4px !important; padding: 8px 12px !important; font-family: 'JetBrains Mono', monospace !important; }
.woocommerce .coupon input.input-text::placeholder { color: var(--gray) !important; }

/* --- Checkout page --- */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-checkout-review-order { color: var(--gray-light) !important; }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 8px !important; padding: 1.5rem !important; }
.woocommerce-checkout h3 { color: var(--white) !important; font-size: 1.3rem !important; margin-bottom: 1rem !important; }
.woocommerce form .form-row label { color: var(--white) !important; font-weight: 500 !important; }
.woocommerce form .form-row .required { color: var(--red) !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { background: var(--surface-2) !important; border: 1px solid rgba(255,255,255,0.12) !important; color: var(--white) !important; border-radius: 4px !important; padding: 10px 12px !important; font-family: 'JetBrains Mono', monospace !important; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--red) !important; outline: none !important; box-shadow: 0 0 0 2px rgba(198,40,40,0.2) !important; }

/* --- Payment methods (checkout) --- */
.woocommerce-checkout #payment { background: var(--surface) !important; border-radius: 8px !important; border: 1px solid rgba(255,255,255,0.08) !important; }
.woocommerce-checkout #payment ul.payment_methods { background: transparent !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; }
.woocommerce-checkout #payment ul.payment_methods li { background: transparent !important; color: var(--gray-light) !important; }
.woocommerce-checkout #payment ul.payment_methods li label { color: var(--white) !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--surface-2) !important; color: var(--gray-light) !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--surface-2) !important; }
.woocommerce-checkout #payment div.form-row.place-order { background: transparent !important; }

/* --- Order received / thank you page --- */
.woocommerce-order-received .woocommerce-thankyou-order-received { color: var(--green) !important; font-weight: 600 !important; }
.woocommerce-order-received .woocommerce-order-details { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 8px !important; padding: 1.5rem !important; }

/* --- Notices & messages --- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info { background: var(--surface) !important; border-top-color: var(--red) !important; color: var(--gray-light) !important; border-radius: 0 0 6px 6px !important; }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before { color: var(--red) !important; }
.woocommerce .woocommerce-error { background: var(--surface) !important; border-top-color: var(--red-light) !important; color: var(--red-light) !important; }
.woocommerce .woocommerce-error::before { color: var(--red-light) !important; }
.woocommerce .woocommerce-notices-wrapper { margin-bottom: 1rem !important; }

/* --- Sale badge --- */
.woocommerce span.onsale { background: var(--red) !important; color: var(--white) !important; border-radius: 4px !important; font-family: 'JetBrains Mono', monospace !important; font-weight: 700 !important; font-size: 0.75rem !important; }

/* --- Related products, upsells --- */
.woocommerce .related.products h2,
.woocommerce .upsells.products h2,
.woocommerce .cross-sells h2 { color: var(--white) !important; font-size: 1.3rem !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; padding-bottom: 0.75rem !important; margin-bottom: 1.5rem !important; }

/* --- Widget / sidebar filters --- */
.woocommerce .widget_price_filter .ui-slider { background: var(--surface-3) !important; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: var(--red) !important; border: none !important; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background: var(--red) !important; }
.woocommerce .widget_price_filter .price_slider_amount .price_label { color: var(--gray-light) !important; }
.woocommerce .widget_layered_nav ul li a { color: var(--gray-light) !important; }
.woocommerce .widget_layered_nav ul li.chosen a { color: var(--red-light) !important; }

/* --- My Account page --- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { background: var(--surface) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 8px !important; overflow: hidden !important; list-style: none !important; padding: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid rgba(255,255,255,0.06) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: block !important; padding: 12px 16px !important; color: var(--gray-light) !important; text-decoration: none !important; transition: all 0.2s !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--surface-2) !important; color: var(--white) !important; }
.woocommerce-account .woocommerce-MyAccount-content { color: var(--gray-light) !important; }

/* --- Pagination --- */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { background: var(--surface) !important; color: var(--gray-light) !important; border-color: rgba(255,255,255,0.08) !important; }
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--red) !important; color: var(--white) !important; border-color: var(--red) !important; }

/* --- Printify/external product images in grid — proper sizing --- */
.woocommerce ul.products li.product img { max-width: 100% !important; height: auto !important; }

/* ============================================
   Responsive
   ============================================ */

@media (max-width: 768px) {
    .mobile-nav-toggle { display: block; }
    .nav-links { display: none; }
    .nav-links.active { display: flex; flex-direction: column; position: absolute; top: 64px; left: 0; right: 0; background: rgba(10,10,10,0.98); padding: 1rem 2rem; border-bottom: 1px solid rgba(255,255,255,0.06); }
    .hero-inner { grid-template-columns: 1fr; }
    .hero-text h1 { font-size: 2.5rem; }
    .terminal { display: none; }
    .hero-signup-form { flex-direction: column; }
    .news-grid { grid-template-columns: 1fr; }
    .manifesto-inner { grid-template-columns: 1fr; }
    .manifesto-left { position: static; }
    .testimonials-grid { grid-template-columns: 1fr; }
    .action-grid { grid-template-columns: 1fr; }
    .footer-inner { flex-direction: column; gap: 2rem; }
    .footer-links { flex-direction: column; gap: 1.5rem; }
    .donate-row { flex-direction: column; border-radius: 6px; }
    .newsletter-form { flex-direction: column; }
    .news-header { flex-direction: column; gap: 0.5rem; }
}
