/* =============================================================
   STI CONTACTOS - ESTILOS COMPLETOS (TRANSPARENT & ROUNDED)
   ============================================================= */

/* 1. Contentor Principal e Accordion */
.sti-cnt-item { 
    border-bottom: 1px solid rgba(128,128,128,0.2); 
    margin-bottom: 10px; 
    border-radius: 5px; 
    overflow: hidden; 
}

.sti-cnt-title { 
    cursor: pointer; 
    padding: 15px 20px; 
    background: rgba(128,128,128,0.08); 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    transition: 0.3s; 
}

.sti-cnt-title:hover { 
    background: rgba(128,128,128,0.15); 
}

.sti-title { 
    font-weight: bold; 
    font-size: 1.1em; 
    color: inherit; 
}

.sti-active .sti-cnt-title { 
    color: #29abe2 !important; 
    background: rgba(41,171,226,0.12) !important; 
}

/* 2. Layout Geral da Grelha */
.sti-cnt-grid { 
    display: flex; 
    flex-wrap: wrap; 
}

.sti-cnt-info { 
    flex: 0 0 35%; 
    max-width: 35%; 
    padding: 25px; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
}

/* 3. Imagem - Estilos Aplicados a Desktop e Mobile */
.sti-cnt-image { 
    flex: 0 0 65%; 
    max-width: 65%; 
    height: 300px; /* Altura padrão para Desktop */
    background: transparent !important; /* Fundo agora é transparente */
    padding: 10px; /* Margem interna de 10px aplicada globalmente */
    display: flex;
    align-items: center;
    justify-content: center;
}

.sti-cnt-image img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    display: block;
    border-radius: 15px; /* Cantos redondos aplicados globalmente */
}

/* 4. Listagem de Contactos e Ícones */
.sti-contact-list { 
    display: flex; 
    flex-direction: column; 
    gap: 15px; 
}

.cnt-row { 
    display: flex; 
    align-items: center; 
    gap: 12px; 
}

.cnt-row i { 
    color: #29abe2; 
    width: 18px; 
    text-align: center; 
}

.cnt-row a { 
    color: inherit; 
    text-decoration: none; 
}

.tarifario-note { 
    font-size: 0.75em; 
    opacity: 0.7; 
    margin-left: 30px; 
    margin-top: 2px; 
}

/* 5. Ajustes Responsivos (Tablets) */
@media (max-width: 991px) { 
    .sti-cnt-info { flex: 0 0 45%; max-width: 45%; }
    .sti-cnt-image { flex: 0 0 55%; max-width: 55%; height: 250px; }
}

/* 6. Ajustes Responsivos (Mobile) */
@media (max-width: 767px) {
    .sti-cnt-grid {
        flex-direction: column; 
    }

    .sti-cnt-info { 
        flex: 0 0 100%; 
        max-width: 100%; 
        order: 1; 
        padding: 20px;
    }

    .sti-cnt-image { 
        flex: 0 0 100%; 
        max-width: 100%; 
        order: 2; 
        height: auto; /* No mobile, a altura adapta-se à imagem */
    }

    .sti-cnt-image img { 
        height: auto; /* Mantém a proporção original */
    }
}