/*
Theme Name: New Mexico Cherokee Community
Theme URI: https://github.com/webmaven/NMCC
Author: Antigravity & NMCC
Author URI: https://github.com/webmaven/NMCC
Description: A modern, semantic, and highly configurable WordPress Block Theme built specifically for the New Mexico Cherokee Community. Features unified Noto Serif/Sans bilingual Cherokee Syllabary typography, locked-down Full Site Editing layouts for non-technical administrators, and a hybrid Facebook featured posts feed.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nmcc
Tags: block-theme, one-column, custom-colors, custom-menu, custom-logo, editor-style, translation-ready, wide-blocks
*/

/* Custom styles for Cherokee elements in the frontend */
.cherokee-syllabary {
    font-family: inherit !important;
    color: inherit;
    font-weight: 600;
}

.cherokee-translit {
    font-family: inherit !important;
    font-style: italic;
    color: inherit;
}

/* Custom hover state for outline buttons */
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--brand-accent) !important;
    color: var(--wp--preset--color--text-main) !important; /* high-contrast Walnut Black */
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

/* Add transition to non-hover state for smoothness */
.wp-block-button.is-style-outline .wp-block-button__link {
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

/* Site Header Styling (Decoupled from Gutenberg Block attributes to prevent Editor validation errors) */
header.site-header {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    border-bottom: 1px solid var(--wp--preset--color--background-alt) !important;
}

/* Site Footer Styling (Decoupled from Gutenberg Block attributes to prevent Editor validation errors) */
footer.site-footer {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    background-color: var(--wp--preset--color--background-alt) !important;
}

/* Site Main Content Wrapper (Decoupled from Gutenberg Block attributes to prevent Editor validation errors) */
main.site-main {
    padding-top: 4rem !important;
    padding-bottom: 6rem !important;
}

main.site-main-404 {
    padding-top: 8rem !important;
    padding-bottom: 10rem !important;
}

/* ==========================================================================
   NMCC Semantic Class System (Decouples and stabilizes Gutenberg Block Patterns)
   ========================================================================== */

/* Section Outer Wrappers */
.wp-block-group.nmcc-section {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

/* Column Cards & Grid Items */
.wp-block-column.nmcc-card {
    background-color: var(--wp--preset--color--background-alt) !important;
    border-radius: 12px !important;
    padding: 2rem !important;
    border: 1px solid var(--wp--preset--color--background-alt) !important;
    height: 100% !important;
}

.wp-block-column.nmcc-card-white {
    background-color: var(--wp--preset--color--white) !important;
    border-radius: 12px !important;
    padding: 2rem !important;
    border: 1px solid var(--wp--preset--color--background-alt) !important;
    height: 100% !important;
}

/* Hero Cards */
.nmcc-hero-card {
    background-color: var(--wp--preset--color--white) !important;
    border: 1px solid var(--wp--preset--color--background-alt) !important;
    border-radius: 12px !important;
    padding: 2.5rem !important;
    box-shadow: 0 10px 30px rgba(45, 36, 36, 0.04) !important; /* Premium subtle warm-charcoal drop shadow */
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.nmcc-hero-card:hover {
    transform: translateY(-4px) !important; /* Elegant modern micro-lift on hover */
    box-shadow: 0 20px 40px rgba(45, 36, 36, 0.08) !important; /* Richer, softer shadow on hover */
}

/* Section Subheaders/Labels */
p.nmcc-label {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--wp--preset--color--brand-primary) !important;
}

/* Card Labels */
p.nmcc-card-label {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: var(--wp--preset--color--brand-secondary) !important;
    margin-bottom: 1rem !important;
}

/* Heading Typography */
h1.nmcc-hero-title {
    font-size: 2.85rem !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    margin-top: 0.5rem !important;
    margin-bottom: 1.5rem !important;
}

h2.nmcc-section-title {
    font-size: 2rem !important;
    font-weight: 700 !important;
    margin-top: 0.5rem !important;
    margin-bottom: 1.5rem !important;
}

h3.nmcc-subsection-title {
    font-size: 1.35rem !important;
    font-weight: 600 !important;
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
}

/* Blockquotes */
blockquote.nmcc-quote {
    border-left: 3px solid var(--wp--preset--color--brand-primary) !important;
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
    padding-left: 1.5rem !important;
}

p.nmcc-quote-text {
    font-family: var(--wp--preset--font-family--noto-serif) !important;
    font-size: 1.25rem !important;
    font-style: italic !important;
    color: var(--wp--preset--color--brand-primary) !important;
}

/* Embed Captions (Decoupled from Gutenberg Block attributes to prevent Editor validation errors) */
.wp-block-embed figcaption.wp-element-caption {
    font-size: 0.8rem !important;
    color: var(--wp--preset--color--text-muted) !important;
    margin-top: 0.5rem !important;
    text-align: center !important;
    display: block !important;
}

/* Activity Row (Decoupled to bypass Gutenberg Group block validation parser) */

.nmcc-activity-row {
    background-color: var(--wp--preset--color--background-alt) !important;
    border-radius: 6px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.75rem 1rem !important;
    margin-bottom: 1.5rem !important;
}

p.nmcc-activity-label {
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    color: var(--wp--preset--color--text-main) !important;
}

p.nmcc-activity-value {
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    color: var(--wp--preset--color--brand-primary) !important;
}

/* Hero Typography & Card Spacing Utilities (Decoupled to bypass Gutenberg editor validation warnings) */
p.nmcc-hero-text {
    font-size: 1.1rem !important;
    line-height: 1.6 !important;
}

.nmcc-hero-card-header {
    display: flex !important;
    gap: 1rem !important;
    align-items: center !important;
    margin-bottom: 1.25rem !important;
}

.nmcc-hero-card-header-titles {
    display: flex !important;
    flex-direction: column !important;
}

.nmcc-no-margin {
    margin: 0 !important;
}

h4.nmcc-card-title {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
}

p.nmcc-card-text {
    font-size: 0.875rem !important;
    margin-bottom: 1.5rem !important;
}

/* Decoupled Layout & Spacing Utilities (to eliminate all inline styles in FSE files) */
.nmcc-header-group {
    margin-bottom: 3rem !important;
}

.nmcc-section-description {
    font-size: 1rem !important;
    margin-top: 0 !important;
}

.nmcc-card-text-small {
    font-size: 0.875rem !important;
}

.nmcc-card-link-wrapper {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0 !important;
}

.nmcc-card-header-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 1rem !important;
}

.nmcc-card-date {
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

.nmcc-card-text-muted-small {
    font-size: 0.95rem !important;
    margin-bottom: 1.5rem !important;
}

.nmcc-card-link-simple {
    text-decoration: none !important;
}

.nmcc-buttons-group {
    margin-top: 2rem !important;
}

/* Special 404 Page Styling (Decoupled to eliminate inline styles) */
.nmcc-404-title {
    font-size: 4.5rem !important;
    font-weight: 700 !important;
}

.nmcc-404-subtitle {
    font-size: 1.75rem !important;
    font-weight: 600 !important;
}

.nmcc-404-text {
    margin-bottom: 2.5rem !important;
}

