/*
Theme Name: Zapfalcon
Theme URI: https://zapfalcon.io
Author: Zapfalcon
Author URI: https://zapfalcon.io
Description: Custom WordPress theme for the Zapfalcon marketing website. Event lead capture for B2B teams.
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zapfalcon
*/

:root {
    --color-primary: #2563EB;
    --color-hot:     #ef4444;
    --color-warm:    #F59E0B;
    --color-success: #10B981;
    --color-bg:      #f9fafb;
    --color-text:    #111827;
    --color-nav:          #2563EB; /* Nav + footer background bars. Same hex as primary, semantic split. */
    --color-section-dark: #0F172A; /* Deliberately-dark surfaces (Final CTA, future dark sections). */
    --color-white:   #ffffff;
    --color-input-border: #d1d5db; /* Neutral 1px border for form inputs, channel tiles, and form cards. */
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.5;
}

/* ---------- Content pages (page.php, 404.php) ---------- */
/*
 * Scoped with :not(:has(section)) so these rules apply ONLY to template
 * pages whose <main> has no <section> child (page.php, 404.php). The
 * homepage (front-page.php) <main> contains <section> elements and is
 * therefore excluded -- its sections carry their own widths, paddings,
 * and typography from the per-section stylesheets. This restores the
 * vertical rhythm that the global reset (margin/padding 0) strips.
 */
.site-main:not(:has(section)) {
    max-width: 720px;
    margin: 0 auto;
    padding: 64px 24px;
}

@media (min-width: 768px) {
    .site-main:not(:has(section)) {
        padding: 96px 32px;
    }
}

.site-main:not(:has(section)) h1 {
    font-size: clamp(2rem, 5vw, 2.75rem);
    line-height: 1.2;
    font-weight: 600;
    margin-bottom: 32px;
}

.site-main:not(:has(section)) h2 {
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: 600;
    margin-top: 2em;
    margin-bottom: 0.5em;
}

.site-main:not(:has(section)) h3 {
    font-size: 1.25rem;
    line-height: 1.3;
    font-weight: 600;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

.site-main:not(:has(section)) p,
.site-main:not(:has(section)) ul,
.site-main:not(:has(section)) ol {
    margin-bottom: 1.25em;
    line-height: 1.7;
}

.site-main:not(:has(section)) ul,
.site-main:not(:has(section)) ol {
    padding-left: 1.5em;
}

.site-main:not(:has(section)) li {
    margin-bottom: 0.5em;
}

.site-main:not(:has(section)) a {
    color: var(--color-primary);
    text-decoration: underline;
}
