/* ==========================================================================
   ARQUIVO CSS EXCLUSIVO: CRIÇÃO DE SITES - ABACODE
   ========================================================================== */

:root {
    /* Cores Principais - Identidade Abacode */
    --primary-blue: #051126;
    --electric-cyan: #0b5394;
    --pure-white: #ffffff;
    --fonte-texto: #053682;
    
    /* Cores de Apoio e Transparências */
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(0, 229, 255, 0.1);
    --text-muted: #b0b0b0;
    
    /* Espaçamentos e Bordas */
    --radius-lg: 20px;
    --radius-md: 12px;
    --gap-section: clamp(40px, 8vw, 80px); /* Ajuste fluido conforme tela */
    
    /* Tipografia */
    --font-main: 'Inter', sans-serif;
}

/* Reset e Estrutura Base */
.abacode-site-builder {
    background-color: var(--pure-white);
    color: var(--fonte-texto);
    padding: var(--gap-section) 0;
    font-family: var(--fonte-texto);
    line-height: 1.7;
    overflow-x: hidden; /* Evita scroll horizontal em telas pequenas */
}

.abacode-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 5%; /* Padding em porcentagem para flexibilidade total */
}

/* Tipografia SEO e Títulos */
.page-intro {
    text-align: center;
    margin-bottom: var(--gap-section);
}

.page-intro h1 {
    color: var(--fonte-texto);
    font-size: clamp(1.8rem, 5vw, 2.8rem); /* Tamanho responsivo automático */
    line-height: 1.2;
    margin-bottom: 20px;
}

.abacode-site-builder h2 {
    color: var(--electric-cyan);
    font-size: clamp(1.5rem, 4vw, 2rem);
    margin-top: var(--gap-section);
    margin-bottom: 25px;
}

.abacode-site-builder h3 {
    color: var(--fonte-texto);
    font-size: clamp(1.1rem, 3vw, 1.4rem);
    margin-bottom: 15px;
}

/* Blocos de Destaque (Estilo Vidro / Glassmorphism) */
.didatic-box, 
.recheio-box, 
.comparison-quote {
    background: var(--glass-bg);
    border-left: 4px solid var(--electric-cyan);
    padding: clamp(20px, 4vw, 35px);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    margin: 30px 0;
}

.comparison-quote p {
    font-style: italic;
    font-size: 1.8rem;
    color: var(--electric-cyan);
}

/* Grid de Papéis (Desenvolvedor vs Marketing) */
.roles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Auto-ajuste mágico */
    gap: 30px;
    margin-top: 40px;
}

.role-card {
    background: var(--glass-bg);
    padding: 25px;
    border-radius: var(--radius-md);
    border: 1px solid var(--glass-border);
    transition: transform 0.3s ease;
}

.role-card:hover {
    transform: translateY(-5px);
}

.role-card h4 {
    color: var(--electric-cyan);
    margin-bottom: 15px;
    font-size: 1.2rem;
}

/* Estilização para Listas */
.glossary-grid ul {
    list-style: none;
    padding: 0;
}

.glossary-grid li {
    margin-bottom: 15px;
    padding-left: 20px;
    position: relative;
}

.glossary-grid li::before {
    content: "•";
    color: var(--electric-cyan);
    position: absolute;
    left: 0;
    font-weight: bold;
}

/* Ajustes de Responsividade Fina */
@media (max-width: 480px) {
    .abacode-container {
        padding: 0 15px;
    }
    
    .role-card {
        padding: 20px;
    }
}

/* Estilo do Formulário */
.form-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    padding: clamp(20px, 5vw, 40px);
    border-radius: var(--radius-lg);
    margin-bottom: 30px;
}

.input-group {
    margin-bottom: 25px;
}

.input-group p {
    font-weight: bold;
    margin-bottom: 10px;
    color: var(--pure-white);
}

.options-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;
    margin-bottom: 15px;
}

.abacode-input {
    width: 100%;
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid var(--glass-border);
    color: var(--pure-white);
    padding: 12px;
    border-radius: var(--radius-md);
    transition: 0.3s;
}

.abacode-input:focus {
    border-color: var(--electric-cyan);
    outline: none;
}

.abacode-textarea {
    height: 100px;
    resize: vertical;
}

.btn-submit-briefing {
    background: var(--electric-cyan);
    color: var(--primary-blue);
    padding: 15px 40px;
    border: none;
    border-radius: 30px;
    font-weight: bold;
    cursor: pointer;
    font-size: 1.1rem;
    transition: 0.3s;
}

.btn-submit-briefing:hover {
    box-shadow: 0 0 20px rgba(0, 229, 255, 0.4);
    transform: scale(1.02);
}

.briefing-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); /* Cria as duas colunas */
    gap: 30px; /* Espaço entre os cards */
    align-items: start;
}

/* Garante que o rodapé (botão) ocupe as duas colunas inteiras */
.form-footer {
    grid-column: 1 / -1; 
    text-align: center;
    padding-top: 20px;
}

/* Ajuste para telas pequenas: volta a ser uma coluna se o espaço for menor que 450px */
@media (max-width: 480px) {
    .briefing-form {
        grid-template-columns: 1fr;
    }
}

.layout-duas-colunas {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Divide em duas colunas iguais */
    gap: 30px; /* Espaço entre as colunas */
    align-items: start;
}

/* Responsividade: Celular e Tablets pequenos */
@media (max-width: 991px) {
    .layout-duas-colunas {
        grid-template-columns: 1fr; /* Volta para uma única coluna */
        gap: 20px;
    }
}

.coluna-esquerda {
    background-color: #f9f9f9;
    padding: 20px; /* Simplifiquei os paddings para 20px em tudo */
    margin-top: 10px;
    overflow: hidden; /* SOLUÇÃO: Isso impede o colapso de margem com os filhos */
}

/* Estilo para a coluna da direita não "sumir" enquanto vazia (opcional para teste) */
.coluna-direita {
    min-height: 100px;
}

.info-section {
    margin-top: 0 !important; /* Zera a margem da section */
}

.info-section h2:first-child {
    margin-top: 0 !important; /* Zera a margem do título que vem do tema */
    padding-top: 0;
}

 .form-group {
        color: var(form-primary) !important;
    }
