/* ==========================================================
   capta-base.css — layout e utilitários neutros da Base Capta
   Prefixo capta- : não depende de Bootstrap nem de Tailwind.
   Funcionalidades (cookies, forms, WhatsApp, homologação) ficam
   na seção 1 de custom.css (também injetada em LPs livres).
   ========================================================== */

*, *::before, *::after { box-sizing: border-box; }

.capta-container {
    width: 100%;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
}

.capta-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -8px;
    margin-right: -8px;
}
.capta-g-4 > [class*="capta-col"] { padding: 8px; }
.capta-gy-4 > [class*="capta-col"] { padding-top: 8px; padding-bottom: 8px; }
.capta-gx-4 > [class*="capta-col"] { padding-left: 8px; padding-right: 8px; }

[class*="capta-col"] {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    padding-left: 8px;
    padding-right: 8px;
}
.capta-col { flex: 1 0 0%; width: auto; max-width: 100%; }
.capta-col-6 { width: 50%; }
.capta-col-12 { width: 100%; }

@media (min-width: 768px) {
    .capta-col-md-6 { width: 50%; }
}
@media (min-width: 992px) {
    .capta-col-lg-2 { width: 16.66666667%; }
    .capta-col-lg-4 { width: 33.33333333%; }
    .capta-col-lg-5 { width: 41.66666667%; }
    .capta-col-lg-6 { width: 50%; }
    .capta-col-lg-7 { width: 58.33333333%; }
    .capta-col-lg-8 { width: 66.66666667%; }
}

.capta-ai-center { align-items: center; }
.capta-jc-center { justify-content: center; }
.capta-text-center { text-align: center; }
.capta-text-start { text-align: left; }
.capta-text-end { text-align: right; }

.capta-d-grid { display: grid; }
.capta-d-flex { display: flex; }
.capta-d-none { display: none !important; }
.capta-d-block { display: block; }
.capta-gap-2 { gap: 8px; }
.capta-gap-3 { gap: 12px; }
.capta-gap-4 { gap: 16px; }

.capta-mt-2 { margin-top: 8px; }
.capta-mt-3 { margin-top: 16px; }
.capta-mt-4 { margin-top: 24px; }
.capta-mt-5 { margin-top: 48px; }
.capta-mb-0 { margin-bottom: 0; }
.capta-mb-1 { margin-bottom: 4px; }
.capta-mb-2 { margin-bottom: 8px; }
.capta-mb-3 { margin-bottom: 16px; }
.capta-mb-4 { margin-bottom: 24px; }
.capta-mb-5 { margin-bottom: 48px; }
.capta-w-full { width: 100%; }
.capta-img-fluid { max-width: 100%; height: auto; }

.capta-sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}

.capta-label {
    display: block;
    margin: 4px 0 0;
    font-size: .85rem;
    font-weight: 600;
}
.capta-label.req::after { content: " *"; color: var(--cor-primaria); }
.capta-input,
.capta-select {
    display: block;
    width: 100%;
    padding: 10px 12px;
    font: inherit;
    color: var(--cor-escura);
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: var(--raio);
}
.capta-input:focus,
.capta-select:focus {
    outline: 2px solid rgba(var(--cor-primaria-rgb), .35);
    border-color: var(--cor-primaria);
}
.capta-hint { font-size: .75rem; text-align: center; margin: 4px 0 0; opacity: .75; }
.capta-check { display: flex; align-items: flex-start; gap: 8px; }
