/*
Theme Name: Budget Sprout
Description: A growth-themed budgeting website with organic design, smart financial tools, and advanced block components. Features custom dashboard blocks, floating animations, and comprehensive financial tracking capabilities.
Version: 1.0.0
Author: Your Name
Tags: block-theme, custom-blocks, financial, budgeting, business, responsive, accessibility-ready
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: budget-sprout
*/

/**
 * Budget Sprout Block Theme
 * 
 * This is a block theme - most styling is handled by:
 * - theme.json (global styles)
 * - assets/css/blocks.css (block-specific styles)
 * 
 * This style.css file contains the required WordPress theme header
 * and any additional global styles not covered by theme.json
 */
/*
Theme Name: Budget Sprout
Description: A growth-themed budgeting website with organic design, smart financial tools, and advanced block components. Features custom dashboard blocks, floating animations, and comprehensive financial tracking capabilities.
Version: 1.0.0
Author: Your Name
Tags: block-theme, custom-blocks, financial, budgeting, business, responsive, accessibility-ready
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: budget-sprout
*/

/**
 * Budget Sprout Block Theme
 * 
 * This is a block theme - most styling is handled by:
 * - theme.json (global styles)
 * - assets/css/blocks.css (block-specific styles)
 * 
 * This style.css file contains the required WordPress theme header
 * and any additional global styles not covered by theme.json
 */

/* ==========================================================================
   THEME GLOBALS
   ========================================================================== */

/* Ensure smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Remove default WordPress styling conflicts */
.wp-site-blocks {
    padding: 0;
}

/* Ensure proper box-sizing for all elements */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* ==========================================================================
   ACCESSIBILITY IMPROVEMENTS
   ========================================================================== */

/* Improve focus visibility */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
    outline: 2px solid #6B8E23;
    outline-offset: 2px;
}

/* Screen reader text */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* ==========================================================================
   WORDPRESS ADMIN BAR COMPENSATION
   ========================================================================== */

/* Adjust fixed header when admin bar is present */
.admin-bar .site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .site-header {
        top: 46px;
    }
}

/* ==========================================================================
   PRINT STYLES
   ========================================================================== */

@media print {
    /* Hide non-essential elements when printing */
    .site-header,
    .site-footer,
    .wp-block-button,
    .floating-card__link {
        display: none !important;
    }
    
    /* Ensure good contrast for printing */
    .budget-dashboard,
    .floating-card,
    .feature-card {
        border: 1px solid #000 !important;
        box-shadow: none !important;
    }
    
    /* Optimize typography for print */
    body {
        font-size: 12pt !important;
        line-height: 1.4 !important;
    }
    
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
    }
}
:root {
  --heading-font: 'Merriweather', serif;
  --font-family: 'Poppins', sans-serif;
  --font-size-heading: 2.25rem;
  --font-size: 1rem;
  --line-height: 1.7;
}

/* ==========================================================================
   FRONTEND STYLE FIXES
   ========================================================================== */

/**
 * Frontend Style Fixes - Add to your theme's style.css or enqueue separately
 */

/* Force inline styles to take precedence */
.entry-content *[style*="font-family"],
.floating-blog-card *[style*="font-family"] {
    font-family: inherit !important;
}

.entry-content *[style*="font-size"],
.floating-blog-card *[style*="font-size"] {
    font-size: inherit !important;
}

.entry-content *[style*="line-height"],
.floating-blog-card *[style*="line-height"] {
    line-height: inherit !important;
}

/* Heading styles that respect the editor */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.floating-blog-card h1,
.floating-blog-card h2,
.floating-blog-card h3,
.floating-blog-card h4,
.floating-blog-card h5,
.floating-blog-card h6 {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* Remove any pseudo-elements that might create underlines */
.entry-content h1::after,
.entry-content h2::after,
.entry-content h3::after,
.entry-content h4::after,
.entry-content h5::after,
.entry-content h6::after,
.floating-blog-card h1::after,
.floating-blog-card h2::after,
.floating-blog-card h3::after,
.floating-blog-card h4::after,
.floating-blog-card h5::after,
.floating-blog-card h6::after {
    display: none !important;
    content: none !important;
}

/* Default heading sizes if not set inline */
.entry-content h1:not([style*="font-size"]) { font-size: 2.5rem !important; }
.entry-content h2:not([style*="font-size"]) { font-size: 2rem !important; }
.entry-content h3:not([style*="font-size"]) { font-size: 1.75rem !important; }
.entry-content h4:not([style*="font-size"]) { font-size: 1.5rem !important; }
.entry-content h5:not([style*="font-size"]) { font-size: 1.25rem !important; }
.entry-content h6:not([style*="font-size"]) { font-size: 1.1rem !important; }

/* List spacing fixes */
.entry-content ul,
.entry-content ol,
.floating-blog-card ul,
.floating-blog-card ol {
    margin-left: 1.5rem !important;
    margin-bottom: 1rem !important;
}

.entry-content li,
.floating-blog-card li {
    margin-bottom: 0.25rem !important;
    line-height: 1.25 !important;
}

/* Ensure proper paragraph spacing */
.entry-content p,
.floating-blog-card p {
    margin-bottom: 1rem !important;
}

/* Fix for nested lists */
.entry-content li ul,
.entry-content li ol,
.floating-blog-card li ul,
.floating-blog-card li ol {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
}

/* Global list safety */
.single-post .entry-content ul li,
.single-post .entry-content ol li {
    display: list-item !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.single-post .entry-content ul li::before,
.single-post .entry-content ol li::before {
    content: none !important; /* Remove any pseudo bullets that might interfere */
}

/* Global safety net for lists */
.single-post .entry-content ul li,
.single-post .entry-content ol li,
.single-post .post-content ul li,
.single-post .post-content ol li {
    font-family: 'Merriweather', serif !important;
    font-size: 1rem !important;
    font-weight: normal !important;
    line-height: 1.8 !important;
    color: #333 !important;
}

/* Prevent any theme overrides */
.single-post .entry-content li[class],
.single-post .post-content li[class] {
    font-family: 'Merriweather', serif !important;
    font-size: 1rem !important;
}