/*
Theme Name: Rural Upload Theme
Theme URI: https://ruralupload.com
Description: Custom child theme for Rural Upload with dark aesthetic
Author: Bucky Cole
Author URI: https://ruralupload.com
Template: twentytwentyfour
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ruralupload-child
*/

/**
 * Rural Upload - Dark Status Page Aesthetic
 * Feb 5, 2026 - Enhanced dark theme
 */

/* =================================================================
   DARK THEME COLOR VARIABLES
   ================================================================= */

:root {
    --color-bg-primary: #1a1a1a;
    --color-bg-secondary: #2d2d2d;
    --color-bg-tertiary: #3a3a3a;
    --color-pine: #4a7c29;
    --color-pine-light: #5a8d39;
    --color-blue: #0ea5e9;
    --color-blue-light: #38bdf8;
    --color-orange: #f97316;
    --color-text-primary: #e5e7eb;
    --color-text-secondary: #9ca3af;
    --color-text-muted: #6b7280;
}

/* =================================================================
   DARK BACKGROUNDS & TEXT
   ================================================================= */

body {
    background-color: var(--color-bg-primary) !important;
    color: var(--color-text-primary) !important;
}

/* Main content areas */
.wp-site-blocks,
.wp-block-group,
article,
.entry-content,
main {
    background-color: var(--color-bg-primary) !important;
}

/* Secondary backgrounds */
.wp-block-cover,
.wp-block-media-text,
aside,
.sidebar {
    background-color: var(--color-bg-secondary) !important;
}

/* Headers */
h1, h2, h3, h4, h5, h6 {
    color: var(--color-text-primary) !important;
}

/* Paragraphs and body text */
p, li, span, div {
    color: var(--color-text-primary);
}

/* Links */
a {
    color: var(--color-blue) !important;
    text-decoration: none;
}

a:hover {
    color: var(--color-blue-light) !important;
    text-decoration: underline;
}

/* =================================================================
   HEADER STYLING
   ================================================================= */

header,
.wp-block-template-part.header {
    background-color: var(--color-bg-secondary) !important;
    border-bottom: 2px solid var(--color-pine) !important;
}

.site-title a {
    color: var(--color-pine) !important;
}

nav a {
    color: var(--color-text-primary) !important;
}

nav a:hover {
    color: var(--color-pine) !important;
}

/* =================================================================
   NEWSLETTER SECTIONS
   ================================================================= */

/* Newsletter hero on homepage */
.wp-block-group.has-contrast-background-color {
    background-color: var(--color-bg-secondary) !important;
    border: 2px solid var(--color-pine) !important;
}

/* Newsletter signup forms */
.snp-subscribe-form,
.newsletter-form {
    background-color: transparent !important;
}

.snp-subscribe-form input[type="email"],
.newsletter-form input[type="email"] {
    background-color: var(--color-bg-primary) !important;
    border: 1px solid var(--color-pine) !important;
    color: var(--color-text-primary) !important;
    padding: 12px 16px !important;
    border-radius: 6px !important;
}

.snp-subscribe-form input[type="submit"],
.snp-subscribe-form button[type="submit"],
.newsletter-form button {
    background-color: var(--color-pine) !important;
    color: white !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
}

.snp-subscribe-form input[type="submit"]:hover,
.snp-subscribe-form button[type="submit"]:hover,
.newsletter-form button:hover {
    background-color: var(--color-pine-light) !important;
}

/* =================================================================
   FOOTER STYLING
   ================================================================= */

footer,
.wp-block-template-part.footer {
    background-color: var(--color-bg-secondary) !important;
    color: var(--color-text-primary) !important;
    border-top: 2px solid var(--color-pine) !important;
}

/* Newsletter in footer */
footer .has-charcoal-background-color {
    background-color: var(--color-bg-tertiary) !important;
}

/* Footer headings */
footer h3, footer h4 {
    color: var(--color-pine) !important;
}

/* Remove gray boxes around footer links */
.wp-block-navigation__container .wp-block-navigation-item,
footer .wp-block-navigation-item,
footer .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
}

footer .wp-block-navigation-item:hover,
footer .wp-block-navigation-item a:hover {
    background: none !important;
    background-color: transparent !important;
}

footer a {
    color: var(--color-blue) !important;
    text-decoration: none !important;
    background: none !important;
    padding: 0 !important;
    border: none !important;
}

footer a:hover {
    color: var(--color-blue-light) !important;
    text-decoration: underline !important;
}

footer ul li,
footer ol li {
    background: none !important;
    border: none !important;
    padding-left: 0 !important;
}

/* =================================================================
   BLOG POST CARDS
   ================================================================= */

.wp-block-post {
    background-color: var(--color-bg-secondary) !important;
    border-radius: 8px !important;
    padding: 0 !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

.wp-block-post:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 16px rgba(74, 124, 41, 0.2) !important;
}

.wp-block-post-title a {
    color: var(--color-text-primary) !important;
}

.wp-block-post-title a:hover {
    color: var(--color-pine) !important;
}

.wp-block-post-excerpt {
    color: var(--color-text-secondary) !important;
}

.wp-block-post-date {
    color: var(--color-text-muted) !important;
}

/* =================================================================
   CONTENT BLOCKS
   ================================================================= */

/* Code blocks */
pre, code {
    background-color: var(--color-bg-secondary) !important;
    color: var(--color-text-primary) !important;
    border: 1px solid var(--color-bg-tertiary) !important;
}

/* Blockquotes */
blockquote {
    border-left: 4px solid var(--color-pine) !important;
    background-color: var(--color-bg-secondary) !important;
    color: var(--color-text-primary) !important;
    padding: 20px !important;
}

/* Tables */
table {
    background-color: var(--color-bg-secondary) !important;
    color: var(--color-text-primary) !important;
}

table th {
    background-color: var(--color-bg-tertiary) !important;
    color: var(--color-pine) !important;
}

table td {
    border-color: var(--color-bg-tertiary) !important;
}

/* Buttons */
.wp-block-button__link,
.wp-element-button {
    background-color: var(--color-pine) !important;
    color: white !important;
    border-radius: 6px !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
    background-color: var(--color-pine-light) !important;
}

/* =================================================================
   FULL WIDTH LAYOUT
   ================================================================= */

.wp-site-blocks {
    max-width: 1400px !important;
    width: 95% !important;
    margin: 0 auto !important;
}

article.entry,
.entry-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.wp-block-post-content {
    max-width: 1200px !important;
}

.wp-block-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

/* =================================================================
   SEARCH & FORMS
   ================================================================= */

input[type="text"],
input[type="email"],
input[type="search"],
textarea {
    background-color: var(--color-bg-secondary) !important;
    border: 1px solid var(--color-bg-tertiary) !important;
    color: var(--color-text-primary) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
    border-color: var(--color-pine) !important;
    outline: none !important;
}

/* =================================================================
   RESPONSIVE ADJUSTMENTS
   ================================================================= */

@media (max-width: 768px) {
    .wp-site-blocks {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 20px !important;
    }
    
    article.entry,
    .entry-content {
        max-width: 100% !important;
    }
}

/* =================================================================
   PINE GREEN ACCENTS
   ================================================================= */

/* Add pine green accents throughout */
.has-pine-color {
    color: var(--color-pine) !important;
}

.has-pine-background-color {
    background-color: var(--color-pine) !important;
}

/* Category badges */
.wp-block-post-terms a {
    background-color: var(--color-pine) !important;
    color: white !important;
    padding: 4px 12px !important;
    border-radius: 4px !important;
    font-size: 0.875rem !important;
}

.wp-block-post-terms a:hover {
    background-color: var(--color-pine-light) !important;
    text-decoration: none !important;
}

/* =================================================================
   CLEAN TYPOGRAPHY
   ================================================================= */

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    line-height: 1.7 !important;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

h1 { font-size: 2.5rem !important; }
h2 { font-size: 2rem !important; }
h3 { font-size: 1.5rem !important; }
h4 { font-size: 1.25rem !important; }

@media (max-width: 768px) {
    h1 { font-size: 2rem !important; }
    h2 { font-size: 1.5rem !important; }
    h3 { font-size: 1.25rem !important; }
}

/* =================================================================
   HEADER NAVIGATION STYLING
   ================================================================= */

.wp-block-navigation {
  font-size: 1rem !important;
}

.wp-block-navigation .wp-block-navigation-item a {
  color: var(--color-text-primary) !important;
  font-weight: 500 !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  transition: all 0.2s ease !important;
}

.wp-block-navigation .wp-block-navigation-item a:hover {
  background-color: var(--color-bg-tertiary) !important;
  color: var(--color-pine-bright) !important;
}

.wp-block-navigation .wp-block-navigation-item.current-menu-item a {
  background-color: var(--color-pine) !important;
  color: white !important;
}

/* Mobile menu button */
.wp-block-navigation__responsive-container-open {
  color: var(--color-text-primary) !important;
  background-color: var(--color-bg-tertiary) !important;
  border: 1px solid var(--color-border) !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
}

.wp-block-navigation__responsive-container-open:hover {
  background-color: var(--color-pine) !important;
  border-color: var(--color-pine) !important;
}

/* Mobile menu overlay */
.wp-block-navigation__responsive-container {
  background-color: var(--color-bg-secondary) !important;
}

.wp-block-navigation__responsive-container-close {
  color: var(--color-text-primary) !important;
}

/* =================================================================
   LOGO + SITE TITLE STYLING
   ================================================================= */

.wp-block-site-logo {
  margin-right: 12px !important;
}

.wp-block-site-logo img {
  max-height: 50px !important;
  width: auto !important;
  display: block !important;
}

.wp-block-site-title a {
  color: var(--color-text-primary) !important;
  text-decoration: none !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.wp-block-site-title a:hover {
  color: var(--color-pine-bright) !important;
}

/* Hide site icon if showing separately from logo */
.wp-block-site-icon {
  display: none !important;
}
