/* ============================================================
   PÁGINA ANUNCIAR — Terra dos Cristais
   ============================================================ */

/* ------------------------------------------------------------
   Vitrine do cristal
   ------------------------------------------------------------ */
.anunciar-hero {
    background-color: var(--color-cream);
    padding-block: var(--space-16);
    text-align: center;
}

.anunciar-hero__inner {
    max-width: 760px;
}

/* Moldura de fundo NEUTRO (tom médio): mantém legíveis tanto o
   cristal preto quanto o branco, sem apagar os tons de cor. */
.anunciar-crystal-frame {
    width: 300px;
    height: 300px;
    max-width: 70vw;
    max-height: 70vw;
    margin: 0 auto var(--space-8);
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 50% 42%, #8a857f 0%, #625d57 100%);
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.22),
        inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

/* Empilha os 6 ícones no mesmo ponto; cada um acende no seu turno. */
.anunciar-crystal {
    position: relative;
    width: 62%;
    aspect-ratio: 1 / 1;
}

.anunciar-crystal__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    /* Ciclo total = 6 passos × 0.15s = 0.9s (troca bem rápida). */
    animation: tdc-crystal-cycle 0.9s linear infinite;
    animation-delay: calc(var(--i) * 0.15s);
}

/* Cada imagem fica visível só durante 1/6 do ciclo (0 → 16.66%). */
@keyframes tdc-crystal-cycle {
    0%      { opacity: 1; }
    16.66%  { opacity: 1; }
    16.67%  { opacity: 0; }
    100%    { opacity: 0; }
}

/* Acessibilidade: quem pediu menos movimento vê o cristal parado. */
@media (prefers-reduced-motion: reduce) {
    .anunciar-crystal__img {
        animation: none;
    }
    .anunciar-crystal__img:first-child {
        opacity: 1;
    }
}

.anunciar-hero__title {
    color: var(--color-primary);
    margin-bottom: var(--space-4);
}

.anunciar-hero__text {
    color: var(--color-dark);
    font-size: var(--text-lg);
    line-height: 1.6;
}

/* ------------------------------------------------------------
   Formulário
   ------------------------------------------------------------ */
.anunciar-form-section {
    padding-block: var(--space-16);
}

.anunciar-form-section__inner {
    max-width: 820px;
}

.anunciar-form__heading {
    text-align: center;
    color: var(--color-primary);
    margin-bottom: var(--space-8);
}

.anunciar-form__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-5);
}

.anunciar-field {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.anunciar-field--full {
    margin-top: var(--space-5);
}

.anunciar-field > span {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-dark);
}

.anunciar-field input,
.anunciar-field select,
.anunciar-field textarea {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-family: var(--font-sans);
    font-size: var(--text-base);
    background-color: var(--color-white);
    color: var(--color-dark);
}

.anunciar-field input:focus,
.anunciar-field select:focus,
.anunciar-field textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.12);
}

.anunciar-field textarea {
    resize: vertical;
}

.anunciar-form__submit {
    margin-top: var(--space-8);
    width: 100%;
}

/* Honeypot: fora da tela, invisível para o usuário. */
.anunciar-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Mensagens de retorno */
.anunciar-alert {
    padding: var(--space-4) var(--space-5);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-8);
    text-align: center;
    font-weight: 600;
}

.anunciar-alert--ok {
    background-color: #e7f5ec;
    color: #1c6b3a;
    border: 1px solid #b7e0c6;
}

.anunciar-alert--erro {
    background-color: #fdeaea;
    color: #a11616;
    border: 1px solid #f3c0c0;
}

@media (max-width: 640px) {
    .anunciar-form__grid {
        grid-template-columns: 1fr;
    }
}
