a {
    border-radius: 16px;
    border: 2px solid #af133c;
    padding: 4px 8px;
    background-color: #3D5D91;
    text-align: center;
    text-decoration: none;
    color: #F2DCDB;
}
body {
    background-color: #69829F;
    display: flex;
    flex-direction: column;
    justify-content: start;
    height: 100vh;
    align-items: center;
    margin-top: 40px;
    color: #F2DCDB;
}
*{
    margin: 0;
}
.botoes, .icones {
    display: flex;
    flex-direction: row;
    gap: 8px;
}
section {
    display: flex;
    flex-direction: row;
    gap: 32px;
    max-width: 100%;
    margin: 32px;

}
section img {
    width: 30%;
    border: 3px solid #F2AEBC;
}
section p {
    width: 80%;
    margin: 12px;
}
.caixa-texto {
    border: 2px solid #af133c;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 8px;
}
hr {
    border: 1px solid #F2AEBC;
    width: 80%;
    margin: 8px 0 ;
    margin-bottom: 20px;
}
.icones img{
    width: 32px;
    filter: invert(1);
}
.icones {
    padding-bottom: 40px;
}

.header {
    text-align: center;
    margin-bottom: 12px;
    color: #840e2d;
}   
.logo {
    width: 120px;
    margin-bottom: -30px;
    margin-top: -30px;
}
.portfolio {
    display: flex;
    /* grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); */
    flex-direction: column;
    gap: 20px;
    align-items: center;
    justify-content: center;
    padding: 10px;

}
.portfolio p {
    text-align: center;
}
.portfolio-imgs {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}
.portfolio img {
    width: 400px;
    height: 400px;
    object-fit: cover;
    border-radius: 12px;
    cursor: pointer;
     cursor: zoom-in;
    transition: transform 0.3s ease;

}
.portfolio img:hover {
    transform: scale(1.03);
}
h2 {
    color: #840e2d;
    
}
/* Modal */
#modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(10px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 999;
  cursor: zoom-out;
}

#modal img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  border-radius: 12px;
    animation: zoomIn 0.3s ease;
}
@keyframes zoomIn {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

@media screen and (max-width: 768px) {
    section {
        flex-direction: column;
        align-items: center;
    }
    section img {
        width: 100%;
    }
    .texto {
        width: 90%;
    }
    .icones img {
        width: 24px;
    }
    
}