/* =============================================
   Procon Online Landing — Mock Styles
   Sistema tipográfico com variáveis CSS
   ============================================= */

/* --- Variáveis de design --- */
:root {
    /* Fonte */
    --procon-font:
        system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif;

    /* Tamanhos tipográficos (px — projeto usa html 10px, rem é imprevisível) */
    --procon-size-xs: 12px;
    --procon-size-sm: 14px;
    --procon-size-base: 16px;
    --procon-size-md: 18px;
    --procon-size-lg: 24px;
    --procon-size-xl: 32px;
    --procon-size-xxl: 40px;

    /* Pesos */
    --procon-weight-normal: 400;
    --procon-weight-medium: 500;
    --procon-weight-semibold: 600;
    --procon-weight-bold: 700;

    /* Alturas de linha */
    --procon-line-tight: 1.3;
    --procon-line-normal: 1.6;
    --procon-line-relaxed: 1.7;

    /* Cores de texto */
    --procon-text-primary: #1a1a2e;
    --procon-text-secondary: #333;
    --procon-text-body: #555;
    --procon-text-muted: #666;
    --procon-text-light: #777;
    --procon-text-warning: #c0392b;

    /* Cores de link */
    --procon-link: #2980b9;
    --procon-link-hover: #1a5276;
    --procon-link-success: #5cb85c;
    --procon-link-success-hover: #449d44;

    /* Cores de fundo e borda */
    --procon-bg-body: #f8f8f8;
    --procon-bg-white: #fff;
    --procon-bg-light: #f9f9f9;
    --procon-border: #ddd;

    /* Cores de componentes */
    --procon-green: #5cb85c;
    --procon-green-hover: #449d44;
    --procon-panel-heading-bg: #f5f5f5;
}

/* --- Base --- */
body.procon-landing {
    background-color: var(--procon-bg-body) !important;
    margin: 0;
    font-family: var(--procon-font);
}

/* --- Navbar --- */
body.procon-landing .navbar {
    background-color: var(--procon-bg-white) !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
}

body.procon-landing .navbar .icone-navbar-brand {
    margin-top: -1vh;
    height: 5vh;
}

body.procon-landing .navbar .navbar-text {
    color: var(--procon-text-secondary) !important;
    font-weight: var(--procon-weight-bold) !important;
}

.navbar-govbr-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 12px 15px !important;
}

/* --- Jumbotron --- */
body.procon-landing .jumbotron {
    margin-bottom: 0 !important;
}

body.procon-landing .jumbotron-demandas {
    margin-bottom: 0 !important;
    padding-top: 20px !important;
    padding-bottom: 40px !important;
}

/* Hierarquia tipográfica */
.jumbotron-title {
    font-size: var(--procon-size-xl);
    font-weight: var(--procon-weight-semibold);
    color: var(--procon-text-secondary);
    line-height: var(--procon-line-tight);
    margin-top: 10px;
    margin-bottom: 15px;
}

.jumbotron-demandas h1.jumbotron-title {
    font-size: var(--procon-size-xxl);
    font-weight: var(--procon-weight-bold);
    color: var(--procon-text-primary);
    margin-top: 30px;
    margin-bottom: 20px;
}

.jumbotron-title-warning {
    font-size: var(--procon-size-lg) !important;
    font-weight: var(--procon-weight-bold) !important;
    color: var(--procon-text-warning) !important;
    margin-bottom: 15px !important;
}

/* Corpo de texto — especificidade alta para vencer .jumbotron p do Bootstrap */
.jumbotron-demandas .jumbotron-intro {
    font-size: var(--procon-size-base);
    font-weight: var(--procon-weight-normal);
    color: var(--procon-text-muted);
    max-width: 800px;
    margin: 0 auto;
    line-height: var(--procon-line-normal);
}

.jumbotron-demandas .jumbotron-intro-lead {
    font-size: var(--procon-size-md);
    color: var(--procon-text-body);
    margin-bottom: 30px;
}

.jumbotron-demandas .jumbotron-intro-docs {
    font-weight: var(--procon-weight-medium);
    color: var(--procon-text-body);
    max-width: 700px;
}

.jumbotron-demandas ul.jumbotron-intro {
    list-style-position: inside;
    text-align: left;
    display: inline-block;
    margin-top: 10px;
    margin-bottom: 20px;
    padding-left: 0;
}

.jumbotron-govbr-wrapper {
    margin: 40px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

#app_procon_landing {
    display: flex;
    justify-content: center;
    width: 100%;
}

.jumbotron-demandas hr {
    max-width: 600px;
    margin: 40px auto;
    border-top: 1px solid var(--procon-border);
}

.logo-procon-online {
    max-width: 236px;
    height: auto;
}

/* --- Info Alert Box --- */
.procon-info-alert {
    background-color: var(--procon-bg-light);
    border: 1px solid var(--procon-border);
    border-radius: 4px;
    padding: 15px 24px;
    margin: 30px 0;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.procon-info-alert .info-icon {
    padding-top: 2px;
    color: var(--procon-text-body);
    flex-shrink: 0;
}

.procon-info-alert .info-text {
    line-height: var(--procon-line-normal);
    color: var(--procon-text-body);
    font-size: var(--procon-size-sm);
}

.procon-info-alert .info-text p {
    margin: 0 0 5px 0;
}

.procon-info-alert .info-text p:last-child {
    margin-bottom: 0;
}

/* --- Cards/Panels --- */
.procon-cards {
    margin: 0 -10px 30px -10px;
}

.procon-cards > [class*="col-"] {
    padding: 0 10px;
    display: flex;
}

.procon-panel {
    border: 1px solid var(--procon-border) !important;
    border-radius: 4px !important;
    margin-bottom: 0 !important;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.procon-panel .panel-body {
    flex: 1;
    font-size: var(--procon-size-sm);
    line-height: var(--procon-line-relaxed);
    color: var(--procon-text-body);
}

.procon-panel .panel-body p {
    margin-bottom: 12px;
}

.procon-panel .panel-body p:last-child {
    margin-bottom: 0;
}

.procon-panel .panel-body strong {
    color: var(--procon-text-secondary);
}

.procon-panel-heading {
    background-color: var(--procon-panel-heading-bg) !important;
    border-color: var(--procon-border) !important;
    padding: 12px 15px;
}

.procon-panel-heading .panel-title {
    font-size: var(--procon-size-base);
    font-weight: var(--procon-weight-bold);
    color: var(--procon-text-secondary);
}

.procon-panel-heading .panel-title i {
    color: var(--procon-green);
    margin-right: 4px;
}

.procon-panel-featured {
    border-left: 4px solid var(--procon-green) !important;
}

/* --- Links --- */
.procon-link {
    color: var(--procon-link);
    text-decoration: underline;
    font-weight: var(--procon-weight-semibold);
}

.procon-link:hover {
    color: var(--procon-link-hover);
}

.procon-link-success {
    color: var(--procon-link-success);
    font-weight: var(--procon-weight-semibold);
    text-decoration: none;
}

.procon-link-success:hover {
    text-decoration: underline;
    color: var(--procon-link-success-hover);
}

/* --- GovBR Callout --- */
.procon-govbr-callout {
    margin: 40px 0;
    padding: 30px;
    background-color: var(--procon-bg-light);
    border: 1px solid var(--procon-border);
    border-radius: 4px;
}

.procon-govbr-callout .callout-text {
    font-size: var(--procon-size-base);
    color: var(--procon-text-body);
    margin-bottom: 20px;
}

.procon-btn-govbr {
    background-color: var(--procon-green) !important;
    border-color: #4cae4c !important;
    color: var(--procon-bg-white) !important;
    padding: 12px 40px;
    font-size: var(--procon-size-md);
    border-radius: 4px;
}

.procon-btn-govbr:hover {
    background-color: var(--procon-green-hover) !important;
    border-color: #398439 !important;
    color: var(--procon-bg-white) !important;
}

/* --- Footer --- */
body.procon-landing footer {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.procon-landing footer.navbar {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
}

.logo-canoastec-footer {
    height: 30px;
}

body.procon-landing footer hr {
    display: none !important;
}

footer .version {
    font-size: var(--procon-size-xs);
    color: var(--procon-text-light);
}

/* --- Utilities --- */
.text-justify {
    text-align: justify;
}

/* --- Responsivo --- */
@media (max-width: 992px) {
    .procon-cards > [class*="col-"] {
        margin-bottom: 20px;
    }
}

@media (max-width: 768px) {
    .jumbotron-demandas h1.jumbotron-title {
        font-size: 32px;
    }

    .jumbotron-title {
        font-size: 24px;
    }

    .jumbotron-demandas .jumbotron-intro {
        font-size: var(--procon-size-sm);
    }

    .procon-info-alert {
        flex-direction: column;
        gap: 8px;
    }

    .procon-btn-govbr {
        padding: 10px 24px;
        font-size: var(--procon-size-base);
    }

    .logo-procon-online {
        max-width: 280px;
    }
}
