/**
 * TaraIT - CodiCraft Theme Presentation Contract v1
 *
 * Diese Datei stellt die semantischen Darstellungswerte für den CodiCraft
 * Page Builder bereit. Die eigentliche Landing-Page-Gestaltung liegt in style.css.
 */
:root {
    --cc-theme-text-default: #0a2245;
    --cc-theme-text-muted: #5f6f86;
    --cc-theme-text-light: #ffffff;
    --cc-theme-text-accent: #126dcc;

    --cc-theme-bg-default: #ffffff;
    --cc-theme-bg-light: #f5faff;
    --cc-theme-bg-dark: #061f46;
    --cc-theme-bg-accent: #126dcc;

    --cc-theme-width-default: 760px;
    --cc-theme-width-wide: 1120px;
    --cc-theme-width-full: 100%;

    --cc-theme-section-space-none: 0px;
    --cc-theme-section-space-small: 20px;
    --cc-theme-section-space-normal: 36px;
    --cc-theme-section-space-large: 56px;

    --cc-theme-container-space-none: 0px;
    --cc-theme-container-space-small: 10px;
    --cc-theme-container-space-normal: 18px;
    --cc-theme-container-space-large: 30px;

    --cc-theme-space-none: 0px;
    --cc-theme-space-small: 12px;
    --cc-theme-space-normal: 22px;
    --cc-theme-space-large: 36px;

    --cc-theme-button-primary-color: #ffffff;
    --cc-theme-button-primary-bg: #061f46;
    --cc-theme-button-primary-border: #0a326f;

    --cc-theme-button-secondary-color: #ffffff;
    --cc-theme-button-secondary-bg: #0f5eac;
    --cc-theme-button-secondary-border: #0f5eac;

    --cc-theme-button-outline-color: #061f46;
    --cc-theme-button-outline-bg: transparent;
    --cc-theme-button-outline-border: #0a326f;
}

.cc-block {
    box-sizing: border-box;
}

.cc-heading,
.cc-richtext,
.cc-image,
.cc-divider {
    width: min(calc(100% - (2 * var(--site-gutter, 1rem))), var(--content-width, 760px));
    margin-inline: auto;
}

.cc-container,
.cc-columns {
    width: min(calc(100% - (2 * var(--site-gutter, 1rem))), var(--wide-width, 1120px));
    margin-inline: auto;
}

.cc-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md, 1.4rem);
}

.cc-column {
    min-width: 0;
}

.cc-width--default {
    width: min(calc(100% - (2 * var(--site-gutter, 1rem))), var(--content-width, 760px));
    margin-inline: auto;
}

.cc-width--wide {
    width: min(calc(100% - (2 * var(--site-gutter, 1rem))), var(--wide-width, 1120px));
    margin-inline: auto;
}

.cc-width--full {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}

.cc-bg--default {
    background: transparent;
}

.cc-bg--light {
    background: #f5faff;
}

.cc-bg--dark {
    color: #ffffff;
    background: #061f46;
}

.cc-bg--accent {
    color: #ffffff;
    background: #126dcc;
}

.cc-spacing--none {
    --cc-space: 0;
}

.cc-spacing--small {
    --cc-space: var(--space-sm, 0.8rem);
}

.cc-spacing--normal {
    --cc-space: var(--space-md, 1.4rem);
}

.cc-spacing--large {
    --cc-space: var(--space-lg, 2.5rem);
}

.cc-section.cc-spacing--small {
    padding-block: 20px;
}

.cc-section.cc-spacing--normal {
    padding-block: 36px;
}

.cc-section.cc-spacing--large {
    padding-block: 56px;
}

:is(.cc-heading, .cc-richtext, .cc-image, .cc-button, .cc-divider, .cc-columns).cc-spacing--small {
    margin-block: var(--space-sm, 0.8rem);
}

:is(.cc-heading, .cc-richtext, .cc-image, .cc-button, .cc-divider, .cc-columns).cc-spacing--normal {
    margin-block: var(--space-md, 1.4rem);
}

:is(.cc-heading, .cc-richtext, .cc-image, .cc-button, .cc-divider, .cc-columns).cc-spacing--large {
    margin-block: var(--space-lg, 2.5rem);
}

.cc-heading {
    color: #061f46;
    text-wrap: balance;
}

h1.cc-heading {
    font-size: clamp(2.4rem, 6vw, 4.8rem);
    line-height: 1;
    letter-spacing: -0.045em;
}

h2.cc-heading {
    font-size: clamp(1.9rem, 4vw, 3rem);
    line-height: 1.08;
}

h3.cc-heading {
    font-size: clamp(1.45rem, 3vw, 2.1rem);
    line-height: 1.15;
}

.cc-richtext {
    color: #5f6f86;
    line-height: 1.7;
}

.cc-richtext a {
    color: #0f5eac;
}

.cc-button {
    border-radius: 14px;
    font-weight: 750;
    text-decoration: none;
}

.cc-button--primary {
    color: #ffffff;
    background: #061f46;
    border-color: #0a326f;
}

.cc-button--secondary {
    color: #ffffff;
    background: #0f5eac;
    border-color: #0f5eac;
}

.cc-button--outline {
    color: #061f46;
    background: transparent;
    border-color: #0a326f;
}

@media (max-width: 720px) {
    .cc-columns {
        grid-template-columns: 1fr;
    }
}
