/* ============================================================
   CDF BASE – Tokens, Fonts, Reset, Typography, Layout, Footer
============================================================ */

/* ============ FONTS ============ */
@font-face {
    font-family: 'armalite';
    src: url('open-iconic/font/fonts/armalite.ttf') format('truetype');
}
@font-face {
    font-family: 'BlackOpsOne';
    src: url('open-iconic/font/fonts/BlackOpsOne-Regular.ttf') format('truetype');
}

/* ============ DESIGN TOKENS ============ */
:root {
    --cdf-bg: #152116;
    --cdf-surface: rgba(20,35,20,.88);
    --cdf-surface-2: rgba(50,70,45,.75);
    --cdf-text: #e6e6e6;
    --cdf-text-dim: #cfd6cf;
    --cdf-text-dark: #0e0e0e;
    --cdf-accent: #8fbf5a;
    --cdf-accent-2: #d4f995;
    --cdf-border: #31432a;
    --cdf-shadow: rgba(0,0,0,.6);
    --cdf-radius: 10px;
    --cdf-navbar-height: 72px;
    --cdf-footer-h: 72px;
}

/* ============ RESET ============ */
* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; overflow-x: hidden !important; }
img { max-width: 100%; display: block; }

/* ============ BODY ============ */
body {
    font-family: 'BlackOpsOne', system-ui, sans-serif;
    background: var(--cdf-bg);
    color: var(--cdf-text);
    min-height: 100vh;
    display: flex; /* Enable flexbox for sticky footer */
    flex-direction: column;
    background-image: url("/css/background_img.jpg");
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: calc(var(--cdf-footer-h));
}
@media (max-width: 1600px) {
    body { background-attachment: scroll !important; background-size: cover !important; }
}

/* ============ TYPOGRAPHY ============ */
p { font-size: 14px; margin: 0 0 .75rem; }
h1, h2, h3, h4, h5, h6 { font-family: 'BlackOpsOne'; color: var(--cdf-text); margin: 0 0 .6rem; }
h2, h3, h4, h5, h6 { color: #fff; }
h2 { text-decoration: underline; }
a { color: var(--cdf-accent); text-decoration: none; }
a:hover { filter: brightness(1.15); }

/* ============ LAYOUT ============ */
.section-surface {
    background: var(--cdf-surface);
    border-radius: var(--cdf-radius);
    box-shadow: 0 0 25px var(--cdf-shadow);
    padding: 20px;
}
.main-container {
    flex: 1; width: 100%;
    margin: 0 auto;
    padding: calc(var(--cdf-navbar-height) + 20px) min(4vw, 40px) 0px;
    display: flex; flex-direction: column; align-items: center;
    overflow-x: hidden;
}
@media (max-width: 992px) { .main-container { max-width: 100vw; padding-inline: 12px; } }
@media (max-width: 768px) { .main-container { padding: 70px 0 30px; } }
@media (max-width: 600px) { .main-container { padding-inline: 8px; } }

.bodyfeatures {
    width: 100%; max-width: 1400px; margin: 0 auto;
    padding: min(4vw, 40px) 20px;
    display: flex; flex-direction: column; align-items: center;
}
/*.main-content { padding-bottom: 80px !important; }*/

.cta-button { background: #4b5320; color: #fff; border-radius: 5px; padding: 10px 20px; font-family: 'BlackOpsOne'; }
.cta-button:hover { background: #d32f2f; color: #000; }
.two-columns { column-count: 2; column-gap: 20px; }
.small-image { height: 50px; }

/* ============ FOOTER ============ */
footer.site-footer {
    background: #000; color: white; text-align: center;
    width: 100vw !important; margin: 0 auto; padding: 5px 0;
}
.site-footer {
    width: 100%; background: #000; color: #fff; text-align: center;
    padding: 5px 0; position: fixed; bottom: 0; left: 0; z-index: 9999;
    margin-top: auto; align-self: stretch;
}