/* AUTO-GENERATED by ThemeCompiler — do not edit manually.

 * Edit via Admin › Configurações › Tema do Site. */

@font-face {
    font-family: 'Sora';
    src: url('http://localhost:8000/fonts/sora/variable.woff2') format('woff2');
    font-weight: 100 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DM Sans';
    src: url('http://localhost:8000/fonts/dm-sans/variable.woff2') format('woff2');
    font-weight: 100 700;
    font-style: normal;
    font-display: swap;
}

:root {
    /* ── Brand colours ─────────────────────────────────────── */
    --color-primary:         #59341E;
    --color-primary-dark:    #3B2016;
    --color-primary-light:   #7A5A47;
    --color-secondary:       #96CBE9;
    --color-secondary-dark:  #6EACCD;
    --color-secondary-light: #BFE2F3;
    --color-success: #10b981;
    --color-danger:  #dc3545;
    --color-warning: #ffc107;

    /* ── Light theme (default) ──────────────────────────────── */
    --bg-primary:    #ffffff;
    --bg-secondary:  #E1E1E1;
    --bg-tertiary:   #F2F2F2;
    --text-primary:  #243A5e;
    --text-secondary:#2A6F97;
    --text-muted:    #6c757d;
    --border-color:  #dee2e6;
    --card-bg:       #ffffff;

    /* ── Typography ─────────────────────────────────────────── */
    --font-heading:        'Sora', sans-serif;
    --font-body:           'DM Sans', sans-serif;
    --body-line-height:    1.6;
    --heading-line-height: 1.2;
    --font-weight-normal:    400;
    --font-weight-medium:    500;
    --font-weight-semibold:  600;
    --font-weight-bold:      700;
    --font-weight-extrabold: 800;

    /* ── Font-size scale ────────────────────────────────────── */
    --font-size-xs:   0.75rem;
    --font-size-sm:   0.875rem;
    --font-size-base: 1rem;
    --font-size-md:   1.125rem;
    --font-size-lg:   1.25rem;
    --font-size-xl:   1.5rem;
    --font-size-2xl:  2rem;
    --font-size-3xl:  2.5rem;
    --font-size-4xl:  3rem;

    /* ── Spacing scale ──────────────────────────────────────── */
    --spacing-xs:  0.5rem;
    --spacing-sm:  1rem;
    --spacing-md:  2rem;
    --spacing-lg:  4rem;
    --spacing-xl:  6rem;
    --spacing-xxl: 8rem;

    /* ── Border radii ───────────────────────────────────────── */
    --border-radius-sm: 0.5rem;
    --border-radius-md: 1rem;
    --border-radius-lg: 1.5rem;
    --border-radius-xl: 2rem;

    /* ── Transitions ────────────────────────────────────────── */
    --transition-fast:   0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow:   0.5s ease;

    /* ── Layout ─────────────────────────────────────────────── */
    --container-width:        1280px;
    --container-padding:      2rem;
    --block-content-max-width:860px;

    /* ── Component tokens ───────────────────────────────────── */
    --btn-padding: 0.875rem 1.5rem;

    /* ── Shadows (light theme) ──────────────────────────────── */
    --shadow:       0 4px 20px rgba(0, 0, 0, 0.08);
    --shadow-hover: 0 4px 20px rgba(0, 0, 0, 0.15);
    --shadow-lg:    0 8px 20px -4px rgba(0, 0, 0, 0.25);

    /* ── Button contrast tokens ─────────────────────────────── */
    --btn-primary-text:  #ffffff;
    --btn-danger-text:   #243A5e;
    --btn-success-text:  #243A5e;
    --btn-warning-text:  #243A5e;

    /* ── Adaptive accent ────────────────────────────────────── */
    /* Safe primary shade for text/outline ON the page background.
     * Light mode: primary (dark shade).
     * Dark mode:  overridden below to primary-light so the colour
     *             stays legible on dark card/section backgrounds. */
    --color-primary-on-bg: #59341E;
}

[data-theme="dark"] {
    --bg-primary:    #1E2A38;
    --bg-secondary:  #243A5e;
    --bg-tertiary:   #2A6F97;
    --text-primary:  #f0f0f0;
    --text-secondary:#b8b8d0;
    --text-muted:    #8a8aa0;
    --border-color:  #2a2a42;
    --card-bg:       #243A5e;
    --shadow:       0 4px 20px rgba(0, 0, 0, 0.35);
    --shadow-hover: 0 4px 20px rgba(0, 0, 0, 0.50);
    --color-primary-on-bg: #7A5A47;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --bg-primary:    #1E2A38;
        --bg-secondary:  #243A5e;
        --bg-tertiary:   #2A6F97;
        --text-primary:  #f0f0f0;
        --text-secondary:#b8b8d0;
        --text-muted:    #8a8aa0;
        --border-color:  #2a2a42;
        --card-bg:       #243A5e;
        --shadow:       0 4px 20px rgba(0, 0, 0, 0.35);
        --shadow-hover: 0 4px 20px rgba(0, 0, 0, 0.50);
        --color-primary-on-bg: #7A5A47;
    }
}

@media (max-width: 768px) {
    :root {
        --container-padding: 1rem;
        --spacing-md: 1.5rem;
        --spacing-lg: 2.5rem;
        --spacing-xl: 3.4998rem;
    }
}

@media (max-width: 480px) {
    :root {
        --container-padding: 0.875rem;
        --spacing-lg: 2rem;
        --spacing-xl: 3rem;
    }
}