/* ============================
   CSS CUSTOM PROPERTIES
   ============================ */
:root {
    --nf-black: #101010;
    --nf-white: #FFFFFF;
    --nf-orange: #FF6600;
    --nf-gray: #666666;
    --nf-light-gray: #F0F0F0;
    --nf-border: #E0E0E0;

    --font-display: 'Inter', sans-serif;
    --font-body: 'Inter', sans-serif;

    --space-xs: 10px;
    --space-sm: 24px;
    --space-md: 32px;
    --space-lg: 34px;
    --space-xl: 48px;
    --space-2xl: 100px;

    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-circle: 50%;

    --transition-fast: 200ms ease;
    --transition-medium: 300ms ease-out;
    --transition-slow: 500ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ============================
   RESET / BASE
   ============================ */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

body {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
    color: var(--nf-black);
    background: var(--nf-white);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
}

/* Remove Astra defaults */
.ast-container {
    max-width: 100% !important;
    padding: 0 !important;
}

.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-comment-list li,
.ast-separate-container .ast-woocommerce-container {
    padding: 0;
}

#primary {
    padding: 0;
    margin: 0;
}

.entry-content {
    padding: 0;
}

.site-content > .ast-container {
    display: block;
}

/* ============================
   TYPOGRAPHY
   ============================ */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    margin: 0;
    padding: 0;
}

h2 {
    font-size: 34px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -1.7px;
    color: var(--nf-black);
}

h3 {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -1.3px;
    color: var(--nf-black);
}

h4 {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.6px;
    color: var(--nf-black);
}

p {
    margin: 0 0 1em;
    line-height: 1.5;
}

/* ============================
   LAYOUT
   ============================ */
.nf-main {
    min-height: 100vh;
}

.nf-section {
    padding: var(--space-sm);
}

.nf-section__heading {
    margin-bottom: var(--space-md);
}

/* ============================
   FEATURE IMAGE (Standalone)
   ============================ */
.nf-feature-image {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--space-xl) var(--space-sm);
}

.nf-feature-image img {
    max-width: 800px;
    width: 100%;
    height: auto;
    border-radius: var(--radius-md);
}
