/* =========================
   Contacto
   ========================= */

.contact{
    background:var(--soft-color);
    border-top:1px solid rgba(0,0,0,.06);
}

form{
    display:flex;
    flex-direction:column;
    gap:1rem;

    max-width:720px;
    padding-right:1rem;
}

input,
textarea{
    width:100%;
    box-sizing:border-box;

    padding:.65rem .75rem;

    border:1px solid rgba(0,0,0,.15);
    border-radius:.5rem;

    font:inherit;
}

input:focus,
textarea:focus{
    outline:2px solid var(--highlight-color);
    outline-offset:2px;
}


.contact form .btn,
.contact form button{
    min-width:18rem;

    padding:1rem 2rem;

    font-size:1.05rem;
    font-weight:600;

    border-radius:.75rem;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.contact form .btn:hover,
.contact form button:hover{
    transform:translateY(-2px);

    box-shadow:0 10px 24px rgba(0,0,0,.12);
}

/* ==========================================================
   CUERPO DEL CONTACTO
   ========================================================== */

.contact__body{
    display:grid;
    grid-template-columns:
        minmax(0,1.45fr)
        minmax(300px,.75fr);

    gap:clamp(2rem,5vw,4rem);
    align-items:start;

    margin-top:2.5rem;
}


/* ==========================================================
   TARJETA LATERAL
   ========================================================== */

.contact__next{
    align-self:start;
    transform: translateY(-6rem);

    padding:clamp(1.5rem,3vw,2rem);

    border-radius:1rem;

    background: var(--menta-accent-soft);
    border:1px solid rgba(22,102,109,.15);

    box-shadow:
        0 20px 50px var(--menta-accent-soft),
        0 8px 20px var(--border-subtle);
}

.contact__next h3{
    margin:0 0 1.5rem;

    color:inherit;

    font-size:clamp(1.35rem,2vw,1.8rem);
    line-height:1.2;
}


/* ==========================================================
   PASOS
   ========================================================== */

.contact__steps{
    display:grid;
    gap:1.4rem;

    margin:0;
    padding:0;

    list-style:none;
    counter-reset:contact-step;
}

.contact__steps li{
    position:relative;

    min-height:2rem;
    padding-left:3rem;

    counter-increment:contact-step;
}

.contact__steps li::before{
    content:counter(contact-step);

    position:absolute;
    left:0;
    top:0;

    display:grid;
    place-items:center;

    width:2rem;
    height:2rem;

    border-radius:50%;

    background:var(--menta-accent);
    color:var(--surface-color);

    font-size:.9rem;
    font-weight:700;
}

.contact__steps strong,
.contact__steps span{
    display:block;
}

.contact__steps strong{
    margin-bottom:.25rem;

    color:inherit;

    font-size:1rem;
    font-weight:700;
    line-height:1.3;
}

.contact__steps span{
    color:inherit;

    opacity:.82;

    font-size:.92rem;
    line-height:1.45;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width:900px){

    .contact__body{
        grid-template-columns:1fr;
    }

    .contact__next{
        max-width:680px;
    }

    form{
        padding-right:0;
    }

}

@media (max-width: 900px) {
  .contact__next {
    max-width: 680px;
    transform: none;
  }
}