/*
 * CCS Premium Typography v1.0.0
 * Global typography refinement for the custom CCS site modules.
 * Uses native system fonts only: no Google Fonts / no external font requests.
 */

:root {
    --ccs-type-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --ccs-type-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --ccs-type-white: rgba(255,255,255,.94);
    --ccs-type-body-dark: rgba(255,255,255,.72);
    --ccs-type-muted-dark: rgba(255,255,255,.52);
}

body.ccs-premium-typography-active {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-kerning: normal;
}

/* ---------- BASE FONT SYSTEM ---------- */
.ccsv2-site,
.ccs-site,
.ws-site,
.mg-site,
.ccs-market-site,
.ccs-rental-site {
    font-family: var(--ccs-type-body) !important;
    font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

.ccsv2-site h1,.ccsv2-site h2,.ccsv2-site h3,.ccsv2-site h4,
.ccs-site h1,.ccs-site h2,.ccs-site h3,.ccs-site h4,
.ws-site h1,.ws-site h2,.ws-site h3,.ws-site h4,
.mg-site h1,.mg-site h2,.mg-site h3,.mg-site h4,
.ccs-market-site h1,.ccs-market-site h2,.ccs-market-site h3,.ccs-market-site h4,
.ccs-rental-site h1,.ccs-rental-site h2,.ccs-rental-site h3,.ccs-rental-site h4 {
    font-family: var(--ccs-type-display) !important;
    font-weight: 600 !important;
    font-synthesis: none;
    text-wrap: balance;
}

/* ---------- HERO / DISPLAY HEADLINES ---------- */
.ccsv2-hero h1,
.ccs-hero h1,
.ws-hero h1,
.mg-hero h1,
.mg-subhero h1,
.mg-product-copy h1,
.mg-contact-copy h1,
.ccs-mm-hero h1,
.ccs-r-hero h1 {
    font-weight: 600 !important;
    letter-spacing: -.045em !important;
    line-height: .91 !important;
}

.ccsv2-hero h1 { font-size: clamp(58px, 6.3vw, 102px) !important; }
.ws-hero h1 { font-size: clamp(56px, 5.9vw, 96px) !important; }
.mg-hero h1 { font-size: clamp(62px, 6.4vw, 108px) !important; }
.mg-subhero h1 { font-size: clamp(54px, 5.5vw, 88px) !important; }
.mg-product-copy h1 { font-size: clamp(44px, 4.25vw, 68px) !important; }
.mg-contact-copy h1 { font-size: clamp(52px, 5.4vw, 86px) !important; }

/* ---------- SECTION HEADLINES ---------- */
.ccsv2-site h2,
.ccs-site h2,
.ws-site h2,
.mg-site h2,
.ccs-market-site h2,
.ccs-rental-site h2 {
    font-weight: 600 !important;
    letter-spacing: -.035em !important;
    line-height: 1.00 !important;
}

.ccsv2-site h3,
.ccs-site h3,
.ws-site h3,
.mg-site h3,
.ccs-market-site h3,
.ccs-rental-site h3 {
    font-weight: 600 !important;
    letter-spacing: -.022em !important;
    line-height: 1.08 !important;
}

/* Home v2 – deliberately a touch quieter than the original */
.ccsv2-intro h2 { font-size: clamp(39px, 4.25vw, 66px) !important; }
.ccsv2-market-copy h2 { font-size: clamp(38px, 4.1vw, 62px) !important; }
.ccsv2-megastar-copy h2 { font-size: clamp(40px, 4.25vw, 64px) !important; }
.ccsv2-contact h2 { font-size: clamp(42px, 4.6vw, 70px) !important; }

/* Werkstatt */
.ws-section-head h2,.ws-process-copy h2,.ws-image-cta h2 {
    font-size: clamp(42px, 4.4vw, 68px) !important;
}
.ws-proof strong {
    font-weight: 600 !important;
    letter-spacing: -.035em !important;
    line-height: 1.02 !important;
}

/* MEGASTAR – keeps its technical character, but removes excess heaviness */
.mg-section-head h2,.mg-fluid-preview-grid h2,.mg-custom-fluid h2,.mg-product-details h2 {
    font-size: clamp(40px, 4.45vw, 68px) !important;
}
.mg-private-label h3,.mg-highlight-box h3 {
    font-weight: 600 !important;
    letter-spacing: -.03em !important;
}
.mg-product-model-badge span {
    font-weight: 650 !important;
    letter-spacing: -.025em !important;
}

/* ---------- BODY COPY ---------- */
.ccsv2-site p,.ccsv2-site li,.ccsv2-site em,
.ccs-site p,.ccs-site li,
.ws-site p,.ws-site li,
.mg-site p,.mg-site li,
.ccs-market-site p,.ccs-market-site li,
.ccs-rental-site p,.ccs-rental-site li {
    font-family: var(--ccs-type-body) !important;
    font-weight: 400 !important;
    letter-spacing: .002em;
}

/* Dark sections: soften pure white copy slightly */
.ccsv2-hero-copy p,.ccsv2-intro-copy p,.ccsv2-card-copy em,.ccsv2-megastar-copy p,
.ws-hero-copy>p,.ws-section-head>p,.ws-world-grid p,.ws-image-cta p,
.mg-hero-copy p,.mg-section-head>p,.mg-fluid-preview-grid p,.mg-private-label p,.mg-product-copy p,.mg-contact-copy>p,
.ccs-mm-hero p,.ccs-r-hero p {
    color: var(--ccs-type-body-dark) !important;
}

/* General paragraph rhythm */
.ccsv2-site p,.ccs-site p,.ws-site p,.mg-site p,.ccs-market-site p,.ccs-rental-site p {
    line-height: 1.72 !important;
}

/* ---------- NAVIGATION ---------- */
.ccsv2-nav a,.ccs-nav a,.ws-nav a,.mg-nav a,
.ccs-mm-header a,.ccs-r-header a {
    font-family: var(--ccs-type-body) !important;
    font-size: 9.5px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
}

/* ---------- BUTTONS ---------- */
.ccsv2-btn,.ccs-button,.ws-btn,.mg-btn,.ccs-mm-btn,.ccs-r-btn,
.ccsv2-contact-button,.mg-fluid-link {
    font-family: var(--ccs-type-body) !important;
    font-size: 9.5px !important;
    font-weight: 600 !important;
    letter-spacing: .105em !important;
}

/* ---------- EYEBROWS / LABELS ---------- */
.ccsv2-kicker,.ccsv2-card-copy small,.ccsv2-capabilities span,
.ccs-overline,.ccs-kicker,
.ws-eyebrow,.ws-section-head>div>span,.ws-process-copy>span,.ws-image-cta span,.ws-proof small,
.mg-overline,.mg-kicker,.mg-fluid-top span,.mg-highlight-box>span,
.ccs-mm-kicker,.ccs-r-kicker {
    font-family: var(--ccs-type-body) !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: .18em !important;
}

/* ---------- CARD TITLES ---------- */
.ccsv2-card-copy strong,
.ws-world-grid h3,
.mg-machine-card h3,
.mg-fluid-card h2,
.ccs-mm-card h2,
.ccs-r-card h2 {
    font-weight: 600 !important;
    letter-spacing: -.025em !important;
}

/* ---------- BRAND COPY (not image logos) ---------- */
.ccsv2-brand-copy strong,.ccs-brand-copy strong,.ws-brand-copy strong,
.ccs-mm-brand strong,.ccs-r-brand strong {
    font-weight: 600 !important;
    letter-spacing: -.025em !important;
}
.ccsv2-brand-copy small,.ccs-brand-copy small,.ws-brand-copy small,
.ccs-mm-brand small,.ccs-r-brand small {
    font-weight: 600 !important;
    letter-spacing: .20em !important;
}

/* ---------- FORMS ---------- */
.ws-field input,.ws-field textarea,.ws-field select,
.mg-field input,.mg-field textarea,.mg-field select,
.ccs-r-form input,.ccs-r-form textarea,.ccs-r-form select,
.ccs-mm-form input,.ccs-mm-form textarea,.ccs-mm-form select {
    font-family: var(--ccs-type-body) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}
.ws-field span,.mg-field span,.ccs-r-form label,.ccs-mm-form label {
    font-weight: 600 !important;
    letter-spacing: .11em !important;
}

/* ---------- RESPONSIVE TUNING ---------- */
@media (max-width: 760px) {
    .ccsv2-hero h1,.ccs-hero h1 { font-size: 50px !important; letter-spacing: -.04em !important; }
    .ws-hero h1 { font-size: 50px !important; letter-spacing: -.04em !important; }
    .mg-hero h1 { font-size: 54px !important; letter-spacing: -.04em !important; }
    .mg-subhero h1,.mg-contact-copy h1 { font-size: 47px !important; letter-spacing: -.04em !important; }
    .mg-product-copy h1 { font-size: 43px !important; }

    .ccsv2-intro h2,.ccsv2-market-copy h2,.ccsv2-megastar-copy h2,.ccsv2-contact h2,
    .ws-section-head h2,.ws-process-copy h2,.ws-image-cta h2,
    .mg-section-head h2,.mg-fluid-preview-grid h2,.mg-custom-fluid h2,.mg-product-details h2 {
        font-size: 39px !important;
        letter-spacing: -.03em !important;
    }

    .ccsv2-nav a,.ccs-nav a,.ws-nav a,.mg-nav a,.ccs-mm-header a,.ccs-r-header a,
    .ccsv2-btn,.ccs-button,.ws-btn,.mg-btn,.ccs-mm-btn,.ccs-r-btn {
        letter-spacing: .09em !important;
    }
}
