#contatoDiv {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center; /* centraliza o grid dentro da section */
    align-items: start;
    gap: 5%; /* espaço entre colunas */
    padding-bottom: 3em;
}

/* lado esquerdo */
#leftSide {
    position: relative;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
}

#leftSideText {
    position: absolute;
    top: 5%;
    text-align: right;
    color: #fff;
    background: #ffeabdb5;
    padding: 1em 2em 1em 20em;
    border-radius: 3px;
}

#leftSideText h2{
    font-size: 5em;
    color: #386641;
    margin: 10px;
}

#leftSideText h3{
    color: #828282;
}

#leftSide img {
    max-width: 100%;
    height: auto;
    display: block;
}


/* lado direito */
#rightSide {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: left;
}

#rightSide form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px 20px;
    width: 100%;
    max-width: 500px;
}

.form-group {
    display: flex;
    flex-direction: column;
}

#phoneNumber,
#email,
#userMessage,
label[for="phoneNumber"],
label[for="email"],
label[for="userMessage"],
#rightSide input[type="submit"] {
    grid-column: span 2;
}

/* Estilo inputs */
#rightSide input[type="text"],
#rightSide input[type="tel"],
#rightSide input[type="email"],
#rightSide textarea {
    padding: 8px;
    border: 1px solid #c0c0c0;
    border-radius: 6px;
    width: 100%;
    box-sizing: border-box;
}

#rightSide input[type="submit"] {
    margin-top: 10px;
    padding: 12px;
    border: none;
    border-radius: 6px;
    background-color: #F97A00;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

#rightSide input[type="submit"]:hover {
    background-color: #d86a00;
}

#rightSide h3{
    text-align: left;
    color: #386641;
}

#rightSide form label{
    color: black;
    font-weight: 500;
}

#sentEmailDiv {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    min-height: 65vh;
    padding: 20px 20px;
    background: #FFEABD;
    font-family: 'Arial', sans-serif;
    color: #333;
}

#sentEmailDiv h2 {
    font-size: 2.5rem;
    color: #386641;
    font-weight: 800;
    margin-bottom: 20px;
}

#sentEmailDiv h3 {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    color: #555;
}

#sentEmailDiv a {
    color: #F97A00; 
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s ease;
}

#sentEmailDiv a:hover {
    color: #386641; 
}



/* respons. mobile */
@media (max-width: 1090px) {
    #contatoDiv {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2em;
    }

    /* esconde a imagem */
    #leftSide img {
        display: none;
    }

    /* faz o texto de contato aparecer acima do form */
    #leftSide {
        width: 100%;
        align-items: center;
        justify-content: center;
        text-align: center;
        position: static; /* remove absolute positioning */
    }

    #leftSideText {
        position: static;
        background: none;
        padding: 0;
        text-align: center;
    }

    #leftSideText h2 {
        font-size: 3em; /* menor para mobile */
        margin-bottom: 0.3em;
    }

    #leftSideText h3 {
        color: #555;
        font-size: 1.2em;
    }

    /* ajusta o form */
    #rightSide {
        width: 100%;
    }

    #rightSide form {
        grid-template-columns: 1fr; /* uma coluna só */
        max-width: 90%;
    }

    /* garante que todos inputs/labels ocupem largura total */
    #phoneNumber,
    #email,
    #userMessage,
    label[for="phoneNumber"],
    label[for="email"],
    label[for="userMessage"],
    .form-group,
    #rightSide input[type="submit"] {
        grid-column: span 1;
    }
}

html, body { 
  overflow-x: hidden;
}

/* animacoes */

@media (prefers-reduced-motion: no-preference){

.contatoAnim{
  opacity: 0;
  filter: blur(5px);
  transform: translateX(-50%);
  transition: all 1s;
}

.show{
  opacity: 1;
  filter: blur(0); 
  transform: translateX(0);
}

}
