/* CFAC Editorial Style — fra Claude Design (Cooking for a Cause redesign) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Manrope:wght@300;400;500;600&display=swap');

:root {
    --cfac-ink: #111111;
    --cfac-paper: #ffffff;
    --cfac-paper-2: #f6f4ef;
    --cfac-rule: #e6e2d8;
    --cfac-mute: #7a756c;
    --cfac-accent: #ff7043;
    --cfac-display: "Cormorant Garamond", "Times New Roman", serif;
    --cfac-sans: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Override Elementor kit-default blå farver med vores brand-orange */
.elementor-kit-2359, body.elementor-page {
    --e-global-color-primary: #ff7043 !important;
    --e-global-color-secondary: #111111 !important;
    --e-global-color-text: #2a2a2a !important;
    --e-global-color-accent: #ff7043 !important;
}

/* Default heading-color skal IKKE være primary (var blå) — brug ink */
.elementor-page .elementor-widget-heading .elementor-heading-title {
    color: #111111;
}
/* Hero headings (over video) skal være hvide */
.cfac-hero-title .elementor-heading-title,
.cfac-hero-title h1 {
    color: #ffffff !important;
}

/* Default text-editor color skal være ink (var grå) */
.elementor-page .elementor-widget-text-editor {
    color: #2a2a2a;
}
.cfac-hero-sub p, .cfac-hero-sub {
    color: #ffffff !important;
}

/* Default link color */
.elementor-page a {color: inherit;}
.elementor-page a:hover {color: #ff7043;}

/* Eyebrow på hero (hvid baggrund) */
.cfac-hero-title + * .cfac-eyebrow,
.cfac-eyebrow .elementor-heading-title {
    color: rgba(255,255,255,0.85) !important;
}

/* Global accent on selection */
.elementor-page ::selection {background: var(--cfac-accent); color: var(--cfac-paper);}

/* Editorial typography — applied via custom CSS classes set on widgets */
.cfac-eyebrow {
    font-family: var(--cfac-sans) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--cfac-mute);
    font-weight: 500 !important;
    margin-bottom: 18px !important;
}
.cfac-eyebrow::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    background: var(--cfac-accent);
    vertical-align: middle;
    margin-right: 10px;
    margin-bottom: 3px;
}

.cfac-hero-title h1, .cfac-hero-title .elementor-heading-title {
    font-family: var(--cfac-display) !important;
    font-weight: 300 !important;
    font-size: clamp(56px, 9vw, 132px) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.02em !important;
    color: var(--cfac-paper) !important;
}
.cfac-hero-title em, .cfac-hero-title i {
    font-style: italic !important;
    color: var(--cfac-accent) !important;
    font-weight: 300 !important;
}

.cfac-hero-sub {
    font-family: var(--cfac-display) !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    line-height: 1.5 !important;
    color: var(--cfac-paper) !important;
    max-width: 540px;
    font-style: italic;
    font-weight: 300;
}

.cfac-section-title h2, .cfac-section-title .elementor-heading-title {
    font-family: var(--cfac-display) !important;
    font-weight: 300 !important;
    font-size: clamp(40px, 6vw, 80px) !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
    color: var(--cfac-ink);
}
.cfac-section-title em, .cfac-section-title i {
    font-style: italic !important;
    color: var(--cfac-accent) !important;
    font-weight: 300 !important;
}

.cfac-section-tag {
    font-family: var(--cfac-sans) !important;
    font-size: 11px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: var(--cfac-mute);
    font-weight: 500 !important;
    margin-bottom: 24px !important;
}
.cfac-section-tag::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    background: var(--cfac-accent);
    vertical-align: middle;
    margin-right: 10px;
    margin-bottom: 3px;
}

.cfac-body, .cfac-body p {
    font-family: var(--cfac-sans) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: var(--cfac-ink);
    font-weight: 400;
}

/* Buttons — editorial style */
.cfac-btn .elementor-button {
    font-family: var(--cfac-sans) !important;
    font-size: 13px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    padding: 14px 24px !important;
    background: var(--cfac-ink) !important;
    color: var(--cfac-paper) !important;
    border: 1px solid var(--cfac-ink) !important;
    border-radius: 0 !important;
    transition: background 0.2s, color 0.2s !important;
}
.cfac-btn .elementor-button:hover {
    background: var(--cfac-accent) !important;
    border-color: var(--cfac-accent) !important;
}
.cfac-btn-ghost .elementor-button {
    font-family: var(--cfac-sans) !important;
    font-size: 13px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    padding: 14px 24px !important;
    background: transparent !important;
    color: var(--cfac-paper) !important;
    border: 1px solid var(--cfac-paper) !important;
    border-radius: 0 !important;
}
.cfac-btn-ghost.cfac-on-light .elementor-button {color: var(--cfac-ink) !important; border-color: var(--cfac-ink) !important;}
.cfac-btn-ghost .elementor-button:hover {background: var(--cfac-paper); color: var(--cfac-ink) !important;}

/* Kodeks cards — number inline with title */
.cfac-kodeks-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
    margin-top: 48px;
}
@media (max-width: 1024px) {
    .cfac-kodeks-grid {grid-template-columns: repeat(3, 1fr); gap: 28px;}
}
@media (max-width: 640px) {
    .cfac-kodeks-grid {grid-template-columns: repeat(2, 1fr); gap: 24px;}
}
@media (max-width: 420px) {
    .cfac-kodeks-grid {grid-template-columns: 1fr;}
}
.cfac-kodeks-card {
    border-top: 1px solid var(--cfac-rule);
    padding-top: 24px;
}
.cfac-kodeks-card h3 {
    font-family: var(--cfac-display) !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    margin: 0 0 14px 0;
    color: var(--cfac-ink);
    display: flex;
    align-items: baseline;
    gap: 14px;
    flex-wrap: wrap;
}
.cfac-kodeks-card h3 .cfac-kodeks-num {
    font-family: var(--cfac-sans);
    font-size: 12px;
    letter-spacing: 0.15em;
    color: var(--cfac-accent);
    font-weight: 500;
    flex-shrink: 0;
}
.cfac-kodeks-card p {
    font-family: var(--cfac-sans);
    font-size: 14px;
    line-height: 1.65;
    color: var(--cfac-ink);
    margin: 0;
}

/* ============ MOBILE OPTIMERING ============ */
@media (max-width: 1024px) {
    .cfac-hero-title h1, .cfac-hero-title .elementor-heading-title {
        font-size: clamp(48px, 11vw, 96px) !important;
    }
    .cfac-section-title h2, .cfac-section-title .elementor-heading-title {
        font-size: clamp(36px, 8vw, 64px) !important;
    }
}
@media (max-width: 768px) {
    .cfac-hero-title h1, .cfac-hero-title .elementor-heading-title {
        font-size: clamp(40px, 13vw, 72px) !important;
        line-height: 1 !important;
    }
    .cfac-hero-sub {
        font-size: 17px !important;
    }
    .cfac-section-title h2, .cfac-section-title .elementor-heading-title {
        font-size: clamp(32px, 9vw, 56px) !important;
    }
    .cfac-impact-counter .elementor-counter-number-wrapper {
        font-size: clamp(64px, 20vw, 120px) !important;
    }
    .cfac-kodeks-card h3 {
        font-size: 22px !important;
    }
    .cfac-vol8-meta {
        grid-template-columns: 1fr 1fr !important;
        gap: 18px 24px !important;
    }
    .cfac-vol8-meta .v {
        font-size: 18px !important;
    }
    .cfac-countdown {
        padding: 24px 18px !important;
        gap: 8px !important;
    }
    .cfac-cd-num {
        font-size: clamp(32px, 9vw, 48px) !important;
    }
    .cfac-cd-lbl {
        font-size: 9px !important;
    }
}
@media (max-width: 480px) {
    .cfac-vol8-meta {
        grid-template-columns: 1fr !important;
    }
    .cfac-countdown {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 18px !important;
    }
}

/* Impact counter — huge editorial number */
.cfac-impact-counter .elementor-counter-number-wrapper {
    font-family: var(--cfac-display) !important;
    font-size: clamp(80px, 16vw, 220px) !important;
    font-weight: 300 !important;
    line-height: 0.9 !important;
    color: var(--cfac-ink);
    letter-spacing: -0.04em !important;
}
.cfac-impact-counter .elementor-counter-number-suffix {
    font-family: var(--cfac-sans) !important;
    font-size: 0.18em !important;
    letter-spacing: 0.1em;
    color: var(--cfac-accent);
    text-transform: lowercase;
    font-weight: 500 !important;
    margin-left: 0.2em !important;
    vertical-align: top;
}
.cfac-impact-cap {
    font-family: var(--cfac-sans) !important;
    font-size: 12px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--cfac-mute);
    text-align: center;
    margin-top: 16px;
}

/* Vol 8 countdown box */
.cfac-countdown {
    background: var(--cfac-ink);
    color: var(--cfac-paper);
    padding: 32px 28px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    border-radius: 0;
    text-align: center;
}
.cfac-countdown-label {
    font-family: var(--cfac-sans);
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cfac-accent);
    margin-bottom: 18px;
    grid-column: 1/-1;
    text-align: left;
}
.cfac-cd-cell {display: flex; flex-direction: column; align-items: center;}
.cfac-cd-num {
    font-family: var(--cfac-display);
    font-size: clamp(40px, 6vw, 64px);
    font-weight: 300;
    line-height: 1;
}
.cfac-cd-lbl {
    font-family: var(--cfac-sans);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cfac-mute);
    margin-top: 8px;
}

/* Vol 8 meta */
.cfac-vol8-meta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 32px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--cfac-rule);
}
.cfac-vol8-meta .k {
    font-family: var(--cfac-sans);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--cfac-mute);
    margin-bottom: 4px;
}
.cfac-vol8-meta .v {
    font-family: var(--cfac-display);
    font-size: 22px;
    font-weight: 400;
    color: var(--cfac-ink);
}
.cfac-vol8-meta em {color: var(--cfac-accent); font-style: italic;}

/* Caption */
.cfac-caption {
    font-family: var(--cfac-sans) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--cfac-mute) !important;
    margin-top: 8px !important;
}
