/* ================================================================
   GTI Form Dados — complementos ao CSS dos formulários de pré-inscrição
   (usa as variáveis --pi-* definidas em gti-pre-inscricoes-form/assets/css/form.css)
   ================================================================ */

/* .gti-pi-field usa display:flex, que se sobrepõe ao atributo hidden */
.gti-pi-form [hidden] {
    display: none !important;
}

/* Campos preenchidos automaticamente e bloqueados
   (seletor mais específico que ".gti-pi-field input:not([type=radio]):not([type=checkbox])" do form.css) */
.gti-pi-form .gti-pi-field .gti-fd-bloqueado,
.gti-pi-form .gti-pi-field input.gti-fd-bloqueado:not([type="radio"]):not([type="checkbox"]) {
    background: var(--pi-bg-light, #f7f9fc);
    color: var(--pi-text, #2d3748);
    cursor: not-allowed;
    pointer-events: none;
}
.gti-pi-field select.gti-fd-bloqueado {
    appearance: none;
    -webkit-appearance: none;
}
.gti-pi-field select:disabled {
    background: var(--pi-bg-light, #f7f9fc);
    cursor: not-allowed;
}

/* O form.css tira a margem à última linha de cada secção; dentro do bloco da morada ela é necessária */
.gti-fd-morada > .gti-pi-row:last-child {
    margin-bottom: 1.25rem;
}

/* Código postal — lista de sugestões */
.gti-fd-cp-field {
    position: relative;
}
.gti-fd-cp-lista {
    position: absolute;
    top: calc(100% - 1.25rem);
    left: 0;
    z-index: 20;
    width: max(100%, 340px);
    max-height: 260px;
    overflow-y: auto;
    margin: 0;
    padding: 0.25rem 0;
    list-style: none;
    background: var(--pi-white, #fff);
    border: 1.5px solid var(--pi-border, #e4ebf2);
    border-radius: var(--pi-radius-sm, 8px);
    box-shadow: var(--pi-shadow-md, 0 8px 32px rgba(0, 70, 127, .13));
}
.gti-fd-cp-lista li {
    padding: 0.5rem 0.875rem;
    font-size: 0.875rem;
    cursor: pointer;
}
.gti-fd-cp-lista li span {
    color: var(--pi-text-muted, #6b7f93);
}
.gti-fd-cp-lista li:hover,
.gti-fd-cp-lista li.is-ativo {
    background: var(--pi-bg-light, #f7f9fc);
    color: var(--pi-primary, #00467f);
}

.gti-fd-cp-aviso {
    margin: -0.5rem 0 1.25rem;
    padding: 0.625rem 0.875rem;
    font-size: 0.875rem;
    background: var(--pi-warn-bg, #fffbeb);
    border-left: 3px solid var(--pi-warn-bdr, #f59e0b);
    border-radius: var(--pi-radius-sm, 8px);
}

/* Texto de ajuda por baixo dos campos */
.gti-fd-ajuda {
    margin: 0.375rem 0 0;
    font-size: 0.8125rem;
    color: var(--pi-text-muted, #6b7f93);
}

/* Cartão de Cidadão — 2 campos lado a lado */
.gti-fd-cc-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--pi-text, #2d3748);
}
.gti-fd-cc-campos {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 0.5rem;
}
