body{
    width: 100%;
    padding: 0;
    margin: 0;
    font-family: 'Roboto', sans-serif;
}
.main{
    width: 100%;
    min-height: 100vh;
    padding: 0;
    margin: 0;
    /* background-color: #063559; */
    background-color: var(--color-primary-dark);
}

.primaryTitles{
    color: var(--color-surface);
}

.secondaryTitles {
    color: var(--color-primary-dark);
    font-weight: 700;
    margin-bottom: 1rem;
}

#success-alert{
    position: absolute;
    top: 90%;
    right: 0;
    z-index: 99;
}

/* Titles color -------------------------- */

.contentTitle, .myWorksTitle, .aboutMeTitle, .contactMeTitle, .contactMeSubTitle, .personalSitetitle, .companySitetitle{
    /* color: #62ff88; */
    color: var(--color-surface);
}

.form-label{
    /* color: #62ff88; */
    color: var(--color-surface);
}

.personalSiteText, .companySiteText{
    text-align: justify;
}

.myFooter{
    /* TODO: Posicionar o rodapé no fim de qualquer página */
}

/* Article styles */

.article-img{
    height: 300px;
    background-color: black;
}

/* ---------------------------LOGIN PAGE--------------------------- */

.gradient-custom-2 {
    /* fallback for old browsers */
    background: #fccb90;
    
    /* Chrome 10-25, Safari 5.1-6 */
    background: -webkit-linear-gradient(to right, #20532d , #665c2d, #39677c);
    
    /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    background: linear-gradient(to right, #20532d , #665c2d, #39677c);
    }
    
    /* Linha separando opção de login */
    
    .separator {
      display: flex;
      align-items: center;
      text-align: center;
    }
    
    .separator::before,
    .separator::after {
      content: '';
      flex: 1;
      border-bottom: 1px solid #000;
    }
    
    .separator:not(:empty)::before {
      margin-right: .25em;
    }
    
    .separator:not(:empty)::after {
      margin-left: .25em;
    }
    
    @media (min-width: 768px) {
    .gradient-form {
    height: 100vh !important;
    }
    }
    @media (min-width: 769px) {
    .gradient-custom-2 {
    border-top-right-radius: .3rem;
    border-bottom-right-radius: .3rem;
    }
    }


    /* botão cancelar estilo */

.btn-cancel {
    display: block;
    text-align: center;
    width: 100%;
    margin-top: 0.75rem;
    padding: 0.75rem 1.5rem;
    border-radius: 0.6rem;
    background-color: #ccc;
    color: #333;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.3s ease, transform 0.1s ease;
}

.btn-cancel:hover {
    background-color: #b0b0b0;
    transform: translateY(-2px);
}

.btn-cancel:active {
    transform: translateY(0);
}

/* Estilo QR-CODE */
/* --- BOTÃO FIXO --- */
.qr-btn {
    position: fixed;
    bottom: 80px;
    right: 25px;
    background: var(--accent-color, #2ecc71);
    color: white;
    border: none;
    font-size: 28px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    cursor: pointer;
    z-index: 1050;
    transition: all 0.3s ease;
}
.qr-btn:hover {
    transform: scale(1.1);
    background: var(--accent-hover, #27ae60);
}

/* --- MODAL --- */
.qr-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.75);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1100;
}

/* --- CONTEÚDO DO MODAL --- */
.qr-modal-content {
    background: var(--background, #ffffff);
    color: var(--text-color, #333);
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
    width: 90%;
    max-width: 360px;
    text-align: center;
    animation: fadeIn 0.3s ease;
    position: relative;
}

/* --- BOTÃO DE FECHAR --- */
.close-btn {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 22px;
    cursor: pointer;
    color: var(--text-color, #333);
    transition: color 0.3s;
}
.close-btn:hover {
    color: var(--accent-color, #2ecc71);
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.9); }
    to   { opacity: 1; transform: scale(1); }
}