/* ========================================
   PAGE TEMPLATE STYLES
   ======================================== */
/* 
 * IMPORTANT: This CSS should NOT affect global header (.site-header) or footer (.site-footer)
 * All styles here are scoped to page-specific elements only
 */

/* ========================================
   PROTECTION: Header and Footer
   ======================================== */
/* Ensure header and footer are not affected by page styles */
/* These rules have high specificity to prevent any page CSS from affecting header/footer */

/* Protect header from page styles */
body.page .site-header,
body.page .site-header *,
body.page #masthead,
body.page #masthead * {
    /* Header styles are global - no page-specific overrides */
    /* Don't override CSS variables - let header use its own from main.css */
}

/* Protect footer colors from page-specific CSS variable changes */
/* Footer maintains its original colors regardless of page styles */
body.page .site-footer,
body.page .site-footer * {
    /* Prevent any CSS variable inheritance from page styles */
    /* Force footer to use original CSS variable values */
    --primary-color: #3b82f6 !important;
    --primary-color-dark: #2563eb !important;
    --red-primary: #e81111 !important;
    --red-dark: #cc2d14 !important;
}

/* Ensure page-specific CSS variables don't leak to header/footer */
body.page {
    /* Don't define CSS variables at body level that could affect header/footer */
}

/* Scoped CSS variables only for page content */
body.page .page-container,
body.page .page-content,
body.page .page-content-inner {
    /* Page-specific CSS variables can be used here, but won't affect header/footer */
    /* All page styles are scoped to these containers only */
}

/* CRITICAL: Ensure no page styles affect header/footer */
/* All selectors below are scoped to .page-content-inner or .page-container */
/* They will NOT affect .site-header or .site-footer */

/* Ensure footer links maintain their original colors */
body.page .site-footer a:not(.footer-cta-button):not(.footer-email-button) {
    color: inherit !important;
}

body.page .site-footer .footer-menu a {
    color: #2d3748 !important;
}

body.page .site-footer .footer-menu a:hover {
    color: #3b82f6 !important;
}

/* Protect footer CTA button colors - use original primary color */
body.page .site-footer .footer-cta-button {
    background: #3b82f6 !important;
    color: #ffffff !important;
}

body.page .site-footer .footer-cta-button:hover {
    background: #2563eb !important;
}

/* Protect footer email button colors - use red primary */
body.page .site-footer .footer-email-button {
    background: #e81111 !important;
    color: #ffffff !important;
}

body.page .site-footer .footer-email-button:hover {
    background: #cc2d14 !important;
}

.page-container {
    padding: var(--space-16) 0;
    background-color: var(--gray-50);
}

.page-content {
    background-color: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-base);
    padding: var(--space-8);
    max-width: 900px;
    margin: 0 auto;
}

/* Page Header */
.page-header {
    margin-bottom: var(--space-8);
    padding-bottom: var(--space-6);
    border-bottom: 2px solid var(--gray-200);
}

.page-title {
    font-size: var(--text-4xl);
    font-weight: var(--font-extrabold);
    color: var(--gray-900);
    margin: 0 0 var(--space-4) 0;
    line-height: var(--leading-tight);
}

.page-excerpt {
    font-size: var(--text-lg);
    color: var(--gray-600);
    line-height: var(--leading-relaxed);
    margin: var(--space-4) 0 0;
}

/* Page Content */
.page-content-inner {
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    color: var(--gray-700);
}

.page-content-inner h2 {
    margin-top: var(--space-10);
    margin-bottom: var(--space-4);
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    color: var(--gray-900);
}

.page-content-inner h3 {
    margin-top: var(--space-8);
    margin-bottom: var(--space-3);
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    color: var(--gray-800);
}

.page-content-inner p {
    margin-bottom: var(--space-6);
}

.page-content-inner ul,
.page-content-inner ol {
    margin: var(--space-4) 0;
    padding-left: var(--space-8);
}

.page-content-inner li {
    margin-bottom: var(--space-2);
}

.page-content-inner blockquote {
    border-left: 4px solid var(--primary-color);
    padding: var(--space-4) var(--space-6);
    margin: var(--space-6) 0;
    background-color: var(--gray-50);
    border-radius: var(--radius-md);
    font-style: italic;
    color: var(--gray-700);
}

.page-content-inner img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-md);
    margin: var(--space-6) 0;
}

.page-content-inner a {
    color: var(--primary-color);
    text-decoration: underline;
    transition: color var(--transition-fast);
}

.page-content-inner a:hover {
    color: var(--secondary-color);
}

.page-content-inner table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-6) 0;
}

.page-content-inner th,
.page-content-inner td {
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--gray-300);
    text-align: left;
}

.page-content-inner th {
    background-color: var(--gray-100);
    font-weight: var(--font-semibold);
}

/* Page Links (pagination) */
.page-links {
    margin-top: var(--space-8);
    padding-top: var(--space-6);
    border-top: 1px solid var(--gray-200);
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.page-links a,
.page-links > span {
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-base);
    border: 1px solid var(--gray-300);
    text-decoration: none;
    transition: all var(--transition-fast);
}

.page-links a:hover {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--white);
}

.page-links > span {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--white);
}

/* Page Footer */
.page-footer {
    margin-top: var(--space-12);
    padding-top: var(--space-8);
    border-top: 2px solid var(--gray-200);
}

.page-comments {
    margin-top: var(--space-6);
}

/* Responsive Design */
@media (max-width: 768px) {
    .page-container {
        padding: var(--space-8) 0;
    }

    .page-content {
        padding: var(--space-6);
        border-radius: 0;
    }

    .page-title {
        font-size: var(--text-3xl);
    }

    .page-excerpt {
        font-size: var(--text-base);
    }

    .page-content-inner h2 {
        font-size: var(--text-xl);
    }

    .page-content-inner h3 {
        font-size: var(--text-lg);
    }
}



