/* =============================================================
   Central de Contato — Estilos Públicos v1.1
   Variáveis injetadas via PHP sobrepõem o tema.
   ============================================================= */

/* Variáveis padrão no wrapper */
.cdc-form-wrapper {
    --cdc-primary:      #2563eb;
    --cdc-secondary:    #1e40af;
    --cdc-bg:           #ffffff;
    --cdc-text:         #1f2937;
    --cdc-text-muted:   #6b7280;
    --cdc-border:       #d1d5db;
    --cdc-border-focus: var(--cdc-primary);
    --cdc-btn-text:     #ffffff;
    --cdc-radius:       8px;
    --cdc-font:         inherit;
    --cdc-font-size:    16px;
    --cdc-pad:          11px 14px;
    --cdc-max-width:    640px;
    --cdc-width:        100%;
    --cdc-shadow:       0 2px 16px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.04);

    font-family: var(--cdc-font) !important;
    font-size:   var(--cdc-font-size) !important;
    width:       var(--cdc-width) !important;
    max-width:   var(--cdc-max-width) !important;
    margin:      0 auto !important;
    box-sizing:  border-box !important;
}

.cdc-form-wrapper *,
.cdc-form-wrapper *::before,
.cdc-form-wrapper *::after {
    box-sizing: inherit !important;
}

/* Título e subtítulo acima do card */
.cdc-form-wrapper .cdc-form-title {
    color:       var(--cdc-text) !important;
    font-size:   clamp(1.2rem, 3vw, 1.5rem) !important;
    font-weight: 700 !important;
    margin:      0 0 .35rem 0 !important;
    line-height: 1.3 !important;
    padding:     0 !important;
}

.cdc-form-wrapper .cdc-form-subtitle {
    color:      var(--cdc-text-muted) !important;
    font-size:  .9em !important;
    margin:     0 0 1.25rem 0 !important;
    padding:    0 !important;
}

/* Card do formulário — grid de 2 colunas */
.cdc-form-wrapper .cdc-contact-form {
    background:    var(--cdc-bg) !important;
    border-radius: var(--cdc-radius) !important;
    box-shadow:    var(--cdc-shadow) !important;
    padding:       2rem !important;
    display:       grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:           1.1rem !important;
    width:         100% !important;
    margin:        0 !important;
    border:        none !important;
}

/* Cada linha de campo */
.cdc-form-wrapper .cdc-contact-form .cdc-form-row {
    display:         flex !important;
    flex-direction:  column !important;
    flex-wrap:       nowrap !important;
    align-items:     flex-start !important;
    justify-content: flex-start !important;
    gap:             .35rem !important;
    float:           none !important;
    position:        static !important;
    margin:          0 !important;
    padding:         0 !important;
    min-width:       0 !important;
}

/* Largura dos campos */
.cdc-form-wrapper .cdc-contact-form .cdc-col-half {
    grid-column: span 1 !important;
}
.cdc-form-wrapper .cdc-contact-form .cdc-col-full {
    grid-column: span 2 !important;
}

/* Botão sempre ocupa linha inteira */
.cdc-form-wrapper .cdc-contact-form .cdc-submit-row {
    grid-column: span 2 !important;
}

/* Mobile: empilha tudo */
@media (max-width: 520px) {
    .cdc-form-wrapper .cdc-contact-form {
        grid-template-columns: 1fr !important;
    }
    .cdc-form-wrapper .cdc-contact-form .cdc-col-half,
    .cdc-form-wrapper .cdc-contact-form .cdc-col-full,
    .cdc-form-wrapper .cdc-contact-form .cdc-submit-row {
        grid-column: span 1 !important;
    }
}

/* Labels */
.cdc-form-wrapper .cdc-contact-form .cdc-form-row label {
    display:     block !important;
    float:       none !important;
    width:       auto !important;
    max-width:   100% !important;
    color:       var(--cdc-text) !important;
    font-size:   .875rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin:      0 !important;
    padding:     0 !important;
    text-align:  left !important;
    order:       0 !important;
}

.cdc-form-wrapper .cdc-required {
    color:      #ef4444 !important;
    font-size:  1em !important;
    margin-left: 2px !important;
}

/* Inputs, selects, textareas */
.cdc-form-wrapper .cdc-contact-form input[type="text"],
.cdc-form-wrapper .cdc-contact-form input[type="email"],
.cdc-form-wrapper .cdc-contact-form input[type="tel"],
.cdc-form-wrapper .cdc-contact-form textarea,
.cdc-form-wrapper .cdc-contact-form select {
    display:     block !important;
    float:       none !important;
    width:       100% !important;
    max-width:   100% !important;
    order:       1 !important;
    background:  var(--cdc-bg) !important;
    color:       var(--cdc-text) !important;
    border:      1.5px solid var(--cdc-border) !important;
    border-radius: calc(var(--cdc-radius) * .75) !important;
    padding:     var(--cdc-pad) !important;
    font-size:   var(--cdc-font-size) !important;
    font-family: var(--cdc-font) !important;
    line-height: 1.5 !important;
    outline:     none !important;
    transition:  border-color .15s ease, box-shadow .15s ease !important;
    -webkit-appearance: none !important;
    appearance:  none !important;
    margin:      0 !important;
    box-shadow:  none !important;
}

.cdc-form-wrapper .cdc-contact-form input[type="text"]::placeholder,
.cdc-form-wrapper .cdc-contact-form input[type="email"]::placeholder,
.cdc-form-wrapper .cdc-contact-form input[type="tel"]::placeholder,
.cdc-form-wrapper .cdc-contact-form textarea::placeholder {
    color:   var(--cdc-text-muted) !important;
    opacity: 1 !important;
}

.cdc-form-wrapper .cdc-contact-form input[type="text"]:focus,
.cdc-form-wrapper .cdc-contact-form input[type="email"]:focus,
.cdc-form-wrapper .cdc-contact-form input[type="tel"]:focus,
.cdc-form-wrapper .cdc-contact-form textarea:focus,
.cdc-form-wrapper .cdc-contact-form select:focus {
    border-color: var(--cdc-primary) !important;
    box-shadow:   0 0 0 3px rgba(37,99,235,.12) !important;
    outline:      none !important;
}

.cdc-form-wrapper .cdc-contact-form textarea {
    resize:     vertical !important;
    min-height: 120px !important;
}

/* Campo de itens */
.cdc-form-wrapper .cdc-itens-wrapper {
    display:        flex !important;
    flex-direction: column !important;
    gap:            .5rem !important;
    width:          100% !important;
}

.cdc-form-wrapper .cdc-itens-help {
    font-size: .8em !important;
    color:     var(--cdc-text-muted) !important;
    margin:    0 !important;
}

/* Erro inline */
.cdc-form-wrapper .cdc-field-error {
    color:      #ef4444 !important;
    font-size:  .8rem !important;
    min-height: 1em !important;
    display:    block !important;
    margin:     0 !important;
    padding:    0 !important;
    order:      2 !important;
}

/* Área de retorno AJAX */
.cdc-form-wrapper .cdc-messages-area {
    display:       none !important;
    border-radius: calc(var(--cdc-radius) * .75) !important;
    padding:       .75rem 1rem !important;
    font-size:     .9em !important;
    font-weight:   500 !important;
    line-height:   1.4 !important;
}

.cdc-form-wrapper .cdc-messages-area.cdc-success {
    display:    block !important;
    background: #f0fdf4 !important;
    color:      #166534 !important;
    border:     1.5px solid #bbf7d0 !important;
}

.cdc-form-wrapper .cdc-messages-area.cdc-error {
    display:    block !important;
    background: #fef2f2 !important;
    color:      #991b1b !important;
    border:     1.5px solid #fecaca !important;
}

/* Linha do botão */
.cdc-form-wrapper .cdc-contact-form .cdc-submit-row {
    flex-direction:  row !important;
    justify-content: flex-start !important;
    align-items:     center !important;
    margin-top:      .25rem !important;
    gap:             0 !important;
}

/* Botão */
.cdc-form-wrapper .cdc-submit-btn {
    display:         inline-flex !important;
    align-items:     center !important;
    justify-content: center !important;
    gap:             .45rem !important;
    background:      var(--cdc-primary) !important;
    color:           var(--cdc-btn-text) !important;
    border:          none !important;
    border-radius:   var(--cdc-radius) !important;
    padding:         .7rem 2rem !important;
    font-size:       var(--cdc-font-size) !important;
    font-weight:     600 !important;
    cursor:          pointer !important;
    min-width:       150px !important;
    line-height:     1.4 !important;
    transition:      background .15s ease, transform .1s ease, opacity .15s ease !important;
    text-decoration: none !important;
    box-shadow:      none !important;
    float:           none !important;
}

.cdc-form-wrapper .cdc-submit-btn:hover:not(:disabled) {
    background: var(--cdc-secondary) !important;
    transform:  translateY(-1px) !important;
}

.cdc-form-wrapper .cdc-submit-btn:active:not(:disabled) {
    transform:  translateY(0) !important;
}

.cdc-form-wrapper .cdc-submit-btn:disabled {
    opacity: .6 !important;
    cursor:  not-allowed !important;
}

/* Spinner de loading */
.cdc-form-wrapper .cdc-btn-loading {
    display: none !important;
}

.cdc-form-wrapper .cdc-btn-loading svg {
    animation: cdc-spin .75s linear infinite !important;
}

.cdc-form-wrapper .cdc-contact-form.cdc-sending .cdc-btn-loading {
    display: inline-flex !important;
}

.cdc-form-wrapper .cdc-contact-form.cdc-sending .cdc-btn-text {
    display: none !important;
}

@keyframes cdc-spin {
    to { transform: rotate(360deg); }
}

/* Honeypot — NUNCA visível para humanos */
.cdc-hp-field {
    display:        none !important;
    visibility:     hidden !important;
    position:       absolute !important;
    left:           -99999px !important;
    top:            -99999px !important;
    width:          0 !important;
    height:         0 !important;
    overflow:       hidden !important;
    opacity:        0 !important;
    pointer-events: none !important;
    tab-index:      -1 !important;
    margin:         0 !important;
    padding:        0 !important;
}

/* Responsivo */
@media (max-width: 520px) {
    .cdc-form-wrapper .cdc-contact-form {
        padding: 1.25rem !important;
    }

    .cdc-form-wrapper .cdc-submit-btn {
        width: 100% !important;
    }
}
